/* CookieLab — site, style « v7 ter » : carré, structuré, vert très sombre */
:root{
  --bg:#FFFFFF;--alt:#EFEFEC;--ink:#10151F;--ink-2:#4A5260;--muted:#6B7280;
  --line:#E2E3E0;--line-2:#D3D5D2;
  --dk:#1C1F22;--dk-2:#25292D;--dk-line:#33383D;--dk-text:#F2F2EF;--dk-muted:#A6ABB0;--dk-label:#F2A66B;
  --sauge:#ECEBE8;--sauge-2:#C9CBC8;--sauge-3:#B4581A;--sable:#FCE9DA;--sable-2:#D9A577;--lilas:#E9E7E3;--lilas-2:#A794BE;--terra:#E3B4A0;--terra-2:#D4927A;
  --accent:#B4581A;--signal-encre:#B4581A;--mark:#E8823A;--dk-rgb:28,31,34;--lab-rgb:242,166,107;
  --f-sans:'Manrope','Helvetica Neue',Arial,sans-serif;
  --f-mono:var(--f-sans);
  --f-serif:'Instrument Serif',Georgia,serif;
  --wrap:1240px;--pad:40px;
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#FFFFFF}}
:root[data-theme="dark"]{--bg:#FFFFFF}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px);-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.dk :focus-visible{outline-color:var(--dk-text)}
p{margin:0}h1,h2,h3{margin:0;font-weight:500}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#FFF;padding:12px 16px;z-index:100}
.skip:focus{left:12px;top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ph{display:inline-block;font-family:var(--f-mono);font-size:.8em;line-height:1.3;color:var(--accent);background:var(--alt);border:1px dashed var(--sauge-2);padding:1px 7px;vertical-align:middle}
.dk .ph{color:var(--dk-label);background:var(--dk-2);border-color:var(--accent)}
.topbar{background:var(--dk);font-size:12px;color:var(--dk-muted)}
.topbar__in{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.topbar a{color:var(--dk-text)}
.hdr{position:sticky;top:0;z-index:30;background:#FAF8F4;color:#0A0A0A;border-bottom:1px solid #E6E2DA;padding-top:env(safe-area-inset-top,0px);margin-top:calc(-1 * env(safe-area-inset-top,0px))}
.hdr :focus-visible,.mnav :focus-visible{outline-color:#0A0A0A}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.logo{display:inline-flex;align-items:flex-end;gap:2px;text-decoration:none;color:#0A0A0A}
.logo span{font-size:28px;font-weight:600;letter-spacing:-.055em;line-height:1}
.logo svg{width:11px;height:11px;margin-bottom:4px;fill:currentColor}
.logo:hover{color:#0A0A0A}
.nav{display:flex;align-items:center;gap:6px}
.nav>a,.dd__btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;font:inherit;font-size:15px;color:#0A0A0A;background:none;border:0;cursor:pointer;text-decoration:none;transition:background-color .15s,color .15s}
.nav>a:hover,.dd__btn:hover{color:#0A0A0A;background:#EFECE5}
.nav>a[aria-current="page"]{font-weight:600}
.dd__btn::after{content:"\25BE";font-size:11px}
.dd__btn[aria-expanded="true"],.dd__btn[aria-expanded="true"]:hover{background:#0A0A0A;color:#FFFFFF}
.dd__btn[aria-expanded="true"]::after{content:"\25B4"}
.dd{position:static}
.dd__panel{position:absolute;top:100%;left:0;right:0;background:#FFFFFF;color:#0A0A0A;border-bottom:1px solid #E6E2DA;box-shadow:0 24px 48px rgba(0,0,0,.18);opacity:0;visibility:hidden;translate:0 -8px;transition:opacity .2s,translate .2s,visibility .2s;max-height:calc(100vh - 120px);overflow-y:auto}
.dd.is-open .dd__panel{opacity:1;visibility:visible;translate:0 0}
.dd__panel a{color:#0A0A0A}
.mm{max-width:var(--wrap);margin:0 auto;padding:48px var(--pad) 40px}
.mm__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 300px;gap:40px}
.mm__col{display:flex;flex-direction:column;gap:2px}
.mm__head{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.mm__ico{width:32px;height:32px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.mm__ico svg{width:18px;height:18px;fill:none;stroke:#0A0A0A;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mm__ico--dark svg{stroke:#FFFFFF}
.mm__item{display:block;padding:8px 0;font-family:var(--f-mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:#0A0A0A;line-height:1.35}
a.mm__item:hover{color:var(--signal-encre)}
.mm__item--hl{background:#F2F1EE;border-radius:8px;padding:8px 12px;margin:0 -12px;font-weight:500}
.mm__item--soon{color:#8A8984}
.mm__item i,.mn__enjeu i{font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--f-sans);font-size:11px;margin-left:8px;border:1px solid #D8D4CC;border-radius:999px;padding:1px 7px;color:#6E6D67;white-space:nowrap}
.mm__offer{position:relative;overflow:hidden;border-radius:22px;padding:28px;color:#FFFFFF !important;text-decoration:none;display:flex;flex-direction:column;gap:14px;min-height:340px}
.mm__tex{position:absolute;inset:0;width:100%;height:100%}
.mm__offer>*:not(.mm__tex){position:relative}
.mm__tag{align-self:flex-start;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--sauge);color:#0A0A0A;padding:4px 8px;border-radius:6px}
.mm__offer b{font-size:24px;letter-spacing:-.03em;line-height:1.15}
.mm__offer-txt{font-size:15px;line-height:1.5;color:#D5E0DB}
.mm__offer-go{margin-top:auto;font-size:15px;font-weight:500}
.mm__offer:hover .mm__offer-go{text-decoration:underline;text-underline-offset:4px}
.mm__bar{background:#FAF8F4}
.mm__bar-in{max-width:var(--wrap);margin:0 auto;padding:18px var(--pad);display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.mm__bar-k{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5E5D59;margin-right:4px}
.mm__chip{font-size:14px;text-decoration:none;border:1px solid #D8D4CC;border-radius:999px;padding:8px 14px;background:#FFFFFF;color:#0A0A0A}
a.mm__chip:hover{border-color:#0A0A0A}
.mm__chip--soon{color:#8A8984}
.mm__simple{display:grid;grid-template-columns:1fr 2fr;gap:48px}
.mm__simple-t{font-size:24px;font-weight:600;letter-spacing:-.02em}
.mm__simple-i{margin-top:8px;color:#5E5D59;max-width:320px}
.mm__simple-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 40px;align-content:start}
.hdr__cta{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:#0A0A0A;color:#FFFFFF;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}
.hdr__cta:hover{background:#2A2A28;color:#FFFFFF}
.burger{display:none;width:46px;height:46px;border:1px solid #D8D4CC;border-radius:12px;background:#FFFFFF;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.burger span{width:18px;height:2px;background:#0A0A0A;transition:transform .2s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Menu mobile : arborescence */
.mnav{position:fixed;inset:0;z-index:25;background:#FFFFFF;color:#0A0A0A;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 124px) 20px calc(env(safe-area-inset-bottom,0px) + 110px)}
.mnav[hidden]{display:none}
.mnav a{color:#0A0A0A;text-decoration:none}
.mn__sec{font-family:var(--f-mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;margin:0;min-height:44px;display:flex;align-items:center}
.mn__sec--sep{border-top:1px dashed #CFCBC2;margin-top:26px;padding-top:12px}
.mn__group{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;letter-spacing:-.02em;margin:18px 0 4px}
.mn__group i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.mn__items{padding-left:20px}
.mn__items .mm__item{min-height:40px;display:flex;align-items:center;padding:0;margin:0;background:none}
.mn__enjeux{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.mn__enjeu{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;border-radius:12px;background:#F2F1EE;font-size:15px}
.mn__enjeu--soon{color:#8A8984}
.mn__links{border-top:1px dashed #CFCBC2;margin-top:26px;display:flex;flex-direction:column}
.mn__links a{display:flex;align-items:center;min-height:56px;border-bottom:1px dashed #CFCBC2;font-family:var(--f-mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.mnav__cta{position:fixed;left:0;right:0;bottom:0;background:#FFFFFF;border-top:1px dashed #CFCBC2;padding:14px 20px calc(env(safe-area-inset-bottom,0px) + 18px);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#3A3A37}
.mn__pill{display:inline-flex;align-items:center;min-height:50px;padding:0 20px;border-radius:999px;background:#0A0A0A;color:#FFFFFF !important;font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase}

/* Boutons */
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;font-size:14px;font-weight:500;text-decoration:none;border:1px solid var(--ink);cursor:pointer;font-family:var(--f-sans);transition:background-color .2s,color .2s,border-color .2s}
.btn--primary{background:var(--ink);color:#FFF}.btn--primary:hover{background:var(--accent);border-color:var(--accent);color:#FFF}
.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:#FFF}
.dk .btn--primary{background:var(--dk-text);color:var(--dk);border-color:var(--dk-text)}.dk .btn--primary:hover{background:var(--sauge);border-color:var(--sauge);color:var(--dk)}
.dk .btn--ghost{border-color:var(--dk-line);color:var(--dk-text)}.dk .btn--ghost:hover{background:var(--dk-text);color:var(--dk)}
.link{font-weight:500;text-underline-offset:4px;text-decoration-thickness:1px}
.actions{display:flex;flex-wrap:wrap;gap:8px}

/* Mise en page */
.sec{padding:80px 0 88px}
.alt{background:var(--alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dk{background:var(--dk);color:var(--dk-text)}
.dk a{color:var(--dk-text)}.dk a:hover{color:var(--dk-label)}
.lab{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--accent)}
.lab i{width:8px;height:8px;background:var(--sauge-2);display:inline-block}
.dk .lab{color:var(--dk-label)}
.row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:40px}
.rail{border-top:2px solid var(--ink);padding-top:14px;font-size:13px;font-weight:500;align-self:start;position:sticky;top:100px}
.rail span{display:block;font-family:var(--f-mono);font-size:11px;color:var(--muted);margin-bottom:4px}
.dk .rail{border-color:var(--dk-text)}.dk .rail span{color:var(--dk-muted)}
.main{border-top:1px solid var(--line);padding-top:14px;min-width:0}
.dk .main{border-color:var(--dk-line)}
.h1{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.03em;line-height:1.2}
.h2{font-size:clamp(22px,2vw,27px);letter-spacing:-.025em;line-height:1.2}
.h3{font-size:18px;letter-spacing:-.015em;line-height:1.3}
.lead{color:var(--ink-2);max-width:620px}
.dk .lead,.dk .muted{color:var(--dk-muted)}
.muted{color:var(--muted)}
.head{display:flex;flex-wrap:wrap;gap:16px 48px;justify-content:space-between;align-items:flex-end}
.head>*:first-child{flex:1 1 480px;max-width:620px}
.head>p{flex:0 1 380px;font-size:14px;color:var(--ink-2)}
.dk .head>p{color:var(--dk-muted)}
.crumbs{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.crumbs span:last-child{color:var(--ink)}

/* Photos (emplacements) */
.ph-img{position:relative;background:#CFD6D2;overflow:hidden;min-height:120px}
.ph-img::before,.ph-img::after{content:"";position:absolute;width:14px;height:14px;border:solid #FFF}
.ph-img::before{top:10px;left:10px;border-width:1px 0 0 1px}
.ph-img::after{top:10px;right:10px;border-width:1px 1px 0 0}
.ph-img span{position:absolute;left:10px;bottom:10px;right:10px;font-size:11px;color:var(--ink);background:rgba(255,255,255,.92);padding:4px 8px;width:max-content;max-width:calc(100% - 20px)}
.ph-img.b{background-color:#C3CCC7}.ph-img.c{background-color:#D7DDD9}.ph-img.d{background-color:#9DA8A3}

/* Hero */
.hero{padding:56px 0 52px}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:48px;align-items:center}
.hero__grid .lead{margin-top:16px}
.hero__grid .actions{margin-top:24px}
.hero h1{margin-top:14px}
.mosaic{display:grid;grid-template-columns:1.3fr 1fr;gap:8px;height:430px}
.mosaic>div:last-child{display:grid;grid-template-rows:1fr 1fr;gap:8px}
.hero__ui{position:relative;height:430px;background-color:var(--sauge);background-image:var(--noise),radial-gradient(circle at 20% 20%,var(--sauge-2),transparent 55%),radial-gradient(circle at 85% 85%,var(--sable),transparent 55%);display:flex;align-items:center;justify-content:center;padding:40px}
.hero__ui--dk{background-color:var(--dk-2);background-image:var(--noise),radial-gradient(circle at 20% 20%,var(--accent),transparent 55%),radial-gradient(circle at 85% 85%,var(--dk),transparent 55%)}
.hero__ui--sable{background-color:var(--sable);background-image:var(--noise),radial-gradient(circle at 20% 20%,var(--sable-2),transparent 55%),radial-gradient(circle at 85% 85%,var(--terra),transparent 55%)}
.hero__ui--lilas{background-color:var(--lilas);background-image:var(--noise),radial-gradient(circle at 20% 20%,var(--lilas-2),transparent 55%),radial-gradient(circle at 85% 85%,var(--sauge),transparent 55%)}
.js .hero__ui{animation:drift 16s ease-in-out infinite alternate;background-size:220px 220px,150% 150%,150% 150%}
@keyframes drift{to{background-position:0 0,40% 30%,60% 70%}}
.ui{width:100%;max-width:440px;background:#FFF;box-shadow:0 24px 48px rgba(16,21,31,.16);font-size:12.5px}
.js .ui{animation:float 7s ease-in-out infinite}
@keyframes float{50%{translate:0 -8px}}
.ui__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid #EEF1EF}
.ui__bar i{width:7px;height:7px;background:#CFD6D2}
.ui__bar b{margin-left:8px;flex:1;font-weight:600}
.ui__bar small{font-family:var(--f-mono);font-size:10.5px;color:var(--muted)}
.ui__body{padding:16px;display:flex;flex-direction:column;gap:10px}
.ui__k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ui__k div{background:var(--alt);padding:10px}.ui__k div:nth-child(2){background:var(--sauge)}.ui__k div:nth-child(3){background:var(--sable)}
.ui__k span{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui__k b{display:block;font-size:18px;font-weight:600}
.ui__r{border:1px solid #EEF1EF}
.ui__r div{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:8px;padding:8px 10px;border-top:1px solid #EEF1EF}
.ui__r div:first-child{border-top:0}
.ui__r em{font-style:normal;color:var(--accent);text-align:right}

/* Logos clients */
.logos{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.logos__in{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.logos__in>div{display:flex;align-items:center;justify-content:center;min-height:84px;border-right:1px solid var(--line);color:#2B3330;filter:grayscale(1);opacity:.75;transition:opacity .2s;text-align:center;padding:8px}
.logos__in>div:last-child{border-right:0}
.logos__in>div:hover{opacity:1}
.logos__ph{font-family:var(--f-mono);font-size:11px;color:#8A93A3}

/* Panneaux d'accompagnement (sans script) */
.pans{display:flex;margin-top:36px;border:1px solid var(--dk-line)}
.pan{position:relative;overflow:hidden;flex:1 1 0;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;text-decoration:none;color:var(--dk-text);background:var(--dk-2);border-right:1px solid var(--dk-line);transition:flex-grow .6s cubic-bezier(.2,.8,.2,1),color .3s}
.pan:last-child{border-right:0}
.pan::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;background-image:var(--noise),radial-gradient(circle at 25% 25%,var(--c1),transparent 60%),radial-gradient(circle at 80% 85%,var(--c2),transparent 60%);background-color:var(--c0)}
.pan>*{position:relative}
.pan__n{position:absolute;top:24px;left:24px;font-family:var(--f-mono);font-size:11px;opacity:.7}
.pan__t{font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.pan__d{max-height:0;opacity:0;overflow:hidden;font-size:14px;line-height:1.55;max-width:420px;transition:max-height .5s,opacity .4s,margin .4s}
.pan__go{max-height:0;opacity:0;overflow:hidden;font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:4px;transition:max-height .5s,opacity .4s}
.pan.is-on,.pans:not(:hover):not(:focus-within) .pan:first-child{flex-grow:3;color:var(--ink)}
.pan.is-on::before,.pans:not(:hover):not(:focus-within) .pan:first-child::before{opacity:1}
.pan.is-on .pan__d,.pans:not(:hover):not(:focus-within) .pan:first-child .pan__d{max-height:200px;opacity:1;margin-top:12px}
.pan.is-on .pan__go,.pans:not(:hover):not(:focus-within) .pan:first-child .pan__go{max-height:40px;opacity:1;margin-top:14px}
.pan:hover,.pan:focus-visible{flex-grow:3;color:var(--ink)}
.pan:hover::before,.pan:focus-visible::before{opacity:1}
.pan:hover .pan__d,.pan:focus-visible .pan__d{max-height:200px;opacity:1;margin-top:12px}
.pan:hover .pan__go,.pan:focus-visible .pan__go{max-height:40px;opacity:1;margin-top:14px}
.pan:hover,.dk .pan:hover{color:var(--ink)}

/* Chapitres de la vidéo */
.chapters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:40px}
.chap{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;font-size:15px;color:var(--muted);cursor:pointer;text-align:left}
.chap[aria-selected="true"]{color:var(--ink);font-weight:500}
.chap span{font-family:var(--f-mono);font-size:12px}
.video{position:relative;aspect-ratio:16/9;background:#9DA8A3}
.video button{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border:0;background:#FFF;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* Savoir-faire : liste + écran */
.skills{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;margin-top:32px;align-items:start}
.screen{position:relative;height:500px;overflow:hidden;background-image:var(--noise),radial-gradient(circle at 20% 20%,var(--c1,var(--sauge-2)),transparent 55%),radial-gradient(circle at 85% 85%,var(--c2,var(--sable)),transparent 55%);background-color:var(--c0,var(--sauge));transition:background-color .6s}
.screen .ui{position:absolute;left:10%;right:10%;top:12%;width:auto;max-width:none;bottom:0}
.screen__nav{position:absolute;right:12px;top:12px;display:flex;gap:4px}
.screen__nav button{width:40px;height:40px;border:0;background:#FFF;color:var(--ink);font:inherit;cursor:pointer}
.screen__nav button:hover{background:var(--ink);color:#FFF}
.sk{border-bottom:1px solid var(--line)}
.sk__btn{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font:inherit;font-size:16px;font-weight:500;color:var(--muted);padding:13px 0 13px 18px}
.sk__body{display:none;padding:0 0 14px 18px;position:relative}
.sk__bar{position:absolute;left:0;top:-38px;bottom:14px;width:2px;background:var(--line)}
.sk__bar i{display:block;width:2px;height:0;background:var(--ink)}
.sk.is-on .sk__btn{color:var(--ink)}
.sk.is-on .sk__body{display:block}
.sk__body p{font-size:13.5px;color:var(--ink-2)}
.sk__body a{display:inline-block;margin-top:8px;font-size:13px;font-weight:500;text-underline-offset:4px}
.screen [data-screen]{display:none}
.screen [data-screen].is-on{display:flex}

/* Carrousel de témoignages */
.carousel{overflow:hidden;margin-top:32px}
.carousel__track{display:flex;column-gap:2%;width:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1);will-change:transform}
.qcard{flex:0 0 82%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);min-height:380px;background:var(--dk-2);opacity:.45;transition:opacity .6s}
.qcard.is-on{opacity:1}
.qcard__b{padding:28px 30px;display:flex;flex-direction:column}
.qcard blockquote{margin:0;font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.35}
.qcard__m{margin-top:22px;padding-top:16px;border-top:1px solid var(--dk-line)}
.qcard__m b{display:block;font-size:26px;font-weight:500;letter-spacing:-.02em}
.qcard__m span{font-size:12.5px;color:var(--dk-muted)}
.qcard__f{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.qcard__f small{display:block;font-size:12.5px;color:var(--dk-muted)}
.cnav{display:flex;align-items:center;gap:12px}
.cnav span{font-family:var(--f-mono);font-size:12px;color:var(--dk-muted)}
.cnav button{width:40px;height:40px;border:1px solid var(--dk-line);background:transparent;color:var(--dk-text);font:inherit;cursor:pointer}
.cnav button:hover{background:var(--dk-text);color:var(--dk)}

/* Blocs génériques */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.box{border:1px solid var(--line);padding:24px;background:#FFF;display:flex;flex-direction:column;gap:8px}
.alt .box{border-color:var(--line)}
.dk .box{background:var(--dk-2);border-color:var(--dk-line)}
a.box{text-decoration:none;transition:border-color .2s}
a.box:hover{border-color:var(--ink);color:inherit}
.dk a.box:hover{border-color:var(--dk-text)}
.box p{font-size:14px;color:var(--ink-2)}
.dk .box p{color:var(--dk-muted)}
.tline{border-top:1px solid var(--line);padding-top:16px}
.tline p{font-size:13.5px;color:var(--muted)}
.dk .tline{border-color:var(--dk-line)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid currentColor;margin-top:32px}
.steps>div{padding:22px 28px 0 0}
.steps small{display:block;font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.dk .steps small{color:var(--dk-muted)}
.steps h3{font-size:19px;margin:16px 0 6px;letter-spacing:-.015em}
.steps p{font-size:14px;color:var(--ink-2)}
.dk .steps p{color:var(--dk-muted)}
.get{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-2);font-size:13.5px}
.dk .get{border-color:var(--dk-line)}
.get b{font-weight:500;color:var(--accent)}
.dk .get b{color:var(--dk-label)}

/* Liste de services */
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:24px 40px;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.svc:first-child{border-top:1px solid var(--line)}
.svc h3{font-size:19px;letter-spacing:-.015em}
.svc p{font-size:14px;color:var(--ink-2)}
.svc__get{font-size:13.5px}
.svc__get b{display:block;font-weight:500;color:var(--accent);font-size:12.5px;margin-bottom:2px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tags span{font-size:11.5px;border:1px solid var(--line-2);padding:3px 8px;color:var(--ink-2)}
.svc .link{font-size:13px;display:inline-block;margin-top:10px}

/* Lignes de questions */
.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}
.rows>*{border-bottom:1px solid var(--line)}
.dk .rows,.dk .rows>*{border-color:var(--dk-line)}
.qrow{display:flex;gap:24px;align-items:baseline;padding:18px 0}
.qrow__n{flex:0 0 28px;font-family:var(--f-mono);font-size:12px;color:var(--accent)}
.qrow__t{font-size:17px;font-weight:500;letter-spacing:-.01em}

/* FAQ */
.faq details{padding:18px 0}
.faq summary{font-size:16px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:20px;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px;color:var(--ink-2);max-width:680px;font-size:14px}
.dk .faq details p{color:var(--dk-muted)}

/* Cockpit */
.cockpit{border:1px solid var(--dk-line);background:var(--dk);color:var(--dk-text);margin-top:32px}
.cockpit__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--dk-line);font-family:var(--f-mono);font-size:12px;color:var(--dk-muted)}
.cockpit__body{padding:20px;display:flex;flex-direction:column;gap:12px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpi{border:1px solid var(--dk-line);padding:16px}
.kpi span{display:block;font-family:var(--f-mono);font-size:11px;color:var(--dk-muted)}
.kpi b{display:block;margin-top:8px;font-size:26px;font-weight:500;letter-spacing:-.03em}
.kpi small{display:block;margin-top:4px;font-size:12px;color:var(--dk-muted)}
.committee{border:1px solid var(--dk-line);padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-size:14px}
.committee b{display:block;font-weight:500;font-size:12px;color:var(--dk-muted)}

/* Test « Sortir d'Excel » */
.test{display:flex;flex-wrap:wrap;gap:24px;margin-top:32px}
.test__list{flex:1 1 380px;display:flex;flex-direction:column;gap:8px}
.chk{display:flex;align-items:center;gap:14px;min-height:54px;padding:10px 16px;border:1px solid var(--line-2);background:#FFF;color:var(--ink);font:inherit;font-size:15px;text-align:left;cursor:pointer}
.chk i{width:22px;height:22px;flex-shrink:0;border:1.5px solid #8E8D87;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:700}
.chk[aria-pressed="true"]{background:var(--ink);color:#FFF;border-color:var(--ink)}
.chk[aria-pressed="true"] i{background:var(--sauge);border-color:var(--sauge);color:var(--ink)}
.chk[aria-pressed="true"] i::before{content:"✓"}
.test__score{flex:1 1 280px;background:var(--dk);color:var(--dk-text);padding:28px;display:flex;flex-direction:column;gap:14px;min-height:360px}
.test__score b{font-size:64px;font-weight:500;letter-spacing:-.04em;line-height:1}
.test__score b small{font-size:26px;color:var(--dk-muted)}
.test__score p{font-size:17px;line-height:1.45}
.test__score .btn{margin-top:auto;justify-content:center;background:var(--dk-text);color:var(--dk);border-color:var(--dk-text)}

/* Formulaire */
.form{display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);padding:32px;background:#FFF}
.form__row{display:flex;flex-wrap:wrap;gap:14px}
.form__row>label{flex:1 1 200px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.form input,.form textarea,.form select{min-height:46px;background:#FFF;border:1px solid var(--line-2);color:var(--ink);font:inherit;font-weight:400;font-size:15px;padding:8px 12px;border-radius:0}
.form textarea{resize:vertical;min-height:100px}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--ink);outline-offset:0}
.form .btn{justify-content:center}
.form__ok{border:1px solid var(--accent);background:var(--alt);padding:24px;font-size:16px}
.form__ok[hidden],.form__err[hidden]{display:none}
.form__err{color:#B3261E;font-size:14px}
.hp{position:absolute;left:-9999px}

/* Pied de page */
.foot{background:var(--dk);color:var(--dk-text)}
.foot a{color:var(--dk-text);text-decoration:none}.foot a:hover{color:var(--dk-label)}
.foot__top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:end;padding:88px 0 56px;border-bottom:1px solid var(--dk-line)}
.foot__q{margin-top:14px;max-width:620px;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.2}
.foot__nl p{font-size:13px;color:var(--dk-muted)}
.foot__nl b{font-weight:500;font-size:14px;color:var(--dk-text)}
.foot__nl label{display:block;margin-top:16px;font-size:12px;color:var(--dk-muted)}
.foot__nl input{width:100%;min-height:46px;background:transparent;border:0;border-bottom:1px solid var(--dk-line);color:var(--dk-text);font:inherit;font-size:15px;padding:8px 0}
.foot__nl input:focus{outline:none;border-bottom-color:var(--dk-label)}
.foot__nl button{margin-top:14px;min-height:42px;padding:0 18px;border:1px solid var(--dk-text);background:transparent;color:var(--dk-text);font:inherit;font-size:13px;cursor:pointer}
.foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:48px 0;font-size:13.5px}
.foot__cols h2{font-size:12px;font-weight:400;color:var(--dk-muted);margin-bottom:12px}
.foot__cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot__mark{overflow:hidden;border-top:1px solid var(--dk-line)}
.foot__mark p{padding:12px 40px 0;font-size:clamp(80px,17vw,250px);font-weight:600;letter-spacing:-.07em;line-height:.78;color:var(--dk-2);white-space:nowrap;text-align:center}
.foot__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;padding-bottom:22px;font-size:12px;color:var(--dk-muted);border-top:1px solid var(--dk-line)}
.foot__legal a{color:var(--dk-muted)}

[data-page][hidden]{display:none}

/* Responsive */
@media (max-width:1240px){.mm__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mm__offer{grid-column:1/-1;min-height:0}}
@media (max-width:1080px){.nav,.hdr__cta{display:none}.burger{display:flex}}
@media (max-width:980px){
  .row{grid-template-columns:1fr;gap:16px}.rail{position:static}
  .hero__grid,.chapters,.skills{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr}
  .grid3,.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logos__in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .logos__in>div:nth-child(3){border-right:0}
  .pans{flex-direction:column}.pan{min-height:0;border-right:0;border-bottom:1px solid var(--dk-line)}
  .pan__d,.pan__go{max-height:none;opacity:1;margin-top:10px}
  .qcard{flex-basis:100%;grid-template-columns:1fr}.qcard .ph-img{min-height:220px}
  .foot__top{grid-template-columns:1fr}.foot__cols{grid-template-columns:1fr 1fr}
  .kpis,.committee{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--pad:20px}
  .sec{padding:64px 0}
  .grid2,.grid3,.grid4{grid-template-columns:1fr}
  .mosaic,.hero__ui{height:320px}
  
  .form{padding:20px}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
.foot .btn--primary{background:var(--dk-text);color:var(--dk);border-color:var(--dk-text)}
.foot .btn--primary:hover{background:var(--sauge);border-color:var(--sauge);color:var(--dk)}
.foot .ph{color:var(--dk-label);background:var(--dk-2);border-color:var(--accent)}
.foot .lab{color:var(--dk-label)}

/* Pages services développées */
.proofs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--alt)}
.proofs__in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.proofs__in>div{padding:22px 24px 22px 0;border-right:1px solid var(--line);display:flex;align-items:baseline;gap:14px}
.proofs__in>div+div{padding-left:24px}
.proofs__in>div:last-child{border-right:0}
.proofs b{font-size:26px;font-weight:500;letter-spacing:-.03em;white-space:nowrap}
.proofs span{font-size:13.5px;color:var(--ink-2)}
.enjeu{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:40px;align-items:center}
.enjeu blockquote{margin:0;font-size:clamp(20px,2vw,26px);font-weight:500;letter-spacing:-.02em;line-height:1.35}
.enjeu__who{margin-top:16px;font-size:14px;color:var(--ink-2)}
.steps6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.st{background:#FFF;padding:24px;display:flex;flex-direction:column;gap:6px;min-height:210px;transition:background-color .2s}
.st:hover{background:var(--alt)}
.st__n{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.st__k{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:14px}
.st h3{font-size:18px;letter-spacing:-.015em}
.st p{font-size:14px;color:var(--ink-2)}
.gets{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--dk-line)}
.gets li{padding:14px 0 14px 30px;border-bottom:1px solid var(--dk-line);position:relative;font-size:15px}
.gets li::before{content:"";position:absolute;left:0;top:19px;width:14px;height:8px;border-left:2px solid var(--dk-label);border-bottom:2px solid var(--dk-label);transform:rotate(-45deg)}
.why{border-top:2px solid var(--ink);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.why__i{width:36px;height:36px;background:var(--sauge);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.why__i svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.why p{font-size:14px;color:var(--ink-2)}
@media (max-width:980px){.proofs__in{grid-template-columns:1fr}.proofs__in>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0 !important}.enjeu{grid-template-columns:1fr}.steps6{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.steps6{grid-template-columns:1fr}}

/* Panneaux d'accompagnement avec photo */
.pan{background-size:cover;background-position:center}
.pan>*{z-index:1}
.pan::before{background:rgba(var(--dk-rgb),.84);opacity:1}
.pan::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;background:linear-gradient(to top,rgba(var(--dk-rgb),.95) 0%,rgba(var(--dk-rgb),.6) 45%,rgba(var(--dk-rgb),.08) 100%)}
.pan.is-on::before,.pans:not(:hover):not(:focus-within) .pan:first-child::before,.pan:hover::before,.pan:focus-visible::before{opacity:0}
.pan.is-on::after,.pans:not(:hover):not(:focus-within) .pan:first-child::after,.pan:hover::after,.pan:focus-visible::after{opacity:1}
.pan.is-on,.pans:not(:hover):not(:focus-within) .pan:first-child,.pan:hover,.pan:focus-visible,.dk .pan:hover{color:var(--dk-text)}
@media (max-width:980px){.pan{min-height:240px}.pan::before{opacity:0}.pan::after{opacity:1}}

/* En-tête : logo au centre */
.hdr__in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px}
.hdr__in>.nav{justify-self:start}
.hdr__in>.logo{justify-self:center}
.hdr__in>.logo span{font-size:30px}
.hdr__r{justify-self:end;display:flex;align-items:center;gap:6px}
.nav--r{margin-right:8px}
@media (max-width:1080px){.hdr__in{grid-template-columns:44px 1fr 44px}.hdr__in>.logo{grid-column:2}.hdr__r{grid-column:3}}

/* Motion design */
.mo .rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.mo .rv.is-in{opacity:1;transform:none}
.mo .st{position:relative}
.mo .st::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--accent);transition:width .6s ease-out}
.mo .st__n,.mo .st__k{transition:color .4s}
.mo .st.is-lit{background:var(--alt)}
.mo .st.is-lit::before{width:100%}
.mo .st.is-lit .st__n{color:var(--accent)}
.mo .ui--build .ui__r>div{opacity:0;transform:translateX(-10px);transition:opacity .5s,transform .5s}
.mo .ui--build.is-in .ui__r>div{opacity:1;transform:none}
.mo .ui--build.is-in .ui__r>div:nth-child(1){transition-delay:.5s}
.mo .ui--build.is-in .ui__r>div:nth-child(2){transition-delay:.8s}
.mo .ui--build.is-in .ui__r>div:nth-child(3){transition-delay:1.1s}
.mo .ui__r em{display:inline-block}
.mo .ui--build.is-in .ui__r>div:nth-child(1) em{animation:pop .5s 1.4s both}
@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.25)}100%{transform:scale(1)}}
/* 5. Liens soulignés qui se dessinent, photos qui respirent au survol */
.mo .link,.mo .box a,.mo .sk__body a{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s ease}
.mo .link:hover,.mo a.box:hover .h3{background-size:0 1px}
.mo .hero__ui.pic{transition:background-size 1.2s ease;background-size:auto,105%}
.mo .hero__ui.pic:hover{background-size:auto,112%}
.mo a.box{transition:border-color .2s,transform .3s cubic-bezier(.2,.8,.2,1)}
.mo a.box:hover{transform:translateY(-4px)}

/* En-tête plus compact */
.hdr__in{min-height:60px;gap:16px}
.hdr__in>.logo span{font-size:24px}
.logo svg{width:9px;height:9px;margin-bottom:3px}
.nav>a,.dd__btn{min-height:38px;padding:0 13px;font-size:14px}
.hdr__cta{min-height:38px;padding:0 18px;font-size:14px}
.topbar__in{padding-top:6px;padding-bottom:6px}
.topbar{font-size:11.5px}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
.rail{top:80px}
@media (max-width:1080px){.burger{width:40px;height:40px}}
.mnav{padding-top:calc(env(safe-area-inset-top,0px) + 104px)}

/* Savoir-faire : transitions de l'écran */
@property --c0{syntax:'<color>';inherits:true;initial-value:var(--sauge)}
@property --c1{syntax:'<color>';inherits:true;initial-value:var(--sauge-2)}
@property --c2{syntax:'<color>';inherits:true;initial-value:#EBD3B8}
.screen{transition:--c0 .9s ease,--c1 .9s ease,--c2 .9s ease;background-size:220px 220px,150% 150%,150% 150%}
.js .screen{animation:drift 14s ease-in-out infinite alternate}
.screen [data-screen].play .ui{animation:scrIn .7s cubic-bezier(.2,.8,.2,1) both,float 7s 1s ease-in-out infinite}
@keyframes scrIn{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
@keyframes itemIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.screen [data-screen].play .ui__k>div{animation:itemIn .45s cubic-bezier(.2,.8,.2,1) both}
.screen [data-screen].play .ui__k>div:nth-child(1){animation-delay:.25s}
.screen [data-screen].play .ui__k>div:nth-child(2){animation-delay:.35s}
.screen [data-screen].play .ui__k>div:nth-child(3){animation-delay:.45s}
.screen [data-screen].play .ui__r>div{animation:itemIn .45s cubic-bezier(.2,.8,.2,1) both}
.screen [data-screen].play .ui__r>div:nth-child(1){animation-delay:.55s}
.screen [data-screen].play .ui__r>div:nth-child(2){animation-delay:.68s}
.screen [data-screen].play .ui__r>div:nth-child(3){animation-delay:.81s}
.screen [data-screen].play .ui__r>div:nth-child(4){animation-delay:.94s}
.sk.is-on .sk__body p,.sk.is-on .sk__body a{animation:itemIn .45s cubic-bezier(.2,.8,.2,1) both}
.sk.is-on .sk__body a{animation-delay:.1s}
.sk__btn{transition:color .25s,padding-left .3s}
.sk__btn:hover{color:var(--ink);padding-left:24px}
.sk.is-on .sk__btn:hover{padding-left:18px}

/* Glisser à la souris */
.screen,.carousel{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.screen.is-drag,.carousel.is-drag{cursor:grabbing}
.screen button{cursor:pointer}
.screen__hint{position:absolute;left:14px;bottom:12px;font-size:11.5px;color:var(--ink);background:rgba(255,255,255,.85);padding:4px 8px;pointer-events:none;z-index:2}

/* Menus Vos enjeux et Secteurs au format Expertises */
.mm__grid--3{grid-template-columns:repeat(3,minmax(0,1fr)) 320px}
.mm .mm__offer.mm__offer--pic{min-height:280px;background-image:linear-gradient(180deg,rgba(var(--dk-rgb),.86),rgba(var(--dk-rgb),.95)),var(--pic);background-size:cover;background-position:center}
@media (max-width:1240px){.mm__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mm__sizes{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.mm__size{font-size:13px;padding:6px 10px;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#EEF2EF}
.box.idea{min-height:260px}
.svc__get .link{font-size:13px}

/* Accueil : Nos expertises */
.xps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.xp{position:relative;overflow:hidden;background-color:#FFF;padding:26px;display:flex;flex-direction:column;gap:10px;min-height:470px;background-size:cover;background-position:center;transition:color .4s}
.xp::before{content:"";position:absolute;inset:0;background:#FFF;transition:opacity .5s}
.xp::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;background:linear-gradient(to top,rgba(var(--dk-rgb),.96) 35%,rgba(var(--dk-rgb),.45))}
.xp>*{position:relative;z-index:1}
.xp:hover{color:var(--dk-text)}.xp:hover::before{opacity:0}.xp:hover::after{opacity:1}
.xp__n{margin-top:14px;font-family:var(--f-mono);font-size:11px;color:var(--muted);transition:color .4s}
.xp:hover .xp__n{color:var(--dk-label)}
.xp h3{font-size:21px;letter-spacing:-.02em;line-height:1.2}
.xp__p{font-size:14px;color:var(--ink-2);transition:color .4s}
.xp:hover .xp__p{color:var(--dk-muted)}
.xp__l{display:flex;flex-direction:column;margin-top:8px;border-top:1px solid var(--line);transition:border-color .4s}
.xp:hover .xp__l{border-color:rgba(255,255,255,.18)}
.xp__l a{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line);color:inherit;transition:border-color .4s,padding-left .25s}
.xp:hover .xp__l a{border-color:rgba(255,255,255,.12)}
.xp__l a:hover{padding-left:6px;color:inherit}
.xp:hover .xp__l a:hover{color:var(--dk-label)}
.xp__go{margin-top:auto;padding-top:16px;font-size:13.5px;font-weight:500;text-decoration:none;color:inherit}
.xp:hover .xp__go{color:var(--dk-text)}
@media (max-width:980px){.xps{grid-template-columns:1fr 1fr}.xp{min-height:0}}
@media (max-width:640px){.xps{grid-template-columns:1fr}}

/* Sélecteur « Votre secteur » */
.sx{position:relative}
.sx__btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px 0 10px;border:1px solid #D8D4CC;border-radius:999px;background:#FFF;font:inherit;font-size:13.5px;color:#0A0A0A;cursor:pointer;transition:border-color .2s}
.sx__btn:hover,.sx__btn[aria-expanded="true"]{border-color:#0A0A0A}
.sx__dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--sauge-2),#EBD3B8,#2E57C9,#A794BE,var(--sauge-2))}
.sx.is-set .sx__dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.sx__lab{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx__car{font-size:10px}
.sx__panel{position:absolute;right:0;top:calc(100% + 12px);width:min(600px,92vw);background:#FFF;border:1px solid var(--line);box-shadow:0 24px 48px rgba(0,0,0,.16);padding:22px;z-index:45;color:var(--ink)}
.sx__panel[hidden]{display:none}
.sx__t{font-size:17px;font-weight:600;letter-spacing:-.01em}
.sx__i{margin-top:4px;font-size:13px;color:var(--ink-2)}
.sx__g{margin-top:16px}
.sx__gt{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sx__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sx__chip{font:inherit;font-size:13px;padding:6px 11px;border:1px solid var(--line-2);border-radius:999px;background:#FFF;color:var(--ink);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.sx__chip:hover{border-color:var(--ink)}
.sx__chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#FFF}
.sx__reset{margin-top:18px;font:inherit;font-size:13px;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--ink-2)}
.sx-banner{background:var(--dk);color:var(--dk-text);font-size:13px;transition:background-color .6s}
.sx-banner[hidden]{display:none}
.sx-banner__in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:9px;padding-bottom:9px}
.sx-banner__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dk-label);margin-right:8px}
.sx-banner b{font-weight:600}
.sx-banner__a{display:flex;gap:18px;align-items:center}
.sx-banner a{color:var(--dk-text);font-weight:500}
.sx-banner button{font:inherit;font-size:13px;background:none;border:0;color:var(--dk-muted);cursor:pointer;padding:0}
.sx-banner button:hover{color:var(--dk-text)}
.dk,.foot,.topbar,.alt{transition:background-color .6s}
/* Ambiances par famille de secteurs */
html[data-sx-theme="bat"]{--dk:#21170F;--dk-2:#2C2016;--dk-line:#3D2E21;--accent:#8A5A2B;--sauge-2:#D9A577;--dk-label:#EBD3B8;--dk-muted:#C9B8A5;--alt:#F6F1EA}
html[data-sx-theme="com"]{--dk:#111A2C;--dk-2:#18233D;--dk-line:#27345A;--accent:#2E57C9;--sauge-2:#7F9BE0;--dk-label:#AFC2F0;--dk-muted:#A7B2CC;--alt:#EEF2F9}
html[data-sx-theme="srv"]{--dk:#1E1729;--dk-2:#291F36;--dk-line:#3A2E4A;--accent:#6E4F96;--sauge-2:#A794BE;--dk-label:#D9CFE0;--dk-muted:#BDB2CB;--alt:#F4F1F7}
html[data-sx-theme="ind"]{--accent:#B4581A}

@keyframes sxPulse{0%{box-shadow:0 0 0 0 rgba(var(--lab-rgb),.7)}70%{box-shadow:0 0 0 7px rgba(var(--lab-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--lab-rgb),0)}}
.js .sx:not(.is-set) .sx__dot{animation:sxPulse 2.4s ease-out infinite}

/* Sélecteur flottant */
.sx--float{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60}
.sx--float .sx__btn{min-height:46px;padding:0 18px 0 14px;background:var(--dk);border-color:var(--dk);color:var(--dk-text);font-size:14px;font-weight:500;box-shadow:0 12px 28px rgba(0,0,0,.22);transition:background-color .6s,padding .3s,box-shadow .2s}
.sx--float .sx__btn:hover{box-shadow:0 16px 34px rgba(0,0,0,.3)}
.sx--float .sx__lab{max-width:220px;transition:max-width .35s ease,opacity .25s}
.sx--float.is-compact .sx__lab,.sx--float.is-compact .sx__car{max-width:0;opacity:0}
.sx--float.is-compact .sx__btn{padding:0 15px;gap:0}
.sx--float.is-compact .sx__btn:hover .sx__lab{max-width:220px;opacity:1}
.sx--float .sx__panel{top:auto;bottom:calc(100% + 12px);left:0;right:auto;width:min(600px,calc(100vw - 40px));max-height:calc(100vh - 120px);overflow-y:auto}
.js .sx--float .sx__panel:not([hidden]){animation:itemIn .3s cubic-bezier(.2,.8,.2,1) both}
.sx-invite{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:0;border:0;background:none;font:inherit;font-size:13.5px;color:var(--ink-2);cursor:pointer;text-align:left}
.sx-invite u{text-underline-offset:3px;color:var(--ink)}
.sx-invite:hover u{color:var(--accent)}
.sx-invite .sx__dot{width:12px;height:12px}
@media (max-width:1080px){.sx--float .sx__lab,.sx--float .sx__car{display:inline}.sx--float .sx__btn{width:auto;padding:0 16px 0 12px}}
@media (max-width:640px){.sx--float{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.sx--float .sx__btn{min-height:42px;font-size:13px}.sx--float .sx__panel{position:fixed;left:8px;right:8px;bottom:64px;width:auto}}
@media (max-width:640px){.topbar__in>span:last-child{display:none}}

/* Personnalisation métier */
.sxs__k{font-size:16px;font-weight:500;color:var(--ink)}
.sxs--empty{border:1px dashed var(--line-2);padding:28px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:#FFF}
.sxs--empty p:not(.h3){font-size:14px;color:var(--ink-2)}
.cks{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.cks legend{font-size:13px;font-weight:500;padding:0;margin-bottom:8px}
.cks>div{display:flex;flex-wrap:wrap;gap:6px}
.ck{display:inline-flex !important;flex-direction:row !important;align-items:center;gap:0 !important;cursor:pointer}
.ck input{position:absolute;opacity:0;width:1px;height:1px}
.ck span{display:inline-block;font-size:13px;font-weight:400;padding:7px 12px;border:1px solid var(--line-2);border-radius:999px;background:#FFF;transition:background-color .15s,border-color .15s,color .15s}
.ck:hover span{border-color:var(--ink)}
.ck input:checked+span{background:var(--ink);border-color:var(--ink);color:#FFF}
.ck input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.xp__l a.is-for{color:var(--accent);font-weight:600}
.xp__l a.is-for::after{content:"Pour vous";margin-left:8px;font-family:var(--f-sans);font-size:10px;letter-spacing:0;text-transform:none;font-weight:600;background:var(--accent);color:#FFF;padding:2px 7px;border-radius:999px;vertical-align:1px}
.xp:hover .xp__l a.is-for{color:var(--dk-label)}
[data-sx-block][hidden]{display:none !important}
.sxs{margin-top:24px}

/* Enjeux du secteur : carte photo + liste, puis leviers */
.rail span:empty{display:none}
.pn{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:16px;margin-top:28px;align-items:stretch}
.pn__card{position:relative;overflow:hidden;min-height:340px;padding:26px;display:flex;flex-direction:column;color:var(--dk-text);background-color:var(--dk);background-size:cover;background-position:center}
.pn__card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--dk) 55%,transparent),color-mix(in srgb,var(--dk) 94%,transparent))}
.pn__card>*{position:relative}
.pn__k{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dk-label)}
.pn__big{margin-top:auto;font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1}
.pn__t{margin-top:8px;font-size:15px;color:var(--dk-muted)}
.pn__go{margin-top:20px;font-size:13.5px;font-weight:500;color:var(--dk-text) !important;text-decoration:none;border-top:1px solid rgba(255,255,255,.18);padding-top:14px}
.pn__go:hover{color:var(--dk-label) !important}
.pn__list{list-style:none;margin:0;padding:0;background:#FFF;border:1px solid var(--line)}
.pn__row{display:flex;gap:22px;align-items:flex-start;padding:24px 28px;border-top:1px solid var(--line);transition:background-color .25s}
.pn__row:first-child{border-top:0}
.pn__row:hover{background:color-mix(in srgb,var(--accent) 5%,#FFF)}
.pn__n{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#FFF)}
.pn__q{font-size:18px;line-height:1.4;font-weight:500;letter-spacing:-.01em;color:var(--ink);padding-top:4px}
.pn__q::before{content:"«\00a0";color:var(--accent)}
.pn__q::after{content:"\00a0»";color:var(--accent)}
.lvs{margin-top:32px}
.lvs__t{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.lvs__dot{width:8px;height:8px;background:var(--accent)}
.lvs__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.lv{display:flex;gap:14px;align-items:flex-start;padding:22px;background:var(--dk);color:var(--dk-text) !important;text-decoration:none;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),background-color .6s}
.lv::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--dk-label);transition:width .4s ease}
.lv:hover{transform:translateY(-4px)}
.lv:hover::after{width:100%}
.lv__i{flex-shrink:0;width:28px;height:28px;border:1px solid var(--dk-line);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;color:var(--dk-label)}
.lv__b{display:flex;flex-direction:column;gap:6px;flex:1}
.lv__b b{font-size:17px;font-weight:500;letter-spacing:-.015em;line-height:1.25}
.lv__b span{font-size:13.5px;color:var(--dk-muted);line-height:1.5}
.lv__a{font-size:18px;color:var(--dk-label);transition:transform .25s}
.lv:hover .lv__a{transform:translateX(4px)}
@media (max-width:980px){.pn{grid-template-columns:1fr}.pn__card{min-height:220px}.lvs__g{grid-template-columns:1fr}}

/* Votre entreprise : recherche, salutation, pré-diagnostic */
.co{margin-top:14px;padding:14px;background:var(--alt);border:1px solid var(--line)}
.co__l{display:block;font-size:13px;font-weight:600}
.co__l span{font-weight:400;color:var(--muted)}
.co__row{display:flex;gap:6px;margin-top:8px}
.co__row input{flex:1;min-width:0;min-height:40px;border:1px solid var(--line-2);padding:6px 10px;font:inherit;font-size:14px;background:#FFF;color:var(--ink)}
.co__row input:focus{outline:2px solid var(--ink);outline-offset:0}
.co__row button{min-height:40px;padding:0 14px;border:0;background:var(--ink);color:#FFF;font:inherit;font-size:13px;cursor:pointer}
.co__help{margin-top:6px;font-size:11.5px;color:var(--muted)}
.co__res{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.co__res:empty{display:none}
.co__hit{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px;border:1px solid var(--line);background:#FFF;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.co__hit:hover{border-color:var(--ink)}
.co__hit b{font-size:13.5px;font-weight:600}
.co__hit span{font-size:12px;color:var(--muted)}
.co__none,.co__demo{font-size:12px;color:var(--muted)}
.co__demo{background:#FFF7E0;border:1px dashed #E2B24D;padding:6px 8px;color:#6B5317}
.sx__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.sx__foot a{font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}
.sx__foot .sx__reset{margin-top:0}
.co-hello{display:table;margin-top:12px;font-size:13px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#FFF);padding:5px 10px}
.co-hello[hidden]{display:none}
.co-hello+.h1{margin-top:10px}
.sx-banner__x{color:var(--dk-muted)}
.gets--light{border-color:var(--line);margin-top:24px}
.gets--light li{border-color:var(--line);font-size:15px}
.gets--light li::before{border-color:var(--accent)}
.pd__chosen{font-size:12.5px;color:var(--accent);font-weight:500;margin-top:-8px}
.pd__chosen[hidden]{display:none}
.pd__consent{flex-direction:row !important;align-items:flex-start;gap:10px !important;font-weight:400 !important;font-size:13px !important;color:var(--ink-2)}
.pd__consent input{min-height:0 !important;width:18px;height:18px;margin-top:2px;flex-shrink:0}
.pd__load{border:1px solid var(--line);padding:28px;background:#FFF;max-width:640px}
.pd__load ol{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pd__load li{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:10px;transition:color .3s}
.pd__load li::before{content:"";width:14px;height:14px;border:2px solid var(--line-2);border-radius:50%;flex-shrink:0;transition:background-color .3s,border-color .3s}
.pd__load li.is-on{color:var(--ink)}
.pd__load li.is-on::before{background:var(--accent);border-color:var(--accent)}
.pd__res{border:1px solid var(--line);background:#FFF;padding:36px;animation:itemIn .6s cubic-bezier(.2,.8,.2,1) both}
.pd__res .h2{margin-top:8px}
.pd__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.pd__chips span{font-size:12.5px;padding:4px 10px;background:var(--alt);border:1px solid var(--line)}
.pd__lead{margin-top:18px;font-size:17px;color:var(--ink)}
.pd__h{margin-top:30px;font-size:15px;font-weight:600}
.pd__en{list-style:none;margin:12px 0 0;padding:0;counter-reset:en;border-top:1px solid var(--line)}
.pd__en li{counter-increment:en;display:grid;grid-template-columns:34px 1fr;gap:4px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
.pd__en li::before{content:"0" counter(en);grid-row:span 2;font-family:var(--f-mono);font-size:12px;color:var(--accent);padding-top:3px}
.pd__en b{font-weight:500;font-size:16px}
.pd__en span{font-size:14px;color:var(--ink-2)}
.pd__m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.pd__m div{background:var(--alt);padding:14px}
.pd__m span{display:block;font-size:12px;color:var(--muted)}
.pd__m b{display:block;font-size:22px;font-weight:500;margin-top:4px}
.pd__site{margin:12px 0 0;padding-left:18px;font-size:14px;color:var(--ink-2)}
.pd__pj{margin-top:12px}
.pd__cta{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.pd__cta p{color:var(--ink-2);max-width:620px;margin-bottom:16px}
@media (max-width:640px){.pd__res{padding:22px}.pd__m{grid-template-columns:1fr}}

/* Nos expertises : colonnes plus larges, pastille sur une ligne */
.xp__l a.is-for::after{display:inline-block;white-space:nowrap;line-height:1.5}
.xp{min-height:0;padding:24px 24px 22px}
.xp__l a{padding:8px 0}
@media (min-width:981px){.xps{margin-left:-230px}}
.pic{background-color:#CFD6D2;background-image:var(--pic);background-size:cover;background-position:center}
.pic::before,.pic::after{border-color:rgba(255,255,255,.85)}
.hero__ui.pic{background-image:linear-gradient(rgba(var(--dk-rgb),.30),rgba(var(--dk-rgb),.45)),var(--pic);animation:none}
.video.pic{background-image:linear-gradient(rgba(var(--dk-rgb),.25),rgba(var(--dk-rgb),.35)),var(--pic)}
.lg{display:block;width:100%;max-width:150px;height:46px;background:var(--lg) center/contain no-repeat}
.lg-stoppieces{--lg:url("../img/logo-stoppieces.png")}
.lg-lasolution{--lg:url("../img/logo-lasolution.png")}
.pi-1{--pic:url("../img/p1.jpg")}
.pi-2{--pic:url("../img/p2.jpg")}
.pi-3{--pic:url("../img/p3.jpg")}
.pi-4{--pic:url("../img/p4.jpg")}
.pi-5{--pic:url("../img/p5.jpg")}
.pi-6{--pic:url("../img/p6.jpg")}
.pi-7{--pic:url("../img/p7.jpg")}
.pi-8{--pic:url("../img/p8.jpg")}
.pi-9{--pic:url("../img/p9.jpg")}
.pi-10{--pic:url("../img/p10.jpg")}

/* Accueil : cinq univers (3 + 2) */
.xps--5{grid-template-columns:repeat(6,minmax(0,1fr))}.xps--5>.xp{grid-column:span 2}.xps--5>.xp:nth-child(n+4){grid-column:span 3}
@media (max-width:980px){.xps--5{grid-template-columns:1fr 1fr}.xps--5>.xp,.xps--5>.xp:nth-child(n+4){grid-column:auto}.xps--5>.xp:last-child{grid-column:1/-1}}
@media (max-width:640px){.xps--5{grid-template-columns:1fr}}

/* Marques rassurantes */
.mk{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border:1px solid var(--line);background:#FFF;font-size:14px;font-weight:600;letter-spacing:-.01em;color:#6B7280;white-space:nowrap;transition:color .2s,border-color .2s}
.mk:hover{color:var(--ink);border-color:var(--ink)}
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;background:#FFF}
.trust__t{font-size:12.5px;font-weight:500;color:var(--muted)}
.trust__row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin-top:28px}
.tl__k{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tl__m{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tl__m .mk{min-height:42px;font-size:13px;padding:0 14px}
.tl__note{margin-top:22px;font-size:12px;color:var(--muted);max-width:760px}
.qa{display:flex;gap:28px;align-items:center}
.qa__b{flex-shrink:0;width:120px;height:120px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;letter-spacing:-.02em;background:#FFF}
.foot__labels{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:18px;padding-bottom:18px;border-top:1px solid var(--dk-line);font-size:12px;color:var(--dk-muted)}
.mk--dk{min-height:34px;background:transparent;border-color:var(--dk-line);color:var(--dk-muted);font-size:12px;padding:0 12px}
.mk--dk:hover{color:var(--dk-text);border-color:var(--dk-text)}
@media (max-width:640px){.tl{grid-template-columns:1fr}.qa{flex-direction:column;align-items:flex-start}}

/* Accueil · Nos expertises : une ligne par univers (remplace la grille 3 + 2) */
.xps.xps--5{display:flex;flex-direction:column;gap:0;background:none;border:0;border-top:1px solid var(--line)}
.xps--5>.xp,.xps--5>.xp:nth-child(n+4),.xps--5>.xp:last-child{grid-column:auto}
.xps--5>.xp{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.6fr);grid-template-areas:"ico n l" "ico h l" "ico p l" "ico go l";grid-template-rows:auto auto 1fr auto;column-gap:32px;row-gap:6px;padding:30px 28px;min-height:0;border-bottom:1px solid var(--line);background-color:#FFF}
.xps--5>.xp>.mm__ico{grid-area:ico;width:40px;height:40px}
.xps--5 .xp__n{grid-area:n;margin-top:0}
.xps--5 .xp h3{grid-area:h;font-size:24px}
.xps--5 .xp__p{grid-area:p;max-width:380px}
.xps--5 .xp__go{grid-area:go;margin-top:0;padding-top:14px}
.xps--5 .xp__l{grid-area:l;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin-top:0;border-top:0;align-content:center}
.xps--5 .xp__l a{border-bottom:1px solid var(--line)}
.xps--5 .xp__l a:nth-child(-n+2){border-top:1px solid var(--line)}
.xps--5 .xp:hover .xp__l a{border-color:rgba(255,255,255,.14)}
.xps--5 .xp::after{background:linear-gradient(90deg,rgba(var(--dk-rgb),.96) 30%,rgba(var(--dk-rgb),.78))}
@media (max-width:980px){.xps--5>.xp{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"ico n" "ico h" "ico p" "l l" "go go";padding:24px 20px}.xps--5 .xp__l{margin-top:16px}}
@media (max-width:640px){.xps--5 .xp__l{grid-template-columns:1fr}.xps--5 .xp__l a:nth-child(2){border-top:0}}

/* Bloc métier */
html.has-mt .sxh{display:none}
.mt-sec[hidden]{display:none}
.pn__ia{font-size:12px;color:var(--dk-muted)}

/* Nouveau gabarit des pages expertises */
.v2-hero{padding:48px 0 0;background:linear-gradient(180deg,#FFF 0,#FFF 70%,var(--alt) 70%)}
.v2-hero__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}
.v2-h1{font-size:clamp(34px,3.6vw,52px);font-weight:500;letter-spacing:-.035em;line-height:1.06;margin-top:16px}
.v2-hero .lead{margin-top:18px;font-size:17px}
.v2-hero .actions{margin-top:26px}
.v2-hero__v{position:relative;height:500px}
.v2-hero__img{position:absolute;inset:0 0 40px 60px;min-height:0}
.v2-hero__ui{position:absolute;left:0;bottom:0;width:72%}
.v2-hero__ui .ui{max-width:none;animation:none}
.v2-chip{position:absolute;background:var(--dk);color:var(--dk-text);font-size:13px;font-weight:500;padding:9px 14px;box-shadow:0 12px 24px rgba(0,0,0,.18)}
.v2-chip--a{top:28px;right:-12px}.v2-chip--b{top:84px;right:40px;background:var(--sauge);color:var(--ink)}
.v2-brief{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:56px 0 0;background:#FFF;border:1px solid var(--line);box-shadow:0 18px 40px rgba(16,21,31,.06)}
.v2-brief div{padding:22px 24px;border-right:1px solid var(--line)}
.v2-brief div:last-child{border-right:0}
.v2-brief dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.v2-brief dd{margin:8px 0 0;font-size:14.5px;line-height:1.45;color:var(--ink)}
.v2-ba{background:var(--dk);color:var(--dk-text);padding:88px 0}
.v2-ba .h2{color:var(--dk-text)}
.v2-ba__g{display:grid;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:16px;margin-top:36px;align-items:stretch}
.v2-ba__col{padding:30px;border:1px solid var(--dk-line)}
.v2-ba__col--after{background:var(--dk-2);border-color:var(--sauge-2)}
.v2-ba__k{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dk-muted)}
.v2-ba__col--after .v2-ba__k{color:var(--dk-label)}
.v2-ba__col ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.v2-ba__col li{display:flex;gap:12px;font-size:17px;line-height:1.35}
.v2-ba__col--before li{color:var(--dk-muted)}
.v2-ba__col--before li::before{content:"✕";color:#E28B78;flex-shrink:0}
.v2-ba__col--after li::before{content:"✓";color:var(--dk-label);flex-shrink:0;font-weight:700}
.v2-ba__arrow{display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--dk-label)}
.v2-feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
.v2-f{display:flex;flex-direction:column;gap:10px}
.v2-f__v{position:relative;height:180px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:14px;margin-bottom:6px}
.v2-f__v::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(var(--dk-rgb),.55))}
.v2-mini{position:relative;width:100%;background:#FFF;box-shadow:0 10px 24px rgba(0,0,0,.18);font-size:12px}
.v2-mini div{display:flex;justify-content:space-between;padding:7px 10px;border-top:1px solid #EEF1EF}
.v2-mini div:first-child{border-top:0}
.v2-mini em{font-style:normal;color:var(--accent);font-weight:600}
.v2-f p{font-size:14px;color:var(--ink-2)}
.v2-tl{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.v2-tl::before{content:"";position:absolute;left:18px;right:18px;top:18px;height:2px;background:var(--line-2)}
.v2-tl li{position:relative;padding-right:24px}
.v2-tl__n{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#FFF;font-weight:600;margin-bottom:16px}
.v2-tl b{display:block;font-size:17px;font-weight:500}
.v2-tl p{margin-top:6px;font-size:14px;color:var(--ink-2)}
.v2-proof{background:var(--dk);color:var(--dk-text)}
.v2-proof__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:0;padding-bottom:0}
.v2-proof__img{min-height:420px;margin-left:calc(-1 * var(--pad))}
.v2-proof .h2{color:var(--dk-text);margin-top:10px;font-size:clamp(24px,2.4vw,32px)}
.v2-proof__t{margin:14px 0 20px;color:var(--dk-muted);font-size:16px;max-width:480px}
.v2-end{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.v2-end .faq{margin-top:20px}
.v2-cta{background:var(--dk);color:var(--dk-text);padding:32px;position:sticky;top:120px}
.v2-cta .h2{color:var(--dk-text);margin-top:10px}
.v2-cta p:not(.lab){margin:12px 0 22px;color:var(--dk-muted)}
.v2-cta .btn--primary{background:var(--dk-text);color:var(--dk);border-color:var(--dk-text)}
.v2-mosaic{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:440px}
.v2-mosaic>div:first-child{grid-row:span 2}
.v2-hero--fam{padding-bottom:64px;background:#FFF}
.v2-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
.v2-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);background:#FFF;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.v2-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(16,21,31,.1);color:inherit}
.v2-card__img{height:150px;min-height:0}
.v2-card__b{padding:18px;display:flex;flex-direction:column;gap:6px;flex:1}
.v2-card__b p{font-size:14px;color:var(--ink-2)}
.v2-card__go{margin-top:auto;padding-top:10px;font-size:13px;font-weight:600;color:var(--accent)}
.v2-picks{display:flex;flex-direction:column;margin-top:28px;border-top:1px solid var(--dk-line)}
.v2-pick{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--dk-line);text-decoration:none;color:var(--dk-text) !important;transition:padding-left .25s}
.v2-pick:hover{padding-left:12px}
.v2-pick span{font-size:18px}
.v2-pick b{font-weight:500;color:var(--dk-label);white-space:nowrap}
.v2-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.v2-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:center;border:1px solid var(--line);padding:12px;text-decoration:none;background:#FFF}
.v2-case .ph-img{min-height:180px}
.v2-case p:not(.lab){font-size:14px;color:var(--ink-2);margin-top:6px}
@media (max-width:980px){.v2-hero__g,.v2-ba__g,.v2-proof__g,.v2-end,.v2-cases,.v2-case{grid-template-columns:1fr}.v2-brief,.v2-feat,.v2-cards{grid-template-columns:1fr 1fr}.v2-tl{grid-template-columns:1fr 1fr;gap:24px}.v2-tl::before{display:none}.v2-ba__arrow{transform:rotate(90deg)}.v2-hero__v{height:420px}.v2-proof__img{margin-left:0}}
@media (max-width:640px){.v2-brief,.v2-feat,.v2-cards,.v2-tl{grid-template-columns:1fr}.v2-brief div{border-right:0;border-bottom:1px solid var(--line)}}
/* A · La journée de Julie */
.v2-day{padding:96px 0;background:var(--alt);transition:background-color .5s}
.v2-day.is-after{background:#E7F0EC}
.v2-day[hidden],.v2-team[hidden]{display:none}
.v2-day__g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:56px;align-items:center}
.v2-day__p{margin:0;position:relative}
.v2-day__p .ph-img{height:520px}
.v2-day__p figcaption{position:absolute;left:20px;bottom:20px;background:#FFF;padding:12px 16px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.v2-day__p b{display:block;font-weight:600}
.v2-day__p span{font-size:12px;color:var(--muted)}
.v2-sw{display:inline-flex;margin-top:22px;border:1px solid var(--ink);background:#FFF}
.v2-sw button{font:inherit;font-size:14px;font-weight:500;padding:10px 18px;border:0;background:none;cursor:pointer;color:var(--ink)}
.v2-sw button[aria-selected="true"]{background:var(--ink);color:#FFF}
.v2-day__t{list-style:none;margin:28px 0 0;padding:0;border-left:2px solid var(--line-2);animation:itemIn .45s cubic-bezier(.2,.8,.2,1) both}
.v2-day__t li{position:relative;padding:0 0 22px 28px}
.v2-day__t li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#FFF;border:2px solid #C98A7A}
.v2-day__t[data-d="apres"] li::before{background:var(--accent);border-color:var(--accent)}
.v2-day__t time{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.v2-day__t p{margin-top:2px;font-size:17px;line-height:1.45;color:var(--ink)}
/* B · Ce que ça change pour chacun */
.v2-team{padding:96px 0;background:#FFF}
.v2-team__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.v2-pp{margin:0;border:1px solid var(--line);background:#FFF;display:flex;flex-direction:column}
.v2-pp .ph-img{height:260px;min-height:0}
.v2-pp figcaption{padding:22px;display:flex;flex-direction:column;gap:12px}
.v2-pp__r{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.v2-pp blockquote{margin:0;font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.35}
.v2-pp ul{margin:0;padding:12px 0 0;border-top:1px solid var(--line);list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2)}
.v2-pp li::before{content:"✓ ";color:var(--accent);font-weight:700}
.v2-with{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;margin-top:16px;background:var(--dk);color:var(--dk-text)}
.v2-with .ph-img{height:300px}
.v2-with>div:last-child{padding:32px 32px 32px 0}
.v2-with .h3{font-size:22px;margin-top:8px;color:var(--dk-text)}
.v2-with p:not(.lab){margin-top:10px;color:var(--dk-muted)}
.v2-note{margin-top:14px;font-size:12px;color:var(--muted)}
@media (max-width:980px){.v2-day__g,.v2-team__g,.v2-with{grid-template-columns:1fr}.v2-day__p .ph-img{height:360px}.v2-with>div:last-child{padding:24px}}
/* Appel final, tout en bas */
.v2-faq{margin-top:20px;max-width:880px}
.v2-final{background:var(--alt);border-top:1px solid var(--line);padding:0}
.v2-final__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
.v2-final__p{position:relative}
.v2-final__p .ph-img{height:420px}
.v2-final__tag{position:absolute;right:-14px;bottom:28px;background:var(--dk);color:var(--dk-text);font-size:13px;font-weight:500;padding:10px 16px;box-shadow:0 12px 24px rgba(0,0,0,.2)}
.v2-final__h{margin-top:12px;font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.12}
.v2-final__b>p:not(.lab){margin-top:14px;color:var(--ink-2);font-size:16px;max-width:520px}
.v2-final__b .actions{margin-top:26px}
.v2-final__b .btn{min-height:50px;padding:0 22px}
.v2-final__r{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;color:var(--ink-2)}
.v2-final__r li::before{content:"✓ ";color:var(--accent);font-weight:700}
@media (max-width:980px){.v2-final__g{grid-template-columns:1fr}.v2-final__p .ph-img{height:300px}.v2-final__tag{right:12px}}
/* Questions fréquentes : intro à gauche, cartes à droite */
.v2-qa{background:var(--alt);border-top:1px solid var(--line);padding:88px 0}
.v2-qa__g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:56px;align-items:start}
.v2-qa__l{position:sticky;top:130px}
.v2-qa__l .h2{margin-top:12px}
.v2-qa__who{display:flex;gap:14px;align-items:center;margin-top:28px;padding:16px;background:#FFF;border:1px solid var(--line)}
.v2-qa__av{width:56px;height:56px;min-height:0;flex-shrink:0;border-radius:50%}
.v2-qa__av::before,.v2-qa__av::after{display:none}
.v2-qa__who b{display:block;font-weight:600}
.v2-qa__who span{display:block;font-size:13.5px;color:var(--ink-2);margin-top:2px}
.v2-qa__who .link{display:inline-block;margin-top:6px;font-size:13.5px}
.v2-qa .faq{border-top:0;display:flex;flex-direction:column;gap:10px}
.v2-qa .faq details{background:#FFF;border:1px solid var(--line);padding:0;transition:border-color .2s,box-shadow .2s}
.v2-qa .faq details[open]{border-color:var(--ink);box-shadow:0 12px 28px rgba(16,21,31,.07)}
.v2-qa .faq summary{padding:20px 22px;font-size:17px;align-items:center}
.v2-qa .faq summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .25s,background-color .2s,color .2s}
.v2-qa .faq details[open] summary::after{transform:rotate(45deg);background:var(--ink);color:#FFF;border-color:var(--ink)}
.v2-qa .faq details p{margin:0;padding:0 22px 20px;font-size:15px;max-width:none}
.v2-qa .rows>*{border-bottom:0}
@media (max-width:980px){.v2-qa__g{grid-template-columns:1fr;gap:28px}.v2-qa__l{position:static}}

.v2-sxs [data-sx-block=""]{display:none}
html:not([data-sx-theme]) .v2-sxs{display:none}
.v2-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2-tools .head .h2{font-size:22px}
body:has(.v2-final) .foot__top>div:first-child{display:none}
body:has(.v2-final) .foot__top{grid-template-columns:1fr}
.v2-tools .row{grid-template-columns:1fr}
.v2-tools .rail{display:none}

/* Logos qui défilent */
.lms{padding:88px 0 72px;background:#FFF;border-top:1px solid var(--line);overflow:hidden}
.lms__rows{display:flex;flex-direction:column;gap:18px;margin-top:40px}
.lm{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.lm__track{display:flex;flex-shrink:0;gap:24px;margin:0;padding:0 24px 0 0;list-style:none;animation:lmScroll 46s linear infinite}
.lm--rev .lm__track{animation-direction:reverse;animation-duration:52s}
.lm:hover .lm__track{animation-play-state:paused}
@keyframes lmScroll{to{transform:translateX(-100%)}}
.lm__i{display:inline-flex;align-items:center;gap:12px;height:64px;padding:0 30px;white-space:nowrap;font-size:21px;font-weight:700;letter-spacing:-.03em;color:#A3A8A5;transition:color .25s}
.lm__i svg{width:30px;height:30px;fill:currentColor;flex-shrink:0}
.lm__i:hover{color:var(--ink)}
.lms__note{margin-top:22px;font-size:12px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.lm__track{animation:none}.lm{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}.lm__track[aria-hidden]{display:none}.lm__track{flex-wrap:wrap;gap:10px}}
@media (max-width:640px){.lm__i{height:52px;padding:0 16px;font-size:17px}.lm__i svg{width:24px;height:24px}.lms{padding:64px 0 48px}}

/* FAQ : liste légère et ouverture fluide */
.v2-qa{background:#FFF;padding:104px 0}
.v2-qa .faq{gap:0;border-top:1px solid var(--line-2);counter-reset:qa}
.v2-qa .faq details{counter-increment:qa;position:relative;background:none;border:0;border-bottom:1px solid var(--line-2);box-shadow:none;padding:0}
.v2-qa .faq details[open]{border-color:var(--line-2);box-shadow:none}
.v2-qa .faq details::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.v2-qa .faq details[open]::after{transform:scaleX(1)}
.v2-qa .faq summary{position:relative;display:flex;align-items:center;gap:24px;padding:28px 4px 28px 0;font-size:20px;font-weight:500;letter-spacing:-.015em;line-height:1.3;color:var(--ink);transition:padding-left .35s cubic-bezier(.2,.8,.2,1),color .25s}
.v2-qa .faq summary:hover{padding-left:10px}
.v2-qa .faq summary::before{content:counter(qa,decimal-leading-zero);flex-shrink:0;width:28px;font-family:var(--f-mono);font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);transition:color .25s}
.v2-qa .faq details[open] summary::before,.v2-qa .faq summary:hover::before{color:var(--accent)}
.v2-qa .faq summary::after{content:"";margin-left:auto;flex-shrink:0;width:18px;height:18px;border:0;border-radius:0;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.v2-qa .faq details[open] summary::after{transform:rotate(135deg);border:0;color:var(--accent);background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat}
.v2-qa .faq .faq__a{overflow:hidden}
.v2-qa .faq details p{margin:0;padding:0 48px 30px 52px;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:760px}
.v2-qa__who{border:0;background:var(--alt);padding:20px}
.v2-qa__av{width:52px;height:52px;flex-shrink:0;border-radius:50%;background:var(--dk);display:flex;align-items:center;justify-content:center}
.v2-qa__av svg{width:24px;height:24px;fill:none;stroke:var(--dk-label);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:640px){.v2-qa .faq summary{font-size:17px;gap:14px;padding:22px 0}.v2-qa .faq details p{padding:0 0 22px 42px;font-size:15px}}

/* Logo piste B : deux « o » qui se chevauchent */
.logo{font-size:28px}
.lgb{display:inline-flex;align-items:baseline;font-weight:600;letter-spacing:-.055em;line-height:1}
.logo .lgb span{font-size:inherit;letter-spacing:inherit}
.lgb svg.oo{width:auto;height:.54em;margin:0 -.005em 0 .012em;transform:translateY(.012em);overflow:visible;fill:none}
.lgb svg.oo .ink{fill:none;stroke:currentColor;stroke-width:10.6}
.lgb__k{margin-left:-.035em}
.lgb svg.dot{width:.2em;height:.2em;margin:0 0 0 .04em;fill:currentColor}
.foot__mark p .lgb{display:inline-flex}

/* Logo piste B, version lettres réelles : le second « o » chevauche le premier */
.lgb__o2{margin-left:-.123em}
.lgb .lgb__k{margin-left:-.04em}

/* Responsive : aucun élément ne doit élargir la page */
body{overflow-wrap:break-word}
.main,.row>*,.grid2>*,.grid3>*,.grid4>*,.hero__grid>*,.v2-hero__g>*,.v2-day__g>*,.v2-qa__g>*,.v2-final__g>*,.v2-proof__g>*,.pn>*,.xb>*{min-width:0}
.ui__bar b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.faq summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.v2-qa .faq summary{display:grid;grid-template-columns:28px minmax(0,1fr) 18px}
@media (max-width:860px){.cab{grid-template-columns:1fr !important;gap:28px !important}.cab>.ph-img{height:280px !important}}
@media (max-width:640px){
  .v2-pick{flex-direction:column;align-items:flex-start;gap:6px}
  .v2-pick b{white-space:normal}
  .v2-pick span{font-size:16px}
  .hero__ui,.v2-hero__ui{max-width:100%}
  .v2-hero__v{height:320px}
  .v2-hero__img{inset:0 0 56px 0}
  .v2-hero__ui{left:16px;right:16px;width:auto;bottom:0}
  .v2-hero__ui .ui__r{display:none}
  .v2-proof__img{min-height:240px}
  .v2-day__p .ph-img{height:300px}
  .sx--float .sx__lab,.sx--float .sx__car{display:none}
  .sx--float .sx__btn{width:46px;min-height:46px;padding:0;justify-content:center;gap:0}
  .sx--float.is-set .sx__btn{width:46px}
}
.sx--float{transition:opacity .25s,transform .25s}
.sx--float.sx--away{opacity:0;transform:translateY(12px);pointer-events:none}

/* Logos clients dans les témoignages et les réalisations */
.qcard__logo{max-width:140px;height:40px;margin-bottom:22px;background-position:left center;filter:brightness(0) invert(1);opacity:.85}
.rea__logo{max-width:130px;height:42px;margin-bottom:14px;background-position:left center;filter:grayscale(1);opacity:.85}
.cas__logo{max-width:170px;height:52px;margin:14px 0 4px;background-position:left center;filter:grayscale(1)}

/* ===== Pages enjeux ===== */
.ej-hero{position:relative;padding:72px 0 64px;overflow:hidden}
.ej-hero__g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:end}
.ej-h1{font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:-.04em;line-height:1.02;margin-top:16px}
.ej-h1 .w{display:inline-block;opacity:0;transform:translateY(.4em);animation:ejWord .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes ejWord{to{opacity:1;transform:none}}
.ej-hero .lead{margin-top:20px;font-size:17px;max-width:560px}
.ej-hero__side{border-left:1px solid var(--line);padding-left:32px}
.ej-hero__side p{font-size:14px;color:var(--ink-2)}
.ej-hero__side b{display:block;font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.ej-hero__side .actions{margin-top:22px}
/* grille des six situations */
.ej-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.ej-card{position:relative;background:#FFF;padding:28px 26px 26px;min-height:250px;display:flex;flex-direction:column;gap:14px;cursor:pointer;text-align:left;border:0;font:inherit;color:inherit;overflow:hidden;transition:background-color .35s}
.ej-card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ej-card:hover::after,.ej-card[aria-expanded="true"]::after{transform:scaleX(1)}
.ej-card[aria-expanded="true"]{background:var(--alt)}
.ej-card__n{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.ej-card__t{font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.2}
.ej-card__q{font-size:15px;color:var(--ink-2);line-height:1.5;transition:color .3s}
.ej-card:hover .ej-card__q{color:var(--ink)}
.ej-card__go{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;color:var(--accent)}
.ej-card__go i{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-style:normal;transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s}
.ej-card[aria-expanded="true"] .ej-card__go i{transform:rotate(90deg);background:var(--ink);color:#FFF;border-color:var(--ink)}
.ej-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.ej-ico svg{width:20px;height:20px;fill:none;stroke:#0A0A0A;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* panneau déplié */
.ej-panel{grid-column:1/-1;background:var(--dk);color:var(--dk-text);overflow:hidden;height:0}
.ej-panel__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:40px;padding:36px}
.ej-panel h3{font-size:12px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dk-label);font-weight:400}
.ej-panel ul,.ej-panel ol{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ej-panel li{font-size:15px;line-height:1.45;display:flex;gap:10px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.ej-panel.is-open li{opacity:1;transform:none}
.ej-panel.is-open li:nth-child(2){transition-delay:.08s}.ej-panel.is-open li:nth-child(3){transition-delay:.16s}
.ej-panel ul li::before{content:"";flex-shrink:0;width:6px;height:6px;margin-top:8px;background:#E28B78}
.ej-panel ol{counter-reset:ej}
.ej-panel ol li{counter-increment:ej}
.ej-panel ol li::before{content:counter(ej);flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--dk-line);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--dk-label)}
.ej-panel__svc{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ej-panel__svc a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--dk-line);color:var(--dk-text) !important;text-decoration:none;font-size:14px;transition:padding-left .25s}
.ej-panel__svc a:hover{padding-left:6px}
.ej-panel .btn{margin-top:20px;background:var(--dk-text);color:var(--dk);border-color:var(--dk-text)}
.ej-panel__case{margin-top:14px;font-size:13px;color:var(--dk-muted)}
/* quiz */
.ej-quiz{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.ej-quiz__box{background:#FFF;border:1px solid var(--line);padding:32px;min-height:340px;position:relative;overflow:hidden}
.ej-quiz__bar{height:3px;background:var(--line);margin-bottom:26px;position:relative}
.ej-quiz__bar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);width:0;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.ej-quiz__step{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.ej-quiz__q{font-size:22px;font-weight:500;letter-spacing:-.02em;margin-top:8px}
.ej-quiz__opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.ej-opt{font:inherit;font-size:15px;text-align:left;padding:16px 18px;border:1px solid var(--line-2);background:#FFF;cursor:pointer;color:var(--ink);transition:border-color .2s,background-color .2s,transform .2s}
.ej-opt:hover{border-color:var(--ink);transform:translateY(-2px)}
.ej-quiz__slide{animation:ejSlide .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes ejSlide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.ej-res{display:flex;flex-direction:column;gap:12px}
.ej-res__t{font-size:26px;font-weight:500;letter-spacing:-.025em}
.ej-res__q{color:var(--ink-2)}
.ej-res .actions{margin-top:8px}
.ej-res__again{font:inherit;font-size:13px;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;color:var(--ink-2);cursor:pointer;align-self:flex-start}
/* page enjeu : jauge */
.ej-test{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:48px;align-items:center;margin-top:32px}
.ej-signs{display:flex;flex-direction:column;gap:10px}
.ej-sign{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);background:#FFF;cursor:pointer;font:inherit;text-align:left;font-size:16px;color:var(--ink);transition:border-color .25s,background-color .25s,transform .25s}
.ej-sign:hover{transform:translateX(4px);border-color:var(--ink)}
.ej-sign i{flex-shrink:0;width:24px;height:24px;border:1.5px solid var(--line-2);border-radius:6px;position:relative;transition:background-color .25s,border-color .25s}
.ej-sign[aria-pressed="true"]{background:var(--alt);border-color:var(--ink)}
.ej-sign[aria-pressed="true"] i{background:var(--accent);border-color:var(--accent)}
.ej-sign[aria-pressed="true"] i::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #FFF;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ej-gauge{text-align:center}
.ej-gauge svg{width:220px;height:220px;transform:rotate(-90deg)}
.ej-gauge circle{fill:none;stroke-width:14}
.ej-gauge .bg{stroke:var(--line)}
.ej-gauge .fg{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:578;stroke-dashoffset:578;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1),stroke .4s}
.ej-gauge__v{margin-top:-140px;font-size:48px;font-weight:500;letter-spacing:-.04em}
.ej-gauge__v small{font-size:18px;color:var(--muted)}
.ej-gauge__t{margin-top:80px;font-size:15px;min-height:48px;max-width:280px;margin-left:auto;margin-right:auto;color:var(--ink-2);transition:opacity .3s}
.ej-gauge .btn{margin-top:14px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .4s,transform .4s}
.ej-gauge.is-hot .btn{opacity:1;pointer-events:auto;transform:none}
/* ce que ça coûte */
.ej-costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.ej-cost{padding:28px;background:var(--dk-2);border:1px solid var(--dk-line)}
.ej-cost b{display:block;font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--dk-text)}
.ej-cost p{margin-top:10px;color:var(--dk-muted);font-size:14.5px}
.ej-cost span{font-family:var(--f-mono);font-size:11px;color:var(--dk-label);letter-spacing:.06em;text-transform:uppercase}
/* feuille de route qui se dessine au défilement */
.ej-road{position:relative;margin-top:36px;padding-left:56px}
.ej-road::before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:var(--line)}
.ej-road__line{position:absolute;left:19px;top:0;width:2px;height:0;background:var(--accent);transition:height .15s linear}
.ej-step{position:relative;padding-bottom:40px}
.ej-step__dot{position:absolute;left:-56px;top:0;width:40px;height:40px;border-radius:50%;background:#FFF;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-weight:600;transition:background-color .4s,border-color .4s,color .4s}
.ej-step.is-on .ej-step__dot{background:var(--accent);border-color:var(--accent);color:#FFF}
.ej-step__when{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.ej-step h3{font-size:22px;font-weight:500;letter-spacing:-.02em;margin-top:6px}
.ej-step p{margin-top:8px;color:var(--ink-2);max-width:620px}
/* leviers */
.ej-levers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.ej-lever{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--line);background:#FFF;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.ej-lever:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(16,21,31,.08);border-color:var(--ink);color:inherit}
.ej-lever small{font-family:var(--f-mono);font-size:11px;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.ej-lever b{font-size:19px;font-weight:500;letter-spacing:-.02em}
.ej-lever p{font-size:14px;color:var(--ink-2)}
.ej-lever span{margin-top:auto;font-size:13px;font-weight:600;color:var(--accent)}
/* autres situations */
.ej-others{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.ej-others a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--line-2);text-decoration:none;font-size:14.5px;transition:background-color .25s,color .25s,border-color .25s}
.ej-others a:hover{background:var(--ink);color:#FFF !important;border-color:var(--ink)}
.ej-rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.ej-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ej-h1 .w,.ej-rv,.ej-panel li{animation:none;opacity:1;transform:none;transition:none}}
@media (max-width:980px){.ej-hero__g,.ej-quiz,.ej-test{grid-template-columns:1fr}.ej-grid,.ej-costs,.ej-levers{grid-template-columns:1fr 1fr}.ej-panel__in{grid-template-columns:1fr;gap:24px}.ej-hero__side{border-left:0;padding-left:0}}
@media (max-width:640px){.ej-grid,.ej-costs,.ej-levers,.ej-quiz__opts{grid-template-columns:1fr}.ej-card{min-height:0}.ej-panel__in{padding:24px}}
.ej-hero__vis{position:relative;height:440px}
.ej-hero__vis .ph-img{position:absolute;inset:0 0 48px 64px;min-height:0}
.ej-quote{position:absolute;left:0;bottom:0;width:68%;margin:0;background:#FFF;padding:24px 26px;box-shadow:0 18px 40px rgba(16,21,31,.12);animation:ejWord .8s .5s cubic-bezier(.2,.8,.2,1) both}
.ej-quote blockquote{margin:0;font-size:19px;font-weight:500;letter-spacing:-.015em;line-height:1.35}
.ej-quote figcaption{margin-top:10px;font-size:12.5px;color:var(--muted)}
.ej-hero .actions{margin-top:26px}
.ej-roadg{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.ej-roadg__l{position:sticky;top:120px}
.ej-roadg__img{height:260px;min-height:0;margin-top:28px}
.ej-roadg .ej-road{margin-top:8px}
@media (max-width:980px){.ej-roadg{grid-template-columns:1fr;gap:32px}.ej-roadg__l{position:static}.ej-hero__vis{height:340px}}
@media (max-width:640px){.ej-quote{width:auto;right:16px}.ej-hero__vis .ph-img{inset:0 0 72px 0}}

/* Accueil : exemples et portes */
/* 3 · portes */
.hp-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.hp-door{position:relative;display:flex;flex-direction:column;background:var(--dk);color:var(--dk-text);padding:30px 28px 26px;min-height:380px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.hp-door::before{content:"";position:absolute;inset:0;background:var(--pic) center/cover;opacity:.18;transition:opacity .5s,transform .8s cubic-bezier(.2,.8,.2,1)}
.hp-door:hover{transform:translateY(-6px)}
.hp-door:hover::before{opacity:.32;transform:scale(1.05)}
.hp-door>*{position:relative}
.hp-door__k{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dk-label)}
.hp-door h3{margin-top:12px;font-size:24px;font-weight:500;letter-spacing:-.025em;line-height:1.2}
.hp-door p{margin-top:8px;font-size:14.5px;color:var(--dk-muted)}
.hp-door__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.hp-door__chips a{font-size:13px;padding:7px 11px;border:1px solid var(--dk-line);color:var(--dk-text) !important;text-decoration:none;background:rgba(255,255,255,.04);transition:background-color .25s,border-color .25s,color .25s}
.hp-door__chips a:hover{background:var(--dk-text);color:var(--dk) !important;border-color:var(--dk-text)}
.hp-door__go{margin-top:auto;padding-top:22px;font-size:14px;font-weight:500;color:var(--dk-text) !important;text-decoration:none;display:flex;justify-content:space-between;border-top:1px solid var(--dk-line)}
.hp-door__go i{font-style:normal;transition:transform .3s}
.hp-door:hover .hp-door__go i{transform:translateX(6px)}
.hp-unsure{margin-top:22px;text-align:center;font-size:15px;color:var(--ink-2)}
.hp-unsure a{font-weight:500}

.hp-doors{margin-top:32px}
.pan__ex{display:flex;flex-direction:column;gap:6px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .4s,margin .4s}
.pan__exk{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.pan__exi{display:flex;gap:8px;font-size:13.5px;line-height:1.4}
.pan__exi::before{content:"→";opacity:.7}
.pan.is-on .pan__ex,.pans:not(:hover):not(:focus-within) .pan:first-child .pan__ex,.pan:hover .pan__ex,.pan:focus-visible .pan__ex{max-height:160px;opacity:1;margin-top:16px}
.pan{min-height:460px}
@media (max-width:980px){.hp-doors{grid-template-columns:1fr}.hp-door{min-height:0}.pan__ex{max-height:none;opacity:1;margin-top:14px}}

/* Accueil : onglets Explorer */
.xtabs{position:relative;display:inline-flex;gap:4px;margin-top:28px;padding:4px;background:var(--alt)}
.xtabs button{position:relative;z-index:1;font:inherit;font-size:14.5px;font-weight:500;padding:11px 20px;border:0;background:none;cursor:pointer;color:var(--ink-2);transition:color .3s}
.xtabs button[aria-selected="true"]{color:#FFF}
.xtabs__ink{position:absolute;top:4px;bottom:4px;left:4px;width:0;background:var(--ink);transition:left .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1)}
.xpanel{margin-top:8px}
.xpanel.is-anim{animation:xpIn .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes xpIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.xen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:28px;border-top:1px solid var(--line)}
.xen__r{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding-left .3s}
.xen__r:hover{padding-left:8px;color:inherit}
.xen__b b{display:block;font-size:17px;font-weight:500;letter-spacing:-.015em}
.xen__b span{display:block;margin-top:4px;font-size:14px;color:var(--ink-2)}
.xen__r i{font-style:normal;color:var(--accent);transition:transform .3s}
.xen__r:hover i{transform:translateX(5px)}
.xen__more{margin-top:20px}
.xse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}
.xse__k{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--line)}
.xse__k i{width:14px;height:14px;border-radius:4px}
.xse__g a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:padding-left .25s,color .25s}
.xse__g a:hover{padding-left:6px;color:var(--accent)}
@media (min-width:981px){.xen,.xse,#xp-enj .xen__more,#xp-sec .xen__more{margin-left:-230px}}
@media (max-width:980px){.xen{grid-template-columns:1fr}.xse{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.xtabs{display:flex;width:100%}.xtabs button{flex:1;padding:10px 6px;font-size:13px}.xse{grid-template-columns:1fr}}

/* Onglets Explorer : version éditoriale */
.xtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:36px;padding:0;background:none;border-bottom:1px solid var(--line)}
.xtabs button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:baseline;text-align:left;padding:18px 24px 20px 0;color:var(--muted);font-size:inherit;font-weight:400}
.xtabs button[aria-selected="true"]{color:var(--ink)}
.xtabs button:hover{color:var(--ink)}
.xtabs__n{grid-row:span 2;font-family:var(--f-mono);font-size:12px;color:var(--muted);transition:color .3s}
.xtabs button[aria-selected="true"] .xtabs__n{color:var(--accent)}
.xtabs__t{font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.2;transition:color .3s}
.xtabs__c{font-size:13px;color:var(--muted)}
.xtabs__ink{top:auto;bottom:-1px;left:0;height:2px;background:var(--accent)}
.xtabs button::after{content:"→";position:absolute;right:24px;top:22px;font-size:16px;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s;color:var(--accent)}
.xtabs button:hover::after{opacity:1;transform:none}
.xtabs button[aria-selected="true"]::after{opacity:0}
.xpanel{margin-top:0}
@media (min-width:981px){.xtabs{margin-left:-230px}}
@media (max-width:980px){.xtabs__c{display:none}.xtabs__t{font-size:17px}.xtabs button{padding:14px 10px 16px 0;column-gap:8px}.xtabs button::after{display:none}}
@media (max-width:640px){.xtabs{display:grid}.xtabs button{grid-template-columns:1fr;padding:12px 6px 14px 0}.xtabs__n{grid-row:auto}.xtabs__t{font-size:15px}}

/* Index des métiers */
.mx__s{display:flex;align-items:center;gap:12px;margin-top:28px;max-width:560px;padding:0 18px;height:54px;background:#FFF;border:1px solid var(--line-2);transition:border-color .25s,box-shadow .25s}
.mx__s:focus-within{border-color:var(--ink);box-shadow:0 10px 28px rgba(16,21,31,.08)}
.mx__s svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;flex-shrink:0}
.mx__s input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15px;color:var(--ink)}
.mx{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px;margin-top:36px}
.mx__g[hidden]{display:none}
.mx__k{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:15px;font-weight:600;letter-spacing:-.01em}
.mx__k small{font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted)}
.mx__a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px;color:var(--ink);transition:padding-left .3s,color .25s}
.mx__a[hidden]{display:none}
.mx__a i{font-style:normal;color:var(--accent);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s}
.mx__a:hover{padding-left:8px;color:var(--accent)}
.mx__a:hover i{opacity:1;transform:none}
.mx__a.is-hit span{background:linear-gradient(transparent 62%,var(--sauge) 62%)}
.mx__none{margin-top:24px;color:var(--ink-2)}
@media (min-width:981px){.mx{margin-left:-230px}}
@media (max-width:980px){.mx{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.mx{grid-template-columns:1fr;gap:28px}}

/* Choix du métier après la recherche d'entreprise */
.mtc{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);background:#FFF}
.mtc__t{font-size:14px}
.mtc__k{margin-top:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mtc__d{margin-top:6px;border-top:1px solid var(--line);padding-top:8px}
.mtc__d summary{cursor:pointer;font-size:13px;font-weight:600}
.mtc__skip{margin-top:8px;border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--muted);text-decoration:underline;cursor:pointer}
.mtc__ld{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.mtc__sp{width:14px;height:14px;border:2px solid var(--line-2);border-top-color:var(--ink);border-radius:50%;animation:mtcsp .8s linear infinite;flex-shrink:0}
@keyframes mtcsp{to{transform:rotate(360deg)}}

/* Bandeau de consentement */
.ck-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 16px;background:#FFF;border:1px solid var(--line-2);box-shadow:0 10px 30px rgba(0,0,0,.12);font-size:13.5px}
.ck-bar[hidden]{display:none}
.ck-bar p{flex:1 1 320px;margin:0;color:var(--ink)}
.ck-bar a{color:inherit}
.ck-bar__a{display:flex;gap:8px}
.ck-bar button{font:inherit;font-size:13px;min-height:38px;padding:0 14px;border:1px solid var(--ink);background:#FFF;color:var(--ink);cursor:pointer}
.ck-bar button.is-main{background:var(--ink);color:#FFF}

/* Habillage Graphite & orange */
body{font-family:var(--f-sans)}
.lgb,.logo{font-family:'Geist','Helvetica Neue',Arial,sans-serif}
.lab i,.lvs__dot,.sx-banner__dot{background:var(--mark) !important}
.lgb svg.dot{fill:var(--mark)}
.xtabs__ink,.ej-road__line{background:var(--mark) !important}
.rail span{color:var(--mark)}
.ej-gauge .fg{stroke:var(--mark)}
.mm__item,.xp__l a,.xse__g a{text-transform:none;letter-spacing:0;font-size:14px}

/* Same box as .lgb svg.dot, for the copied mark used as an image. */
.lgb img.dot{width:.2em;height:.2em;margin:0 0 0 .04em;flex:none;max-width:none}

/* « Ce qu'on livre » : plan d'architecte très discret sur toute la section, tracé à l'arrivée puis animé lentement. */
.sec--plan{position:relative;overflow:hidden;overflow:clip;isolation:isolate;border-top:0;background:linear-gradient(to bottom,var(--bg) 0,var(--alt) 200px,var(--alt) 100%)}
.sec--plan>.wrap{position:relative;z-index:1}
.plan{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;color:var(--ink);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 200px,#000 calc(100% - 120px),transparent 100%),radial-gradient(ellipse 24% 46% at 78% 44%,rgba(0,0,0,.2) 50%,#000 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 200px,#000 calc(100% - 120px),transparent 100%),radial-gradient(ellipse 24% 46% at 78% 44%,rgba(0,0,0,.2) 50%,#000 100%);mask-composite:intersect}
.plan .ln{fill:none;stroke:currentColor;stroke-opacity:.06;stroke-width:1}
.plan .draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 3.4s cubic-bezier(.6,.05,.2,1)}
.sec--plan.is-in .plan .draw{stroke-dashoffset:0}
.plan .fade{opacity:0;transition:opacity 2.4s 2s}
.sec--plan.is-in .plan .fade{opacity:1}
.plan .dash{stroke-dasharray:4 7}
.plan .dash-fine{stroke-dasharray:1 9;stroke-opacity:.09}
.plan .spin{transform-box:view-box;transform-origin:1128px 572px;animation:plSpin 140s linear infinite}
.plan .march{stroke-dasharray:2 10;animation:plMarch 7s linear infinite}
.plan .acc{stroke:var(--mark);stroke-opacity:.16}
.plan text{font:500 11px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.1em;fill:currentColor;fill-opacity:.2}
.plan .runner{fill:var(--mark);fill-opacity:.3}
@keyframes plSpin{to{transform:rotate(360deg)}}
@keyframes plMarch{to{stroke-dashoffset:-120}}
.screen{background-color:transparent;background-image:radial-gradient(ellipse 58% 54% at 50% 48%,color-mix(in srgb,var(--accent) 8%,#F4F1EC) 35%,transparent 72%);background-size:100% 100%;background-repeat:no-repeat;background-position:center;animation:none;isolation:isolate}
.js .screen{animation:none}
.screen::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(16,21,31,.2) 1px,transparent 1.5px);background-size:16px 16px;-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 65% at 50% 45%,#000 20%,transparent 75%)}
.screen [data-screen]{z-index:1}
.screen .screen__nav,.screen .screen__hint{z-index:3}
.screen .ui{box-shadow:0 1px 0 rgba(16,21,31,.04),0 18px 36px -22px rgba(16,21,31,.32);outline:1px solid rgba(16,21,31,.06)}
@media (prefers-reduced-motion:reduce){.plan .draw{transition:none;stroke-dashoffset:0}.plan .fade{transition:none;opacity:1}.plan .spin,.plan .march{animation:none}.plan .runner{display:none}}

/* Explorer : les onglets passent sous la colonne du titre, donc le titre ne colle pas dans cette section. */
#expertises .rail{position:static}
/* Explorer : des onglets épurés (sans numéros ni compteurs), plus d'air sous le titre, un seul trait. */
#expertises .xtabs{margin-top:64px}
#expertises .xtabs__n,#expertises .xtabs__c{display:none}
#expertises .xtabs button{grid-template-columns:1fr;padding:0 24px 18px 0}
#expertises .xps{border-top:0;margin-top:8px}

/* Pages expertise · « Ce qu'on construit » : une photo avec la fenêtre d'outil, les briques à côté ; l'écran suit la brique survolée. */
.v2-duo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;margin-top:36px;align-items:stretch}
.v2-duo__v{position:relative;min-height:440px;overflow:hidden;background-color:var(--dk);background-size:cover;background-position:center}
.v2-duo__v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(var(--dk-rgb),.55))}
.v2-duo__ui{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;background:#FFF;box-shadow:0 30px 60px -25px rgba(0,0,0,.5);font-size:13px}
.v2-duo__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line)}
.v2-duo__bar i{width:7px;height:7px;background:#CFD6D2}
.v2-duo__bar span{margin-left:auto;font-size:11px;color:var(--muted)}
.v2-duo__rows{position:relative;height:126px}
.v2-duo__set{position:absolute;inset:0;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.v2-duo__set.is-on{opacity:1;transform:none}
.v2-duo__set div{display:flex;justify-content:space-between;padding:10px 14px;border-top:1px solid #EEF1EF}
.v2-duo__set div:first-child{border-top:0}
.v2-duo__set em{font-style:normal;color:var(--accent);font-weight:600}
.v2-duo__l{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.v2-duo__i{display:grid;grid-template-columns:28px 1fr;column-gap:16px;padding:22px 0 22px 14px;border-bottom:1px solid var(--line);position:relative;cursor:pointer;outline:0}
.v2-duo__i::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:2px;background:var(--line);transition:background-color .3s}
.v2-duo__i.is-on::before{background:var(--ink)}
.v2-duo__i:focus-visible{box-shadow:inset 0 0 0 2px var(--mark)}
.v2-duo__n{font-size:12px;color:var(--muted);padding-top:5px;font-variant-numeric:tabular-nums}
.v2-duo__i.is-on .v2-duo__n{color:var(--accent)}
.v2-duo__i .h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--muted);transition:color .3s}
.v2-duo__i.is-on .h3,.v2-duo__i:hover .h3{color:var(--ink)}
.v2-duo__i p{grid-column:2;margin:0;font-size:15px;color:var(--ink-2);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .4s,margin .4s}
.v2-duo__i.is-on p{max-height:90px;opacity:1;margin-top:6px}
@media (max-width:900px){.v2-duo{grid-template-columns:1fr;gap:28px}.v2-duo__v{min-height:320px}}
@media (prefers-reduced-motion:reduce){.v2-duo__set,.v2-duo__i p{transition:none}}

/* Pages expertise · « Comment ça se passe » : frise carrée de plan technique, sur fond de plan d'architecte (même famille que l'accueil). */
.plan--tl{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 160px,#000 calc(100% - 80px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 160px,#000 calc(100% - 80px),transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
.plan--tl .ln{stroke-opacity:.05}
.sec--plan .v2-tl{counter-reset:ph;gap:0;margin-top:56px}
.sec--plan .v2-tl::before{left:0;right:0;top:14px;height:1px;background:color-mix(in srgb,var(--ink) 28%,transparent);transform-origin:left;transform:scaleX(0);transition:transform 2.4s cubic-bezier(.6,.05,.2,1)}
.sec--plan.is-in .v2-tl::before{transform:scaleX(1)}
.sec--plan .v2-tl li{counter-increment:ph;padding:0 28px 8px 24px;border-left:1px solid color-mix(in srgb,var(--ink) 12%,transparent);transition:background-color .4s}
.sec--plan .v2-tl li:first-child{border-left-color:color-mix(in srgb,var(--ink) 28%,transparent)}
.sec--plan .v2-tl li::before{content:"";position:absolute;left:-1px;top:-36px;bottom:-36px;width:1px;background:linear-gradient(transparent,color-mix(in srgb,var(--ink) 14%,transparent) 30%,color-mix(in srgb,var(--ink) 14%,transparent) 70%,transparent)}
.sec--plan .v2-tl li:hover{background-image:linear-gradient(rgba(16,21,31,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.04) 1px,transparent 1px);background-size:14px 14px}
.sec--plan .v2-tl__n{width:28px;height:28px;border-radius:0;background:var(--alt);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 40%,transparent);font-size:12px;font-weight:600;margin:0 0 22px -38px;transition:background-color .4s,color .4s,border-color .4s}
.sec--plan.is-in .v2-tl__n{background:var(--ink);color:#FFF;border-color:var(--ink)}
.sec--plan.is-in .v2-tl li:nth-child(2) .v2-tl__n{transition-delay:.6s}
.sec--plan.is-in .v2-tl li:nth-child(3) .v2-tl__n{transition-delay:1.2s}
.sec--plan.is-in .v2-tl li:nth-child(4) .v2-tl__n{transition-delay:1.8s;background:var(--mark);border-color:var(--mark)}
.sec--plan .v2-tl b::before{content:"PHASE 0" counter(ph);display:block;margin-bottom:6px;font:500 11px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.1em;color:var(--accent)}
.sec--plan .v2-tl b{font-size:20px;letter-spacing:-.02em}
.sec--plan .v2-tl p{font-size:15px;line-height:1.55}
@media (max-width:900px){.sec--plan .v2-tl li{padding:0 16px 24px 20px}.sec--plan .v2-tl__n{margin-left:-34px}.sec--plan .v2-tl li::before{display:none}}
@media (prefers-reduced-motion:reduce){.sec--plan .v2-tl::before{transform:none;transition:none}.sec--plan .v2-tl__n{transition:none}}

/* Enjeux · format « projection » : aujourd'hui / dans six mois, et le chemin relié aux savoir-faire. */
.ej-6m{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch;margin-top:36px;border:1px solid var(--line)}
.ej-6m__col{padding:28px 32px}
.ej-6m__col--now{background:var(--alt)}
.ej-6m__col--then{background:#FFF;box-shadow:inset 3px 0 0 var(--mark)}
.ej-6m__k{margin:0 0 14px;font:500 11px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ej-6m__col--then .ej-6m__k{color:var(--accent)}
.ej-6m ul{list-style:none;margin:0;padding:0}
.ej-6m li{padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.45}
.ej-6m li:first-child{border-top:0}
.ej-6m__col--now li{color:var(--ink-2)}
.ej-6m__arrow{display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--alt) 50%,#FFF 50%)}
.ej-6m__arrow svg{width:36px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.5}
.ej-path{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--ink) 28%,transparent);counter-reset:none}
.ej-path__s{position:relative;padding:28px 28px 8px 0;display:flex;flex-direction:column;gap:8px}
.ej-path__s+.ej-path__s{padding-left:28px;border-left:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.ej-path__n{position:absolute;top:-15px;left:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#FFF;font-size:12px;font-weight:600}
.ej-path__s+.ej-path__s .ej-path__n{left:28px}
.ej-path__s:last-child .ej-path__n{background:var(--mark)}
.ej-path__when{margin:6px 0 0;font:500 11px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.08em;color:var(--accent)}
.ej-path__s h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.02em}
.ej-path__s p{margin:0;font-size:15px;color:var(--ink-2)}
.ej-path__x{margin-top:8px;align-self:flex-start;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}
.ej-path__x:hover{color:var(--accent);border-color:var(--accent)}
.ej-path__budget{margin:36px 0 0;padding:18px 22px;border:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);font-size:15px;color:var(--ink-2)}
.ej-path__budget b{color:var(--ink)}
.ej-others__soon{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px dashed var(--line-2);font-size:14.5px;color:var(--ink-2);cursor:default}
.ej-others__soon small{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:1px 6px}
@media (max-width:900px){.ej-6m{grid-template-columns:1fr}.ej-6m__arrow{height:44px;background:none;transform:rotate(90deg)}.ej-6m__col--then{box-shadow:inset 0 3px 0 var(--mark)}.ej-path{grid-template-columns:1fr;border-top:0}.ej-path__s,.ej-path__s+.ej-path__s{padding:28px 0 20px 0;border-left:0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.ej-path__s+.ej-path__s .ej-path__n{left:0}}

/* ===== Gabarit expertise (validé le 14/10/2026) ===== */
/* Haut de page : l'outil se dessine en plan, puis se construit. Pas de photo. */
.v2-plan{display:flex;align-items:center;justify-content:center;padding:44px 48px 40px 0}
.v2-plan::before{content:"";position:absolute;inset:-20px -40px -20px -20px;background-image:linear-gradient(rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(rgba(16,21,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.035) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent);pointer-events:none}
.v2-plan .v2-hero__ui{position:relative;left:auto;bottom:auto;width:100%;max-width:520px}
.v2-plan .ui{box-shadow:0 24px 48px -28px rgba(16,21,31,.35);border:1px dashed transparent;transition:background-color .5s,box-shadow .5s,border-color .5s}
.v2-plan .ui__k div:nth-child(2),.v2-plan .ui__k div:nth-child(3){background:var(--alt)}
.v2-plan .ui__k div:nth-child(1){background:var(--sable)}
.v2-plan__dim{position:absolute;font-size:11px;color:var(--accent);opacity:.35;transition:opacity .6s}
.v2-plan__dim--x{left:0;right:48px;top:14px;height:12px;border-left:1px solid;border-right:1px solid;text-align:center}
.v2-plan__dim--x::before{content:"";position:absolute;left:0;right:0;top:6px;border-top:1px solid}
.v2-plan__dim--x span{position:relative;background:#FFF;padding:0 8px}
.v2-plan__dim--y{top:44px;bottom:40px;right:14px;width:12px;border-top:1px solid;border-bottom:1px solid}
.v2-plan__dim--y::before{content:"";position:absolute;top:0;bottom:0;left:6px;border-left:1px solid}
.v2-plan__dim--y span{position:absolute;top:50%;left:-2px;transform:translate(-100%,-50%) rotate(-90deg);transform-origin:right center;background:#FFF;padding:0 6px;white-space:nowrap}
.v2-plan__stamp{position:absolute;left:0;bottom:8px;margin:0;font-size:11px;color:var(--muted)}
.v2-plan__stamp b{color:var(--accent);font-weight:500}
.v2-plan.s-plan .v2-plan__dim{opacity:1}
.v2-plan.s-plan .ui{background:transparent;box-shadow:none;border-color:var(--accent);animation:planTrace 1s cubic-bezier(.6,0,.2,1) both}
@keyframes planTrace{from{clip-path:inset(0 100% 100% 0)}50%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.v2-plan .ui__bar>*,.v2-plan .ui__k>div,.v2-plan .ui__r>div,.v2-plan .ui__r,.v2-plan .ui__bar{transition:background-color .45s,color .45s,outline-color .45s,border-color .45s,opacity .45s}
.v2-plan.s-plan .ui__bar{border-color:transparent}.v2-plan.s-plan .ui__bar>*{opacity:0}
.v2-plan.s-plan .ui__r{border-color:transparent}
.v2-plan.s-plan .ui__k>div,.v2-plan.s-plan .ui__r>div{color:transparent;background:rgba(232,130,58,.05);outline:1px dashed rgba(180,88,26,.7);outline-offset:-1px;border-color:transparent;animation:planPop .35s both}
.v2-plan.s-plan .ui__k>div *,.v2-plan.s-plan .ui__r>div *{color:transparent}
.v2-plan.s-plan .ui__r>div{margin-top:6px}
@keyframes planPop{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.v2-plan.s-plan .ui__k>div:nth-child(1){animation-delay:.7s}.v2-plan.s-plan .ui__k>div:nth-child(2){animation-delay:.8s}.v2-plan.s-plan .ui__k>div:nth-child(3){animation-delay:.9s}
.v2-plan.s-plan .ui__r>div:nth-child(1){animation-delay:1.05s}.v2-plan.s-plan .ui__r>div:nth-child(2){animation-delay:1.15s}.v2-plan.s-plan .ui__r>div:nth-child(3){animation-delay:1.25s}
.v2-plan .ui__k>div:nth-child(1){transition-delay:.1s}.v2-plan .ui__k>div:nth-child(2){transition-delay:.2s}.v2-plan .ui__k>div:nth-child(3){transition-delay:.3s}
.v2-plan .ui__r>div:nth-child(1){transition-delay:.45s}.v2-plan .ui__r>div:nth-child(2){transition-delay:.55s}.v2-plan .ui__r>div:nth-child(3){transition-delay:.65s}
.v2-plan.s-plan .ui__k>div,.v2-plan.s-plan .ui__r>div{transition-delay:0s}
@media (max-width:980px){.v2-plan{padding:40px 36px 36px 0}.v2-plan .v2-hero__ui{max-width:none}}
@media (max-width:640px){.v2-plan__dim--y{display:none}.v2-plan{padding-right:0}.v2-plan__dim--x{right:0}}

/* Briques : l'écran sur plan, plus de photo ; défilement automatique avec trait de progression. */
.v2-duo__v--plan{background:none;overflow:visible}
.v2-duo__v--plan::after{display:none}
.v2-duo__v--plan::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(rgba(16,21,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.035) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent);pointer-events:none}
.v2-duo__v--plan .v2-duo__ui{left:40px;right:40px;top:50%;bottom:auto;transform:translateY(-50%);border:1px solid var(--line);box-shadow:0 24px 48px -32px rgba(16,21,31,.35)}
.v2-duo__v--plan .v2-duo__set.is-on div{animation:duoIn .4s both}
.v2-duo__v--plan .v2-duo__set.is-on div:nth-child(2){animation-delay:.08s}.v2-duo__v--plan .v2-duo__set.is-on div:nth-child(3){animation-delay:.16s}
@keyframes duoIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.v2-duo__t{grid-column:1/-1;height:1px;background:var(--line);margin-top:10px;overflow:hidden;display:none}
.v2-duo__i.is-on .v2-duo__t{display:block}
.v2-duo__i.is-on .v2-duo__t i{display:block;height:100%;background:var(--mark);transform-origin:left;animation:duoFill 4s linear both}
[data-duo].is-hold .v2-duo__t i{animation-play-state:paused}
@keyframes duoFill{from{transform:scaleX(0)}to{transform:none}}
@media (max-width:900px){.v2-duo__v--plan{min-height:260px}.v2-duo__v--plan .v2-duo__ui{left:0;right:0}}

/* En-têtes à rail numéroté, comme sur l'accueil. */
.v2-rh{margin-bottom:4px}
.v2-rh .head{margin:0}
.lms .v2-rh{margin-bottom:28px}

/* Réalisations : carrousel de l'accueil. */
.v2-cases-c .head .h2{color:var(--dk-text)}

/* Votre projet : section sombre, formulaire en deux étapes. */
.v2-pj{background:var(--dk);color:var(--dk-text);padding:96px 0}
.v2-pj__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.v2-pj .lab{color:var(--dk-label)}
.v2-pj__h{margin:14px 0 0;font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.12;color:var(--dk-text)}
.v2-pj__pitch{margin:18px 0 0;color:var(--dk-muted);max-width:460px;font-size:16px}
.v2-pj__steps{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--dk-line)}
.v2-pj__steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--dk-line)}
.v2-pj__steps i{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dk-line);font-size:12px;font-weight:600;font-style:normal}
.v2-pj__steps li:first-child i{background:var(--mark);border-color:var(--mark);color:#FFF}
.v2-pj__steps b{display:block;font-weight:500}
.v2-pj__steps span{font-size:14px;color:var(--dk-muted)}
.v2-pj__who{margin:32px 0 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
.v2-pj__mono{width:64px;height:64px;background:var(--dk-2);border:1px solid var(--dk-line);display:flex;align-items:center;justify-content:center;font:600 24px/1 'Geist','Helvetica Neue',Arial,sans-serif;letter-spacing:-.06em;position:relative}
.v2-pj__mono::after{content:"";position:absolute;right:-1px;top:-1px;width:14px;height:14px;background:var(--dk);border-radius:0 0 0 14px}
.v2-pj__who blockquote{margin:0;font-size:15.5px;line-height:1.45}
.v2-pj__who b{display:block;margin-top:10px;font-size:14px;font-weight:600}
.v2-pj__who span{font-size:13px;color:var(--dk-muted)}
.v2-pj__alt{margin:24px 0 0;font-size:14px;color:var(--dk-muted)}
.v2-pj__alt .link{color:var(--dk-text)}
.pf{background:#FFF;color:var(--ink);padding:30px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.pf__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pf__top{display:grid;gap:10px;margin-bottom:22px}
.pf__k{font-size:12.5px;font-weight:500;color:var(--accent)}
.pf__bar{height:2px;background:var(--line)}
.pf__bar i{display:block;height:100%;width:50%;background:var(--mark);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.pf.is-2 .pf__bar i{width:100%}
.pf__step.is-on{animation:duoIn .45s both}
.pf__g+.pf__g{margin-top:20px}
.pf__q{margin:0 0 10px;font-weight:600;font-size:15px}
.pf__q small{font-weight:400;color:var(--muted);font-size:12.5px;margin-left:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{font-size:14px;font-weight:500;line-height:1;padding:11px 14px;border:1px solid var(--line);background:#FFF;border-radius:999px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.chip span:hover{border-color:var(--ink)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#FFF}
.chip input:checked+span::before{content:"✓";color:var(--mark);margin-right:6px}
.chip input:focus-visible+span{outline:2px solid var(--mark);outline-offset:2px}
.pf__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pf__grid label{display:grid;gap:6px;font-size:13px;font-weight:600}
.pf__grid .full{grid-column:1/-1}
.pf__grid input,.pf__grid textarea{font:inherit;font-size:15px;font-weight:400;padding:12px 14px;border:1px solid var(--line);background:#FFF;color:var(--ink);border-radius:0}
.pf__grid textarea{resize:vertical}
.pf__grid input:focus,.pf__grid textarea:focus{outline:2px solid var(--mark);outline-offset:-1px}
.pf__act{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.pf__back{background:none;border:0;font:inherit;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;padding:8px 0}
.pf__back:hover{color:var(--ink)}
.pf__err{margin:14px 0 0;color:#B42318;font-size:14px}
.pf__done{animation:duoIn .45s both}
.pf__done b{display:block;font-size:22px;font-weight:500;letter-spacing:-.02em}
.pf__done p{margin:12px 0 0;color:var(--ink-2);font-size:15px}
@media (max-width:980px){.v2-pj__g{grid-template-columns:1fr;gap:40px}.pf{padding:22px}.pf__grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.v2-plan .ui,.v2-plan .ui *{animation:none!important;transition:none!important}.v2-duo__t i{animation:none!important}}

/* ===== Gabarit expertise « maquette » (validé le 14/10/2026), cloisonné sous .xgab ===== */
.xgab{
  color-scheme: light;
  --bg:#FFFFFF; --alt:#F4F3F0; --hdr:#FAF8F4; --hdr-line:#E6E2DA;
  --ink:#10151F; --ink-2:#4A5260; --muted:#6B7280; --line:#E3E3E0;
  --dk:#1C1F22; --dk-2:#25292D; --dk-ink:#F2F2EF; --dk-mute:#A6ABB0; --dk-line:#33383D;
  --accent:#B4581A; --mark:#E8823A; --accent-dk:#F2A66B;
  --u-dev:#2E57C9; --u-cons:#8A5A2B;
  --f:'Manrope','Helvetica Neue',Arial,sans-serif; --fl:'Manrope','Helvetica Neue',Arial,sans-serif; --fm:'Manrope','Helvetica Neue',Arial,sans-serif;
}
.xgab{--peche:#FCE9DA; --terre:#E3B4A0; --terre-f:#D4927A; --lilas:#E6E0EE; --lilas-f:#A794BE; --sauge:#E3EAE1; --sauge-f:#9DB59A; --bleu:#DCE4F7; --bleu-f:#2E57C9; --or:#F2C46B}
.xgab .vis{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:52px 44px 64px;color:#fff}
.xgab .vis::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;pointer-events:none}
.xgab .vis::after{content:attr(data-cart);position:absolute;right:14px;bottom:12px;padding:6px 10px;border:1px solid rgba(255,255,255,.45);font:500 10px/1 var(--fm);letter-spacing:0;text-transform:uppercase;color:rgba(255,255,255,.85);white-space:nowrap}
.xgab .vis > *{position:relative;z-index:1}
.xgab{--p1:#E8823A;--p2:#F2A66B;--p3:#D96A24}
.xgab .vis--peche,.xgab .vis--bleu{background:var(--p1)}
.xgab .vis--lilas,.xgab .vis--kraft{background:var(--p2)}
.xgab .vis--terre,.xgab .vis--sauge{background:var(--p3)}
.xgab .vis{transition:background-color .5s}
.xgab .app{background:#fff;width:100%;box-shadow:0 30px 60px -28px rgba(16,21,31,.4);font-size:12.5px}
.xgab .app__top{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid #EEE}
.xgab .app__top i{width:7px;height:7px;border-radius:50%;background:#E3E3E0}
.xgab .app__top i:nth-child(1){background:#F2A66B}
.xgab .app__top i:nth-child(2){background:var(--or)}
.xgab .app__top i:nth-child(3){background:var(--sauge-f)}
.xgab .app__top span{margin-left:8px;color:#6B7280}
.xgab .app__top em{margin-left:auto;font-style:normal;color:#6B7280}
.xgab .app__g{display:grid;grid-template-columns:120px 1fr}
.xgab .app__nav{border-right:1px solid #EEE;padding:12px 10px;display:grid;gap:4px;align-content:start}
.xgab .app__nav b{display:block;padding:6px 8px;font-weight:500;color:#4A5260}
.xgab .app__nav b.on{background:var(--peche);color:#10151F}
.xgab .app__main{padding:14px;display:grid;gap:12px}
.xgab .app__h{font:600 15px/1.2 var(--fl);letter-spacing:-.02em}
.xgab .tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.xgab .tiles div{padding:10px;border-radius:2px}
.xgab .tiles small{display:block;color:#4A5260;font-size:11px}
.xgab .tiles b{font:600 18px/1.3 var(--fl)}
.xgab .tiles div:nth-child(1){background:var(--peche)}
.xgab .tiles div:nth-child(2){background:var(--bleu)}
.xgab .tiles div:nth-child(3){background:var(--sauge)}
.xgab .chart{display:flex;align-items:flex-end;gap:6px;height:84px;padding-top:6px;border-bottom:1px solid #EEE}
.xgab .chart span{flex:1;background:var(--terre-f);height:var(--h);border-radius:2px 2px 0 0;transform-origin:bottom;animation:xp-grow 1.2s cubic-bezier(.2,.8,.2,1) both}
.xgab .chart span:nth-child(even){background:var(--bleu-f)}
.xgab .chart span:nth-child(3n){background:var(--or)}
@keyframes xp-grow{from{transform:scaleY(.1)}to{transform:none}}
.xgab .tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}
.xgab .tag--ok{background:var(--sauge);color:#3D5E3A}
.xgab .tag--go{background:var(--peche);color:#9A4511}
.xgab .tag--in{background:var(--bleu);color:#22408F}
.xgab .lines div{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid #F0F0EE}
.xgab .hero-vis{padding:28px 20px 34px}
.xgab .vis .draw .dim{color:rgba(255,255,255,.85)}
.xgab .vis .draw .dim span{background:var(--p1)}
.xgab .vis .draw .stamp{color:rgba(255,255,255,.75)}
.xgab .vis .draw .stamp b{color:#fff}
.xgab .vis .draw.s-plan .win{border-color:rgba(255,255,255,.9)}
.xgab .vis .draw.s-plan .win::after{background-image:repeating-linear-gradient(0deg,transparent 0 46px,rgba(255,255,255,.35) 46px 47px)}
.xgab .duo__v.vis{padding:44px 44px 60px}
.xgab .duo__v.vis .win{position:static;width:100%}
.xgab .case-img.vis{padding:40px 40px 56px}
.xgab .case-img .app{max-width:520px}
.xgab .photo-vis{padding:22px 22px 48px}
.xgab .photo-vis img{width:100%;aspect-ratio:4/5;object-fit:cover;margin:0!important}
.xgab .lived .photo-vis img{aspect-ratio:5/4}
.xgab .e-hero .photo-vis{margin-bottom:-60px}
.xgab{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
.xgab img{max-width:100%;display:block}
.xgab a{color:inherit}
.xgab h1,.xgab h2,.xgab h3{margin:0;font-weight:500;letter-spacing:-.03em;text-wrap:balance}
.xgab .wrap{max-width:1160px;margin:0 auto;padding-inline:24px}
.xgab .lab{display:inline-flex;align-items:center;gap:10px;font-family:var(--fm);font-size:11.5px;letter-spacing:0;text-transform:uppercase;color:var(--accent)}
.xgab .lab i{width:7px;height:7px;background:var(--mark);display:inline-block}
.xgab :focus-visible{outline:2px solid var(--mark);outline-offset:3px}
.xgab .crumbs{display:flex;gap:8px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.xgab .crumbs a{text-decoration:none}
.xgab .btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 24px;font:600 15px/1 var(--f);text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer}
.xgab .btn--ghost{background:transparent;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 30%,transparent)}
.xgab .btn .ar{transition:transform .25s}
.xgab .btn:hover .ar{transform:translateX(4px)}
.xgab .link{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.xgab .link:hover{color:var(--accent)}
.xgab .h2{font-size:clamp(28px,3vw,40px);line-height:1.12}
.xgab .rv{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.js .xgab .rv:not(.in){opacity:.25;transform:translateY(18px)}
.xgab .pl{position:relative;padding-block:104px}
.xgab .pl--alt{background:var(--alt)}
.xgab .pl--dk{background:var(--dk);color:var(--dk-ink)}
.xgab .pl--dk .lab{color:var(--accent-dk)}
.xgab .pl__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 48px;margin-bottom:48px}
.xgab .pl__head > div{max-width:660px}
.xgab .pl__head h2{margin-top:14px}
.xgab .pl__head p{margin:0;max-width:380px;color:var(--ink-2);font-size:15.5px}
.xgab .pl--dk .pl__head p{color:var(--dk-mute)}
.xgab .cart{position:absolute;right:24px;bottom:20px;display:grid;grid-template-columns:auto auto auto;border:1px solid color-mix(in srgb,currentColor 22%,transparent);font:500 10px/1 var(--fm);letter-spacing:0;text-transform:uppercase;color:var(--muted);background:inherit}
.xgab .pl--dk .cart{color:var(--dk-mute)}
.xgab .cart span{padding:7px 10px;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.xgab .cart span:first-child{border-left:0}
.xgab .cart b{color:var(--accent);font-weight:500}
.xgab .pl--dk .cart b{color:var(--accent-dk)}
@media (min-width:1300px){
.xgab .cart{right:calc((100vw - 1160px)/2 + 24px)}
}
.xgab .win{background:#fff;box-shadow:0 30px 60px -30px rgba(16,21,31,.45)}
.xgab .win__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.xgab .win__bar i{width:7px;height:7px;background:#CFD6D2}
.xgab .win__bar em{margin-left:auto;font-style:normal}
.xgab .rows div{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;border-top:1px solid var(--line);font-size:13.5px}
.xgab .rows div:first-child{border-top:0}
.xgab .rows em{font-style:normal;color:var(--accent);font-weight:600}
.xgab .x-hero{position:relative;overflow:hidden;background:var(--bg)}
.xgab .x-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,21,31,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.04) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 75% 50%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 75% 50%,#000 20%,transparent 75%);pointer-events:none}
.xgab .x-hero .wrap{position:relative;padding-block:48px 96px}
.xgab .x-hero__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center;margin-top:36px}
.xgab .x-hero h1{font-size:clamp(38px,4.4vw,58px);line-height:1.04;margin-top:16px}
.xgab .x-hero .lead{font-size:19px;color:var(--ink-2);margin:22px 0 0;max-width:480px}
.xgab .x-hero .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.xgab .proofs{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--ink)}
.xgab .proofs li{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.xgab .proofs b{font:500 11px/1 var(--fm);letter-spacing:0;text-transform:uppercase;color:var(--accent)}
.xgab .draw{position:relative;padding:36px 40px 40px}
.xgab .draw .dim{position:absolute;font:500 10.5px/1 var(--fm);letter-spacing:0;color:var(--accent);opacity:0;transition:opacity .6s .2s}
.xgab .draw .dim--x{left:40px;right:40px;top:8px;border-left:1px solid;border-right:1px solid;height:12px;text-align:center}
.xgab .draw .dim--x::before{content:"";position:absolute;left:0;right:0;top:6px;border-top:1px solid}
.xgab .draw .dim--x span{position:relative;background:var(--bg);padding:0 8px}
.xgab .draw .dim--y{top:36px;bottom:40px;right:8px;border-top:1px solid;border-bottom:1px solid;width:12px}
.xgab .draw .dim--y::before{content:"";position:absolute;top:0;bottom:0;left:6px;border-left:1px solid}
.xgab .draw .dim--y span{position:absolute;top:50%;left:-2px;transform:translate(-100%,-50%) rotate(-90deg);transform-origin:right center;background:var(--bg);padding:0 6px;white-space:nowrap}
.xgab .draw .win{transition:background-color .8s,box-shadow .8s,border-color .8s;border:1px dashed transparent}
.xgab .draw .win > *{transition:opacity .7s}
.xgab .draw.s-plan .dim{opacity:1}
.xgab .draw.s-plan .win{background:transparent;box-shadow:none;border-color:var(--accent)}
.xgab .draw.s-plan .win > *{opacity:0}
.xgab .draw.s-plan .win::after{content:"";position:absolute;inset:44px 18px 18px;background-image:repeating-linear-gradient(0deg,transparent 0 46px,color-mix(in srgb,var(--accent) 45%,transparent) 46px 47px);opacity:.6}
.xgab .draw .win{position:relative}
.xgab .draw.s-built .dim{opacity:.35}
.xgab .draw .stamp{position:absolute;left:40px;bottom:6px;font:500 10.5px/1 var(--fm);letter-spacing:0;text-transform:uppercase;color:var(--muted)}
.xgab .draw .stamp b{color:var(--accent);font-weight:500}
.xgab .win__b{padding:16px;display:grid;gap:12px}
.xgab .kp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.xgab .kp div{background:var(--alt);padding:12px}
.xgab .kp small{display:block;font-size:11.5px;color:var(--muted)}
.xgab .kp b{font:600 20px/1.2 var(--fl);letter-spacing:-.02em}
.xgab .logos{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.xgab .logos .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:18px 48px;padding-block:24px}
.xgab .logos p{margin:0;font-family:var(--fm);font-size:11px;letter-spacing:0;text-transform:uppercase;color:var(--muted)}
.xgab .logos .l{font:600 18px/1 var(--fl);letter-spacing:-.03em;color:var(--ink);opacity:.7}
.xgab .logos .ph{padding:8px 18px;border:1px dashed var(--line);font-size:12px;color:var(--muted)}
.xgab .steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;position:relative}
.xgab .steps::before{content:"";position:absolute;left:0;right:0;top:13px;height:1px;background:color-mix(in srgb,var(--dk-ink) 30%,transparent);transform-origin:left;transform:scaleX(0);transition:transform 1.8s cubic-bezier(.6,.05,.2,1)}
.xgab .steps.in::before{transform:scaleX(1)}
.xgab .steps i{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--dk-line);background:var(--dk);font:600 12px/1 var(--f);font-style:normal;margin-bottom:22px;position:relative;transition:background-color .4s,color .4s}
.xgab .steps.in i{background:var(--dk-ink);color:var(--dk);border-color:var(--dk-ink)}
.xgab .steps.in li:nth-child(4) i{background:var(--mark);border-color:var(--mark)}
.xgab .steps small{display:block;font:500 10.5px/1 var(--fm);letter-spacing:0;color:var(--accent-dk);margin-bottom:8px}
.xgab .steps b{display:block;font-size:19px;font-weight:500;letter-spacing:-.02em}
.xgab .steps p{margin:8px 0 0;font-size:15px;color:var(--dk-mute)}
.xgab .pl--dk::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.xgab .pl--dk > .wrap{position:relative}
.xgab .duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.xgab .duo__v{position:relative;aspect-ratio:1;overflow:hidden;background:var(--dk)}
.xgab .duo__v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.xgab .duo__v .win{position:absolute;left:28px;right:28px;bottom:28px}
.xgab .duo__v .set{display:none}
.xgab .duo__v .set.on{display:block;animation:xp-fi .35s both}
@keyframes xp-fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.xgab .list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.xgab .list > li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:6px 20px;padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer;outline:0}
.xgab .list .k{font-family:var(--fm);font-size:12px;color:var(--muted)}
.xgab .list .t{font-size:20px;letter-spacing:-.02em;color:var(--muted);transition:color .3s}
.xgab .list li.on .t{color:var(--ink)}
.xgab .list li.on .k{color:var(--accent)}
.xgab .list .d{grid-column:2;max-height:0;opacity:0;overflow:hidden;color:var(--ink-2);font-size:15.5px;transition:max-height .5s,opacity .4s}
.xgab .list li.on .d{max-height:80px;opacity:1}
.xgab .list li:focus-visible .t{text-decoration:underline}
.xgab .cases{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px}
.xgab .cases__l{position:sticky;top:120px;align-self:start}
.xgab .case-txt{display:none}
.xgab .case-txt.on{display:block;animation:xp-fi .4s both}
.xgab .case-txt .lab{margin-bottom:14px}
.xgab .case-txt h3{font-size:clamp(24px,2.4vw,32px);line-height:1.15}
.xgab .case-txt p{margin:16px 0 0;color:var(--ink-2)}
.xgab .case-txt .kpis{display:flex;gap:40px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.xgab .case-txt .kpis b{display:block;font:500 44px/1 var(--fl);letter-spacing:-.05em;color:var(--accent)}
.xgab .case-txt .kpis span{font-size:13.5px;color:var(--muted)}
.xgab .cases__nav{display:flex;gap:6px;margin-top:32px}
.xgab .cases__nav i{width:28px;height:2px;background:var(--line);display:block;transition:background-color .3s}
.xgab .cases__nav i.on{background:var(--mark)}
.xgab .cases__r{display:grid;gap:24px}
.xgab .case-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--dk)}
.xgab .case-img img{width:100%;height:100%;object-fit:cover}
.xgab .case-img > span{position:absolute;left:16px;bottom:16px;background:#fff;padding:8px 12px;font:500 11px/1 var(--fm);letter-spacing:0;text-transform:uppercase}
.xgab .team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.xgab .mate{border-top:1px solid var(--ink);padding-top:18px}
.xgab .mate .ph{aspect-ratio:5/4;background:var(--dk);display:flex;align-items:flex-end;justify-content:space-between;padding:16px 18px;color:var(--dk-mute);font:500 10.5px/1 var(--fm);letter-spacing:0;text-transform:uppercase;margin-bottom:18px;position:relative;overflow:hidden;-webkit-mask-image:radial-gradient(circle at 100% 0,transparent 34px,#000 35px);mask-image:radial-gradient(circle at 100% 0,transparent 34px,#000 35px)}
.xgab .mate .ph::before{content:attr(data-i);position:absolute;left:18px;top:14px;font:600 88px/1 var(--fl);letter-spacing:-.07em;color:var(--dk-ink)}
.xgab .mate .ph::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.xgab .mate .ph span{position:relative;z-index:1}
.xgab .mate .ph span b{color:var(--accent-dk);font-weight:500}
.xgab .mate b{display:block;font-size:18px;font-weight:600}
.xgab .mate span{font-size:14px;color:var(--muted)}
.xgab .mate p{margin:10px 0 0;font-size:15px;color:var(--ink-2)}
.xgab .qa-g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px}
.xgab .qa details{border-top:1px solid var(--line);padding:20px 0}
.xgab .qa details:last-child{border-bottom:1px solid var(--line)}
.xgab .qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-weight:600;font-size:17px}
.xgab .qa summary::-webkit-details-marker{display:none}
.xgab .qa summary::after{content:"+";font-weight:400;color:var(--muted);transition:transform .25s}
.xgab .qa details[open] summary::after{transform:rotate(45deg)}
.xgab .qa p{margin:10px 0 0;color:var(--ink-2);font-size:15.5px}
.xgab .form-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.xgab .form-g h2{font-size:clamp(28px,3.2vw,42px);line-height:1.1}
.xgab .form-g .pitch{color:var(--ink-2);margin:18px 0 0}
.xgab .form-g ul{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--ink)}
.xgab .form-g li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.xgab .form-g li span{color:var(--muted)}
.xgab form.f{background:#fff;border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.xgab form.f label{display:grid;gap:6px;font-size:13px;font-weight:600}
.xgab form.f .full{grid-column:1/-1}
.xgab form.f input,.xgab form.f select,.xgab form.f textarea{font:inherit;font-size:15px;font-weight:400;padding:12px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:0}
.xgab form.f textarea{min-height:110px;resize:vertical}
.xgab form.f input:focus,.xgab form.f select:focus,.xgab form.f textarea:focus{outline:2px solid var(--mark);outline-offset:-1px}
.xgab form.f .note{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--muted)}
.xgab form.f .ok{grid-column:1/-1;padding:12px 14px;background:var(--hdr);border:1px solid var(--hdr-line);font-size:14px}
.xgab .follow{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);transform:translate(-50%,140%);z-index:70;display:flex;align-items:center;gap:20px;background:var(--dk);color:var(--dk-ink);padding:8px 8px 8px 20px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transition:transform .45s cubic-bezier(.2,.8,.2,1);max-width:calc(100% - 32px)}
.xgab .follow.on{transform:translate(-50%,0)}
.xgab .follow span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xgab .follow span b{font-weight:600}
.xgab .follow a{background:var(--mark);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;padding:12px 18px;white-space:nowrap}
.xgab .e-hero{background:var(--dk);color:var(--dk-ink);position:relative}
.xgab .e-hero .wrap{padding-block:56px 0}
.xgab .e-hero .crumbs{color:var(--dk-mute)}
.xgab .e-hero__g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end;margin-top:48px}
.xgab .e-hero .lab{color:var(--accent-dk)}
.xgab .e-hero blockquote{margin:18px 0 0;font:500 clamp(30px,3.8vw,50px)/1.1 var(--f);letter-spacing:-.035em}
.xgab .e-hero blockquote span{color:var(--accent-dk)}
.xgab .e-hero .who{margin:20px 0 0;color:var(--dk-mute);font-size:15px}
.xgab .e-hero .actions{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 88px}
.xgab .e-hero .btn{background:var(--dk-ink);color:var(--dk);border-color:var(--dk-ink)}
.xgab .e-hero .btn--ghost{background:transparent;color:var(--dk-ink);border-color:var(--dk-line)}
.xgab .e-hero img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:-60px;position:relative;z-index:1}
.xgab .B{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.xgab .B > li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px 24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.xgab .B .k{font-family:var(--fm);font-size:12px;color:var(--accent)}
.xgab .B .t{font-size:clamp(18px,1.7vw,21px);letter-spacing:-.02em;line-height:1.35}
.xgab .cost{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dk-line)}
.xgab .cost div{padding:28px 28px 0 0}
.xgab .cost div+div{padding-left:28px;border-left:1px solid var(--dk-line)}
.xgab .cost small{font-family:var(--fm);font-size:11.5px;letter-spacing:0;text-transform:uppercase;color:var(--accent-dk)}
.xgab .cost b{display:block;margin-top:10px;font:500 24px/1.25 var(--f);letter-spacing:-.02em}
.xgab .cost p{margin:10px 0 0;color:var(--dk-mute);font-size:15px}
.xgab .two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.xgab .two h3{font-family:var(--fm);font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:uppercase;color:var(--muted);padding-bottom:14px}
.xgab .two .then h3{color:var(--accent)}
.xgab .two .then .B{border-top-color:var(--mark)}
.xgab .two .now .t{color:var(--ink-2)}
.xgab .two .B > li{grid-template-columns:80px minmax(0,1fr)}
.xgab .path > li{grid-template-columns:72px minmax(0,1fr) 260px;padding:30px 0;align-items:start}
.xgab .path .n{font:500 44px/1 var(--fl);letter-spacing:-.05em;color:color-mix(in srgb,var(--ink) 20%,transparent)}
.xgab .path li:last-child .n{color:var(--mark)}
.xgab .path .d{display:block;margin-top:6px;color:var(--ink-2);font-size:15.5px}
.xgab .path .when{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.xgab .xl{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--hdr);border:1px solid var(--hdr-line);text-decoration:none;transition:border-color .3s}
.xgab .xl:hover{border-color:var(--ink)}
.xgab .xl .u{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.xgab .xl .u i{width:8px;height:8px;display:inline-block}
.xgab .xl b{font-size:15.5px}
.xgab .xl span:last-child{font-size:13.5px;font-weight:600}
.xgab .lived{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.xgab .lived img{width:100%;aspect-ratio:5/4;object-fit:cover}
.xgab .lived blockquote{margin:16px 0 0;font:500 clamp(22px,2.3vw,28px)/1.32 var(--f);letter-spacing:-.02em}
.xgab .lived .kk{display:flex;align-items:baseline;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.xgab .lived .kk b{font:500 48px/1 var(--fl);letter-spacing:-.05em;color:var(--accent)}
.xgab .others{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:15.5px}
.xgab .others span{color:var(--muted)}
.xgab [hidden]{display:none!important}
@media (max-width:900px){
.xgab .x-hero__g,.xgab .duo,.xgab .cases,.xgab .qa-g,.xgab .form-g,.xgab .e-hero__g,.xgab .two,.xgab .lived{grid-template-columns:1fr;gap:40px}
.xgab .cases__l{position:static}
.xgab .case-txt{display:block;margin-bottom:24px}
.xgab .cases__nav{display:none}
.xgab .team{grid-template-columns:1fr}
.xgab .steps{grid-template-columns:1fr 1fr}
.xgab .steps::before{display:none}
.xgab .cost{grid-template-columns:1fr}
.xgab .cost div+div{padding-left:0;border-left:0}
.xgab .path > li{grid-template-columns:1fr}
.xgab .e-hero img{margin-bottom:0}
.xgab .pl{padding-block:72px 96px}
.xgab form.f{grid-template-columns:1fr}
.xgab .cart{left:24px;right:auto}
}
@media (max-width:560px){
.xgab .steps{grid-template-columns:1fr}
.xgab .follow span{display:none}
}
@media (prefers-reduced-motion:reduce){
.js .xgab .rv:not(.in){opacity:1;transform:none}
}
.xgab .vis > .vis__ph{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;margin:0}
.xgab .vis > .vis__scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(160deg,rgba(16,21,31,.62),rgba(16,21,31,.28) 60%,rgba(16,21,31,.5))}
.xgab .vis.has-ph::before{z-index:1;opacity:.45}
.xgab .vis.has-ph > :not(.vis__ph):not(.vis__scrim){z-index:2}
.xgab .vis.has-ph::after{z-index:3;background:rgba(16,21,31,.35)}
.xgab .ph-col{filter:saturate(1.1) contrast(1.04) sepia(.12)}
.xgab .ph-duo{filter:url(#duo-encre-orange)}
.xgab .case-img.has-ph .app,.xgab .duo__v.has-ph .win{box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}
.xgab .photo-vis{padding:0}
.xgab .photo-vis::before{opacity:.35}
.xgab .photo-vis img.ph-col{filter:saturate(1.1) contrast(1.04) sepia(.12)}
.xgab .vis > .vis__ph{opacity:1}
.xgab .case-img.has-ph{padding:0 0 0 64px;align-items:flex-end;justify-content:flex-start}
.xgab .case-img.has-ph .app{flex:none;max-width:none;width:calc(100% + 48px);margin-bottom:-56px}
.xgab .duo__v.has-ph{padding:0 0 0 56px;align-items:flex-end;justify-content:flex-start}
.xgab .duo__v.has-ph .win{flex:none;width:calc(100% + 48px);margin-bottom:-56px}
.xgab .case-img.has-ph::after,.xgab .duo__v.has-ph::after{top:14px;left:14px;right:auto;bottom:auto}
.xgab .hero-vis.has-ph{padding:76px 0 0 56px;align-items:flex-end;justify-content:flex-start}
.xgab .hero-vis.has-ph .draw{flex:none;width:calc(100% + 40px);padding:36px 40px 0;margin-bottom:-48px}
.xgab .hero-vis.has-ph .draw .dim--y{display:none}
.xgab .hero-vis.has-ph .draw .dim--x{right:80px}
.xgab .hero-vis.has-ph .draw .stamp{top:-24px;bottom:auto;left:auto;right:96px}
.xgab .hero-vis.has-ph::after{top:14px;left:14px;right:auto;bottom:auto}
.xgab .tiles div:nth-child(n){background:#F4F3F0}
.xgab .tiles div:nth-child(1){background:var(--peche)}
.xgab .chart span,.xgab .chart span:nth-child(even),.xgab .chart span:nth-child(3n){background:#E9DFD6}
.xgab .chart span:last-child{background:var(--mark)}
.xgab .tag--ok,.xgab .tag--in{background:#F0EFEC;color:#4A5260}
.xgab .tag--go{background:var(--peche);color:#9A4511}
.xgab .app__top i:nth-child(n){background:#E3E3E0}
.xgab .case-img--plain{background:none!important;padding:0 0 40px!important;aspect-ratio:auto;display:block;overflow:visible}
.xgab .case-img--plain::before{display:none}
.xgab .case-img--plain::after{right:0;bottom:0;border-color:var(--line);color:var(--muted)}
.xgab .case-img--plain .app{max-width:none;border:1px solid var(--line);box-shadow:0 24px 48px -32px rgba(16,21,31,.35)}
.xgab .h2{font-size:clamp(22px,2vw,27px);letter-spacing:-.025em;line-height:1.2;font-weight:500}
.xgab .x-hero h1{font-size:clamp(34px,3.6vw,52px);letter-spacing:-.035em;line-height:1.06;font-weight:500}
.xgab .e-hero blockquote{font-size:clamp(32px,3.4vw,48px)}
.xgab .lab{font-family:var(--f);font-size:12.5px;font-weight:500;letter-spacing:0;gap:8px;color:var(--accent)}
.xgab .lab i{width:8px;height:8px;background:var(--mark)}
.xgab .btn{min-height:44px;padding:0 20px;font:500 14px/1 var(--f)}
.xgab .row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:40px}
.xgab .pl__head.row{display:grid;margin-bottom:48px;align-items:start}
.xgab .rail{border-top:2px solid var(--ink);padding-top:14px;font-size:13px;font-weight:500}
.xgab .rail span{display:block;font-size:11px;color:var(--mark);margin-bottom:4px}
.xgab .main{border-top:1px solid var(--line);padding-top:14px;min-width:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 48px}
.xgab .main h2{max-width:620px;margin:0}
.xgab .main p{margin:0;max-width:360px;color:var(--ink-2);font-size:14.5px}
.xgab .pl--dk .rail{border-color:var(--dk-ink)}
.xgab .pl--dk .main{border-color:var(--dk-line)}
.xgab .pl--dk .main p{color:var(--dk-mute)}
.xgab .pl--dk::before{display:none}
.xgab .e-hero{background:var(--bg);color:var(--ink)}
.xgab .e-hero .crumbs{color:var(--muted)}
.xgab .e-hero .lab{color:var(--accent)}
.xgab .e-hero blockquote span{color:var(--accent)}
.xgab .e-hero .who{color:var(--ink-2)}
.xgab .e-hero .btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.xgab .e-hero .btn--ghost{background:transparent;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 30%,transparent)}
.xgab .e-hero + .pl{border-top:1px solid var(--line)}
@media (max-width:860px){
.xgab .row,.xgab .pl__head.row{grid-template-columns:1fr;gap:16px}
}
.xgab .vis--plan{background:transparent!important;color:var(--ink)}
.xgab .vis--plan::before{background-image:linear-gradient(rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(rgba(16,21,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.035) 1px,transparent 1px);-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent);opacity:1}
.xgab .vis--plan::after{border-color:var(--line);color:var(--muted);background:var(--bg)}
.xgab .pl--alt .vis--plan::after{background:var(--alt)}
.xgab .vis--plan .draw .dim{color:var(--accent)}
.xgab .vis--plan .draw .dim span{background:var(--bg)}
.xgab .vis--plan .draw .stamp{color:var(--muted)}
.xgab .vis--plan .draw .stamp b{color:var(--accent)}
.xgab .vis--plan .draw.s-plan .win{border-color:var(--accent)}
.xgab .vis--plan .draw.s-plan .win::after{display:none}
.xgab .vis--plan .draw.s-plan .win > *{opacity:1}
.xgab .draw.s-plan .win{animation:xp-trace 1s cubic-bezier(.6,0,.2,1) both}
@keyframes xp-trace{from{clip-path:inset(0 100% 100% 0)}50%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.xgab .draw .app__top *,.xgab .draw .app__nav b,.xgab .draw .tiles div,.xgab .draw .lines div,.xgab .draw .app__h,.xgab .draw .tag,.xgab .draw .app__nav,.xgab .draw .app__top{transition:background-color .45s,color .45s,outline-color .45s,border-color .45s,opacity .45s}
.xgab .draw.s-plan .app__top{border-color:transparent}
.xgab .draw.s-plan .app__top *{opacity:0}
.xgab .draw.s-plan .app__nav{border-right:1px dashed color-mix(in srgb,var(--accent) 45%,transparent)}
.xgab .draw.s-plan :is(.app__nav b,.xgab .tiles div,.xgab .lines div,.xgab .app__h){color:transparent!important;background:transparent!important;outline:1px dashed color-mix(in srgb,var(--accent) 75%,transparent);outline-offset:-1px;border-color:transparent;box-shadow:inset 0 0 0 999px rgba(232,130,58,.05);animation:xp-pop .35s both}
.xgab .draw.s-plan .chart{border-color:transparent}
.xgab .draw.s-plan .chart span{background:rgba(232,130,58,.06)!important;outline:1px dashed color-mix(in srgb,var(--accent) 75%,transparent);outline-offset:-1px;animation:xp-pop .35s both}
.xgab .draw.s-plan .tag{opacity:0}
@keyframes xp-pop{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.xgab .draw.s-plan .app__nav b:nth-child(1){animation-delay:.7s}
.xgab .draw.s-plan .app__nav b:nth-child(2){animation-delay:.78s}
.xgab .draw.s-plan .app__nav b:nth-child(3){animation-delay:.86s}
.xgab .draw.s-plan .app__nav b:nth-child(4){animation-delay:.94s}
.xgab .draw.s-plan .app__nav b:nth-child(5){animation-delay:1.02s}
.xgab .draw.s-plan .app__h{animation-delay:.9s}
.xgab .draw.s-plan .tiles div:nth-child(1){animation-delay:1s}
.xgab .draw.s-plan .tiles div:nth-child(2){animation-delay:1.08s}
.xgab .draw.s-plan .tiles div:nth-child(3){animation-delay:1.16s}
.xgab .draw.s-plan .chart span:nth-child(n){animation-delay:1.25s}
.xgab .draw.s-plan .lines div:nth-child(1){animation-delay:1.4s}
.xgab .draw.s-plan .lines div:nth-child(2){animation-delay:1.48s}
.xgab .draw.s-plan .lines div:nth-child(3){animation-delay:1.56s}
.xgab .draw.s-built .app__nav b:nth-child(2){transition-delay:.06s}
.xgab .draw.s-built .app__nav b:nth-child(3){transition-delay:.12s}
.xgab .draw.s-built .app__nav b:nth-child(4){transition-delay:.18s}
.xgab .draw.s-built .app__nav b:nth-child(5){transition-delay:.24s}
.xgab .draw.s-built .tiles div:nth-child(1){transition-delay:.3s}
.xgab .draw.s-built .tiles div:nth-child(2){transition-delay:.38s}
.xgab .draw.s-built .tiles div:nth-child(3){transition-delay:.46s}
.xgab .draw.s-built .chart span{animation:xp-grow 1s cubic-bezier(.2,.8,.2,1) both}
.xgab .draw.s-built .chart span:nth-child(1){animation-delay:.5s}
.xgab .draw.s-built .chart span:nth-child(2){animation-delay:.55s}
.xgab .draw.s-built .chart span:nth-child(3){animation-delay:.6s}
.xgab .draw.s-built .chart span:nth-child(4){animation-delay:.65s}
.xgab .draw.s-built .chart span:nth-child(5){animation-delay:.7s}
.xgab .draw.s-built .chart span:nth-child(6){animation-delay:.75s}
.xgab .draw.s-built .chart span:nth-child(7){animation-delay:.8s}
.xgab .draw.s-built .lines div:nth-child(1){transition-delay:.85s}
.xgab .draw.s-built .lines div:nth-child(2){transition-delay:.95s}
.xgab .draw.s-built .lines div:nth-child(3){transition-delay:1.05s}
.xgab .draw.s-built .tag{transition-delay:1.2s}
.xgab .duo__v.vis--plan{padding:44px 40px 60px}
.xgab .duo__v.vis--plan .win{border:1px solid var(--line);box-shadow:0 24px 48px -32px rgba(16,21,31,.35)}
.xgab .duo__v.swap .chart span{animation:xp-grow .9s cubic-bezier(.2,.8,.2,1) both}
.xgab .duo__v.swap .chart span:nth-child(2){animation-delay:.05s}
.xgab .duo__v.swap .chart span:nth-child(3){animation-delay:.1s}
.xgab .duo__v.swap .chart span:nth-child(4){animation-delay:.15s}
.xgab .duo__v.swap .chart span:nth-child(5){animation-delay:.2s}
.xgab .duo__v.swap .chart span:nth-child(6){animation-delay:.25s}
.xgab .duo__v .set.on > div{animation:xp-fi .4s both}
.xgab .duo__v .set.on > div:nth-child(2){animation-delay:.1s}
.xgab .list li .bar{grid-column:1/-1;height:1px;background:var(--line);margin-top:6px;overflow:hidden;display:none}
.xgab .list li.on .bar{display:block}
.xgab .list li.on .bar i{display:block;height:100%;width:100%;background:var(--mark);transform-origin:left;animation:xp-fill 4s linear both}
.xgab #duo.hold .list li.on .bar i{animation-play-state:paused}
@keyframes xp-fill{from{transform:scaleX(0)}to{transform:none}}
.xgab .case-img--plain .chart span{animation:none;transform:scaleY(.1)}
.xgab .case-img--plain.live .chart span{animation:xp-grow 1s cubic-bezier(.2,.8,.2,1) both}
.xgab .case-img--plain.live .chart span:nth-child(2){animation-delay:.06s}
.xgab .case-img--plain.live .chart span:nth-child(3){animation-delay:.12s}
.xgab .case-img--plain.live .chart span:nth-child(4){animation-delay:.18s}
.xgab .case-img--plain.live .chart span:nth-child(5){animation-delay:.24s}
.xgab .case-img--plain.live .chart span:nth-child(6){animation-delay:.3s}
.xgab .case-img--plain.live .chart span:nth-child(7){animation-delay:.36s}
.xgab .case-img--plain .lines div,.xgab .case-img--plain .tiles div{opacity:0}
.xgab .case-img--plain.live .lines div,.xgab .case-img--plain.live .tiles div{animation:xp-fi .45s both}
.xgab .case-img--plain.live .tiles div:nth-child(2){animation-delay:.08s}
.xgab .case-img--plain.live .tiles div:nth-child(3){animation-delay:.16s}
.xgab .case-img--plain.live .lines div:nth-child(1){animation-delay:.4s}
.xgab .case-img--plain.live .lines div:nth-child(2){animation-delay:.5s}
.xgab .case-img--plain.live .lines div:nth-child(3){animation-delay:.6s}
@media (prefers-reduced-motion:reduce){
.xgab .case-img--plain .lines div,.xgab .case-img--plain .tiles div{opacity:1}
.xgab .case-img--plain .chart span{transform:none}
}
.xgab #x-cas .main{display:block}
.xgab #x-cas .head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 40px;flex-wrap:wrap}
.xgab #x-cas .head h2{max-width:620px}
.xgab .carousel{overflow:hidden;margin-top:32px}
.xgab .carousel__track{display:flex;column-gap:2%;width:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1);will-change:transform}
.xgab .qcard{flex:0 0 82%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);min-height:380px;background:var(--dk-2);opacity:.45;transition:opacity .6s}
.xgab .qcard.is-on{opacity:1}
.xgab .qcard__ph{background:#9DA8A3 center/cover no-repeat;min-height:120px}
.xgab .qcard__b{padding:28px 30px;display:flex;flex-direction:column}
.xgab .qcard__logo{display:block;max-width:140px;height:40px;object-fit:contain;object-position:left center;margin-bottom:22px;filter:brightness(0) invert(1);opacity:.85}
.xgab .qcard blockquote{margin:0;font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.35}
.xgab .qcard__m{margin-top:22px;padding-top:16px;border-top:1px solid var(--dk-line)}
.xgab .qcard__m b{display:block;font-size:26px;font-weight:500;letter-spacing:-.02em}
.xgab .qcard__m span{font-size:12.5px;color:var(--dk-mute)}
.xgab .qcard__f{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.xgab .qcard__f small{display:block;font-size:12.5px;color:var(--dk-mute)}
.xgab .qcard .link{color:var(--dk-ink);font-weight:500;text-underline-offset:4px;text-decoration-thickness:1px}
.xgab .cnav{display:flex;align-items:center;gap:12px}
.xgab .cnav span{font-size:12px;color:var(--dk-mute)}
.xgab .cnav button{width:40px;height:40px;border:1px solid var(--dk-line);background:transparent;color:var(--dk-ink);font:inherit;cursor:pointer}
.xgab .cnav button:hover{background:var(--dk-ink);color:var(--dk)}
@media (max-width:860px){
.xgab .qcard{flex-basis:100%;grid-template-columns:1fr}
.xgab .qcard__ph{min-height:220px}
}
.xgab .pl--steps .steps::before{background:var(--line)}
.xgab .pl--steps .steps i{border-color:var(--line);background:var(--bg);color:var(--ink)}
.xgab .pl--steps .steps.in i{background:var(--ink);color:#fff;border-color:var(--ink)}
.xgab .pl--steps .steps.in li:nth-child(4) i{background:var(--mark);border-color:var(--mark)}
.xgab .pl--steps .steps small{color:var(--accent)}
.xgab .pl--steps .steps p{color:var(--ink-2)}
.xgab .qa__a{overflow:hidden}
.xgab .qa summary{transition:color .2s}
.xgab .qa summary:hover{color:var(--accent)}
.xgab .qa summary::after{transition:transform .35s cubic-bezier(.2,.8,.2,1),color .2s}
.xgab .qa details.is-open summary::after{transform:rotate(45deg);color:var(--accent)}
.xgab .qa details[open]:not(.is-open) summary::after{transform:none}
.xgab .qa__a p + p{margin-top:12px}
.xgab .qa__cta{color:var(--ink);font-weight:600}
.xgab .pj__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.xgab .pj h2{margin:14px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.03em;font-weight:500;color:var(--dk-ink)}
.xgab .pj .pitch{margin:18px 0 0;color:var(--dk-mute);max-width:460px}
.xgab .pj__steps{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--dk-line)}
.xgab .pj__steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--dk-line)}
.xgab .pj__steps i{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dk-line);font:600 12px/1 var(--f);font-style:normal;color:var(--dk-ink)}
.xgab .pj__steps li:first-child i{background:var(--mark);border-color:var(--mark);color:#fff}
.xgab .pj__steps b{display:block;font-weight:500;color:var(--dk-ink)}
.xgab .pj__steps span{font-size:14px;color:var(--dk-mute)}
.xgab .pj__who{margin:32px 0 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
.xgab .pj__mono{width:64px;height:64px;background:var(--dk-2);border:1px solid var(--dk-line);display:flex;align-items:center;justify-content:center;font:600 24px/1 'Geist','Helvetica Neue',Arial,sans-serif;letter-spacing:-.06em;color:var(--dk-ink);position:relative}
.xgab .pj__mono::after{content:"";position:absolute;right:-1px;top:-1px;width:14px;height:14px;background:var(--dk);border-radius:0 0 0 14px}
.xgab .pj__who blockquote{margin:0;font-size:15.5px;color:var(--dk-ink);line-height:1.45}
.xgab .pj__who b{display:block;margin-top:10px;font-size:14px;font-weight:600;color:var(--dk-ink)}
.xgab .pj__who span{font-size:13px;color:var(--dk-mute)}
.xgab .pf{background:#fff;color:var(--ink);padding:30px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.xgab .pf__top{display:grid;gap:10px;margin-bottom:22px}
.xgab .pf__k{font-size:12.5px;font-weight:500;color:var(--accent)}
.xgab .pf__bar{height:2px;background:var(--line)}
.xgab .pf__bar i{display:block;height:100%;width:50%;background:var(--mark);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.xgab .pf__step{border:0;margin:0;padding:0;min-width:0;display:none}
.xgab .pf__step.on{display:block;animation:xp-fi .45s both}
.xgab .pf__q{margin:20px 0 10px;font-weight:600;font-size:15px}
.xgab .pf__q:first-child{margin-top:0}
.xgab .pf__q small{font-weight:400;color:var(--muted);font-size:12.5px;margin-left:6px}
.xgab .chips{display:flex;flex-wrap:wrap;gap:8px}
.xgab .chip{font:500 14px/1 var(--f);padding:11px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:999px;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.xgab .chip:hover{border-color:var(--ink)}
.xgab .chip:active{transform:scale(.97)}
.xgab .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.xgab .chip[aria-pressed="true"]::before{content:"✓";color:var(--mark);margin-right:6px}
.xgab .chip:focus-visible{outline:2px solid var(--mark);outline-offset:2px}
.xgab .pf__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.xgab .pf__grid label{display:grid;gap:6px;font-size:13px;font-weight:600}
.xgab .pf__grid .full{grid-column:1/-1}
.xgab .pf__grid input,.xgab .pf__grid textarea{font:inherit;font-size:15px;font-weight:400;padding:12px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:0}
.xgab .pf__grid textarea{min-height:100px;resize:vertical}
.xgab .pf__grid input:focus,.xgab .pf__grid textarea:focus{outline:2px solid var(--mark);outline-offset:-1px}
.xgab .pf__act{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.xgab .pf__back{background:none;border:0;font:500 14px/1 var(--f);color:var(--muted);cursor:pointer;padding:8px 0}
.xgab .pf__back:hover{color:var(--ink)}
.xgab .pf__done{animation:xp-fi .45s both}
.xgab .pf__done b{display:block;font-size:22px;font-weight:500;letter-spacing:-.02em}
.xgab .pf__done > p{margin:14px 0 10px;color:var(--ink-2);font-size:14.5px}
.xgab .chips--recap .chip{cursor:default}
.xgab .pf__done .note{margin-top:18px;font-size:12.5px;color:var(--muted)}
@media (max-width:860px){
.xgab .pj__g{grid-template-columns:1fr;gap:40px}
.xgab .pf{padding:22px}
.xgab .pf__grid{grid-template-columns:1fr}
}
/* Le site a des classes du même nom (.qa, .proofs, .steps, .logos) : on neutralise leurs effets dans le gabarit. */
.xgab *{text-transform:none!important}
.xgab .qa{display:block;gap:0}
.xgab .proofs{background:none;border-bottom:0}
.xgab .steps{border-top:0;margin-top:0}
.xgab .steps small{font-family:var(--f)}
@media (max-width:640px){.xgab .qa{flex-direction:initial}}

/* ===== Visuels par sujet (pages expertise) : chaque bloc .wf passe du plan en pointillés à l'écran rempli ===== */
.xgab .wf{transition:background-color .45s,color .45s,outline-color .45s,border-color .45s,opacity .45s,box-shadow .45s;transition-delay:calc(var(--i,0) * .07s)}
.xgab .draw.s-plan .wf{color:transparent!important;background:rgba(232,130,58,.05)!important;border-color:transparent!important;box-shadow:none!important;outline:1px dashed rgba(180,88,26,.7);outline-offset:-1px;animation:xp-pop .35s both;animation-delay:calc(.7s + var(--i,0) * .07s);transition-delay:0s}
.xgab .draw.s-plan .wf *{color:transparent!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.xgab .draw.s-plan .wf svg,.xgab .draw.s-plan .wf .dn,.xgab .draw.s-plan .wf .gg,.xgab .draw.s-plan .wf .ln{opacity:0}
.xgab .draw.s-plan [data-vk] .hub__l,.xgab .draw.s-plan [data-vk] .hub__dot,.xgab .draw.s-plan [data-vk] .sq__a,.xgab .draw.s-plan [data-vk] .lg__ar,.xgab .draw.s-plan [data-vk] .pr__a,.xgab .draw.s-plan .ph__tab,.xgab .draw.s-plan .rm__c>small{opacity:.25}
.xgab .duo__v.swap .mn .wf{animation:xp-pop .4s both;animation-delay:calc(var(--i,0) * .07s)}
.xgab .vk{padding:14px;display:grid;gap:10px;font-size:12px;line-height:1.35;color:var(--ink);min-height:280px;align-content:start}
.xgab .vk b{font-weight:600}
.xgab .vk small{display:block;color:var(--muted);font-size:10.5px}
.xgab .vk .ln{display:block;height:7px;background:#ECEAE6;border-radius:2px;margin:5px 0}
.xgab .vk .ln.s{width:35%}.xgab .vk .ln.m{width:65%}.xgab .vk .ln.xl{height:12px;margin:7px 0}
.xgab .vk .btnx{background:var(--ink);color:#FFF;padding:6px 10px;font-size:11px;font-weight:600;white-space:nowrap}
.xgab .vk .btnx.or{background:var(--mark)}
.xgab .vk .pill{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:999px;background:var(--peche);color:var(--accent);font-size:10.5px;font-weight:600}
.xgab .lt{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}
.xgab .lt--ok{background:#5E8F5A}.xgab .lt--go{background:var(--mark)}.xgab .lt--in{background:#9DA8A3}
.xgab .sv{display:block;width:100%;height:64px;color:var(--mark);margin-top:6px}
.xgab .dn{display:block;width:74px;height:74px;border-radius:50%;background:conic-gradient(var(--mark) 0 46%,var(--ink) 46% 72%,#D9D4CC 72% 100%);-webkit-mask:radial-gradient(circle,transparent 52%,#000 53%);mask:radial-gradient(circle,transparent 52%,#000 53%)}
.xgab .gg{position:relative;display:block;width:96px;height:48px;border-radius:96px 96px 0 0;background:conic-gradient(from -90deg at 50% 100%,var(--mark) 0 115deg,#E6E1DA 115deg 180deg,transparent 180deg);-webkit-mask:radial-gradient(circle at 50% 100%,transparent 58%,#000 59%);mask:radial-gradient(circle at 50% 100%,transparent 58%,#000 59%)}
/* Assistant IA */
.xgab .vk-chat .b{max-width:82%;padding:9px 12px;font-size:12.5px}
.xgab .vk-chat .u{justify-self:end;background:var(--ink);color:#FFF;border-radius:12px 12px 2px 12px}
.xgab .vk-chat .a{background:var(--alt);border-radius:12px 12px 12px 2px}
.xgab .vk-chat .a b{display:block;color:var(--accent);font-size:11px;margin-bottom:2px}
.xgab .vk-chat .act{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);background:#FFF}
.xgab .vk-chat .typing{display:flex;gap:4px;padding:10px 12px;background:var(--alt);border-radius:12px;width:max-content}
.xgab .vk-chat .typing i{width:6px;height:6px;border-radius:50%;background:#B9B3AA;animation:vkDot 1.2s infinite}
.xgab .vk-chat .typing i:nth-child(2){animation-delay:.15s}.xgab .vk-chat .typing i:nth-child(3){animation-delay:.3s}
@keyframes vkDot{0%,60%,100%{opacity:.3}30%{opacity:1}}
/* Téléphone */
.xgab .win--phone{position:relative;width:250px;margin:0 auto;border:1px dashed transparent;background:transparent}
.xgab .vk-phone{padding:0;min-height:0;display:block;position:relative}
.xgab .ph__st{background:#FFF;border:8px solid var(--ink);border-radius:30px;padding:16px 12px 12px;display:grid;gap:8px;box-shadow:0 24px 48px -28px rgba(16,21,31,.45);min-height:400px;align-content:start}
.xgab .ph__h b{display:block;font-size:15px}
.xgab .ph__c{display:flex;justify-content:space-between;align-items:center;padding:10px;background:var(--alt);font-size:11.5px}
.xgab .ph__b{margin-top:6px;padding:10px;text-align:center;background:var(--mark);color:#FFF;font-weight:600;font-size:12px}
.xgab .ph__tab{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.xgab .ph__tab .ln{height:6px;margin:0}
.xgab .ph__n{position:absolute;right:-70px;top:120px;width:170px;padding:10px 12px;background:#FFF;border:1px solid var(--line);box-shadow:0 18px 36px -20px rgba(16,21,31,.4);font-size:11px}
.xgab .ph__n b{display:block;color:var(--accent)}
/* Atelier IA */
.xgab .at__h b{display:block;font-size:14px}.xgab .at__h span{color:var(--muted)}
.xgab .at__g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xgab .at__c{padding:10px;border:1px solid var(--line);background:#FFF}
.xgab .at__c b{display:block;font-size:12.5px;margin-top:2px}
.xgab .at__p{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--alt)}
.xgab .avs{display:flex}.xgab .avs i{width:20px;height:20px;border-radius:50%;border:2px solid #FFF;margin-left:-6px;background:#D9D4CC}
.xgab .avs i:first-child{margin-left:0;background:var(--mark)}.xgab .avs i:nth-child(2){background:var(--ink)}
/* Connexions */
.xgab .vk-hub{position:relative;min-height:250px;display:block;padding:0}
.xgab .hub__l{position:absolute;inset:0;width:100%;height:100%}
.xgab .hub__l path{fill:none;stroke:#D9D4CC;stroke-width:1.5;stroke-dasharray:4 4}
.xgab .hub__c,.xgab .hub__n{position:absolute;transform:translate(-50%,-50%);background:#FFF;border:1px solid var(--line);padding:8px 12px;text-align:center;min-width:96px}
.xgab .hub__c{left:50%;top:50%;background:var(--ink);color:#FFF;border-color:var(--ink);padding:12px 16px}
.xgab .hub__c small{color:#A6ABB0}
.xgab .hub__n--0{left:18%;top:20%}.xgab .hub__n--1{left:82%;top:20%}.xgab .hub__n--2{left:18%;top:80%}.xgab .hub__n--3{left:82%;top:80%}
.xgab .hub__n--3 small{color:var(--accent)}
.xgab .hub__dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--mark);left:18%;top:20%;animation:vkHub 3s linear infinite}
.xgab .hub__dot--2{left:82%;top:80%;animation-name:vkHub2;animation-delay:1.2s}
@keyframes vkHub{to{left:50%;top:50%}}@keyframes vkHub2{to{left:50%;top:50%}}
/* Tableaux de bord, cockpit, SaaS */
.xgab .bi__k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.xgab .bi__t{padding:9px 10px;background:var(--alt)}
.xgab .bi__t b{display:block;font-size:17px;margin-top:2px}
.xgab .bi__t:first-child{background:var(--peche)}
.xgab .bi__g{display:grid;grid-template-columns:1fr 110px;gap:8px}
.xgab .bi__c,.xgab .ck__c{padding:10px;border:1px solid var(--line);background:#FFF}
.xgab .bi__d{padding:10px;border:1px solid var(--line);background:#FFF;display:grid;justify-items:center;gap:6px}
.xgab .bi__a{display:flex;gap:8px;align-items:center;padding:8px 10px;background:#FFF;border:1px solid var(--line)}
.xgab .ck__d{display:grid;gap:6px}
.xgab .ck__r{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-top:1px solid var(--line)}
.xgab .ck__r em{font-style:normal;color:var(--accent);font-weight:600}
.xgab .sa__p{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.xgab .sa__c{padding:9px 10px;border:1px solid var(--line);background:#FFF}
.xgab .sa__c:nth-child(2){border-color:var(--mark)}
/* Rapport, diagnostic */
.xgab .rep__h b{display:block;font-size:14px}
.xgab .rep__g{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start}
.xgab .rep__s{display:grid;justify-items:center;gap:4px;padding:12px 8px;background:var(--alt)}
.xgab .rep__s b{font-size:24px;margin-top:-26px}
.xgab .rep__l{display:grid;gap:6px}
.xgab .rep__r{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);background:#FFF}
/* Boutique */
.xgab .sh__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.xgab .sh__p{border:1px solid var(--line);background:#FFF;padding:8px;display:grid;gap:3px}
.xgab .sh__i{display:block;aspect-ratio:1;background:#E9E4DC}
.xgab .sh__i--1{background:#DCD3C6}.xgab .sh__i--2{background:#EFE7DC}.xgab .sh__i--3{background:#D6CEC2}
.xgab .sh__b{margin-top:4px;padding:5px;text-align:center;background:var(--ink);color:#FFF;font-size:10.5px;font-weight:600}
.xgab .sh__o{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;background:var(--alt)}
.xgab .sh__o span:nth-child(2){color:var(--muted)}
/* Espace client */
.xgab .po__h{display:flex;justify-content:space-between;align-items:center}
.xgab .po__h b{font-size:15px}
.xgab .po__t{display:grid;gap:6px}
.xgab .po__r{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--line);background:#FFF}
.xgab .po__r span:nth-child(2){color:var(--muted)}
.xgab .po__d{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:center;padding:9px 10px;background:var(--alt)}
.xgab .doc{font-size:9.5px;font-weight:700;color:#FFF;background:var(--accent);padding:3px 5px}
/* Relances automatiques */
.xgab .vk-seq{grid-template-columns:1fr;gap:0}
.xgab .sq__s{padding:10px 12px;border:1px solid var(--line);background:#FFF}
.xgab .sq__s b{display:block;margin-top:2px;font-size:12.5px}
.xgab .sq__s--ok{background:var(--ink);color:#FFF;border-color:var(--ink)}
.xgab .sq__s--ok small{color:#A6ABB0}
.xgab .sq__a{display:block;width:1px;height:14px;margin-left:22px;background:var(--mark)}
/* Publication */
.xgab .po__au{display:flex;gap:10px;align-items:center}
.xgab .av{width:38px;height:38px;border-radius:50%;background:var(--ink);flex-shrink:0}
.xgab .pt__i{height:96px;display:flex;align-items:flex-end;padding:12px;background:linear-gradient(135deg,#2A2E33,#1C1F22);color:#FFF;font-weight:600;font-size:13px}
.xgab .pt__r{display:flex;gap:16px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted)}
.xgab .pt__r span:first-child{color:var(--accent);font-weight:600}
/* Modernisation */
.xgab .vk-leg{grid-template-columns:1fr auto 1.3fr;align-items:center}
.xgab .lg__o{padding:10px;background:#D9DCDF;border:1px solid #C3C7CB;font-family:Courier,monospace}
.xgab .lg__row{display:block;height:8px;margin:7px 0;background:#B7BCC1}
.xgab .lg__ar{font-style:normal;font-size:20px;color:var(--mark)}
.xgab .lg__n{padding:10px;border:1px solid var(--line);background:#FFF;display:grid;gap:8px}
.xgab .lg__n .bi__t b{font-size:14px}
/* Recherche */
.xgab .sr__q{display:flex;gap:10px;align-items:center;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#FFF;color:var(--muted)}
.xgab .sr__ai{padding:10px 12px;background:var(--alt);border-left:2px solid var(--mark)}
.xgab .sr__r{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);background:#FFF}
.xgab .sr__r b{display:block}
.xgab .sr__n{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ECEAE6;font-weight:700;font-size:11px}
.xgab .sr__r--me{border-color:var(--mark)}.xgab .sr__r--me .sr__n{background:var(--mark);color:#FFF}
/* Site qui convertit */
.xgab .st__nav{display:flex;justify-content:space-between;align-items:center}
.xgab .st__nav .ln{width:70px;margin:0}
.xgab .st__cta{font-size:10.5px;font-weight:600;color:var(--accent)}
.xgab .st__g{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:start}
.xgab .st__b{margin-top:10px;display:inline-block;padding:8px 12px;background:var(--mark);color:#FFF;font-weight:600;font-size:11.5px}
.xgab .st__f{padding:10px;border:1px solid var(--line);background:#FFF;display:grid;gap:6px}
.xgab .st__in{display:block;height:20px;border:1px solid var(--line);background:var(--alt)}
.xgab .st__btn{padding:6px;text-align:center;background:var(--ink);color:#FFF;font-size:11px;font-weight:600}
.xgab .st__k{display:flex;gap:14px;align-items:center;padding:8px 10px;background:var(--alt)}
/* Acquisition */
.xgab .vk-fun{grid-template-columns:1.1fr 1fr;gap:14px;align-items:start}
.xgab .fn{display:grid;gap:5px;justify-items:center}
.xgab .fn__s{width:var(--p);display:flex;justify-content:space-between;gap:8px;padding:9px 10px;background:var(--ink);color:#FFF}
.xgab .fn__s:nth-child(2){background:#3A3F45}.xgab .fn__s:nth-child(3){background:var(--accent)}.xgab .fn__s:nth-child(4){background:var(--mark)}
.xgab .fn__c{display:grid;gap:9px}
.xgab .fn__b span{display:block;margin-bottom:3px}
.xgab .fn__b i{display:block;height:8px;width:var(--p);background:var(--mark)}
/* Feuille de route */
.xgab .vk-rm{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}
.xgab .rm__c{display:grid;gap:6px;padding:8px;background:var(--alt);min-height:220px;align-content:start}
.xgab .rm__c>small{font-weight:600;color:var(--ink)}
.xgab .rm__k{padding:8px;background:#FFF;border:1px solid var(--line)}
.xgab .rm__c:first-child .rm__k{border-left:2px solid var(--mark)}
/* Cas d'usage IA */
.xgab .vk-mx{grid-template-columns:1.2fr 1fr;align-items:start}
.xgab .mx__q{position:relative;aspect-ratio:1;border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);background:linear-gradient(90deg,transparent 50%,rgba(232,130,58,.08) 50%) top/100% 50% no-repeat}
.xgab .mx__y{position:absolute;left:6px;top:4px;font-size:10px;color:var(--muted)}.xgab .mx__x{position:absolute;right:4px;bottom:4px;font-size:10px;color:var(--muted)}
.xgab .mx__d{position:absolute;width:12px;height:12px;border-radius:50%;background:#B9B3AA}
.xgab .mx__d--a,.xgab .mx__d--b,.xgab .mx__d--c{background:var(--mark)}
.xgab .mx__d--a{left:78%;top:14%}.xgab .mx__d--b{left:64%;top:30%}.xgab .mx__d--c{left:84%;top:40%}.xgab .mx__d--o{left:20%;top:30%}.xgab .mx__d--o2{left:34%;top:70%}.xgab .mx__d--o3{left:58%;top:78%}
.xgab .mx__l{display:grid;gap:6px}
.xgab .mx__r{display:flex;justify-content:space-between;padding:9px 10px;border:1px solid var(--line);background:#FFF}
.xgab .mx__r em{font-style:normal;color:var(--accent);font-weight:600}
/* Prototype */
.xgab .vk-pr{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:6px}
.xgab .pr__s{padding:10px 8px;border:1px solid var(--line);background:#FFF;min-height:150px;display:grid;align-content:start;gap:2px;border-radius:10px}
.xgab .pr__btn{display:block;height:16px;margin-top:auto;background:var(--mark)}
.xgab .pr__a{font-style:normal;color:var(--mark)}
.xgab .pr__k{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:9px 10px;background:var(--alt)}
/* Mini-visuels des briques */
.xgab .mn{display:grid;gap:10px;min-height:84px;align-items:center;padding-bottom:6px;border-bottom:1px solid #EEE}
.xgab .mn-spark{grid-template-columns:1fr auto}
.xgab .mn__c .sv{height:56px;margin:0}
.xgab .mn__v b{display:block;font-size:20px;font-weight:600}
.xgab .mn__v small,.xgab .mn__li span{font-size:11px;color:var(--muted)}
.xgab .mn-donut,.xgab .mn-gauge{grid-template-columns:auto 1fr}
.xgab .mn__lg{display:grid;gap:4px}
.xgab .mn__li{display:flex;justify-content:space-between;gap:8px;align-items:center}
.xgab .mn__g{display:grid;justify-items:center}
.xgab .mn__g b{font-size:18px;margin-top:-22px}
.xgab .mn-bub{gap:6px}
.xgab .mb{padding:7px 10px;font-size:12px;max-width:80%}
.xgab .mb.u{justify-self:end;background:var(--ink);color:#FFF;border-radius:10px 10px 2px 10px}
.xgab .mb.a{background:var(--alt);border-radius:10px 10px 10px 2px}
.xgab .mn-phs{grid-template-columns:repeat(3,52px);justify-content:center;gap:14px}
.xgab .mp{height:84px;border:3px solid var(--ink);border-radius:9px;padding:6px 5px;display:grid;align-content:start;gap:0}
.xgab .mp .ln{height:4px;margin:3px 0;background:#ECEAE6;display:block;border-radius:2px}
.xgab .mp .ln.s{width:50%}.xgab .mp .ln.m{width:75%}
.xgab .mp__b{display:block;height:9px;margin-top:8px;background:var(--ink)}.xgab .mp__b.or{background:var(--mark)}
.xgab .mn-cards{grid-template-columns:repeat(3,1fr)}
.xgab .mc{padding:6px;border:1px solid var(--line);background:#FFF}
.xgab .mc .ln{display:block;height:5px;margin:4px 0;background:#ECEAE6}.xgab .mc .ln.m{width:70%}.xgab .mc .ln.s{width:40%}
.xgab .mc__i{display:block;height:36px;background:#E9E4DC}.xgab .mc__i--1{background:var(--peche)}.xgab .mc__i--2{background:#DCD3C6}
.xgab .mn-nodes{grid-template-columns:auto 1fr auto 1fr auto;align-items:center}
.xgab .mnn{padding:8px 10px;border:1px solid var(--line);background:#FFF;font-weight:600;font-size:12px}
.xgab .mnn:nth-child(3){background:var(--ink);color:#FFF;border-color:var(--ink)}
.xgab .mnn__l{display:block;height:1px;background:var(--mark)}
.xgab .mn-steps{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}
.xgab .ms{padding:8px;text-align:center;border:1px solid var(--line);background:#FFF;font-weight:600;font-size:12px}
.xgab .ms--ok{background:var(--mark);color:#FFF;border-color:var(--mark)}
.xgab .ms__a{font-style:normal;color:var(--mark)}
.xgab .mn-fun{justify-items:center;gap:4px}
.xgab .mf{height:12px;width:var(--p);background:var(--ink)}
.xgab .mf:nth-child(3){background:var(--accent)}.xgab .mf:nth-child(4){background:var(--mark)}
.xgab .mn-kb{grid-template-columns:repeat(3,1fr);align-items:start}
.xgab .mk{display:grid;gap:5px;padding:5px;background:var(--alt);min-height:70px;align-content:start}
.xgab .mk__c{padding:5px;background:#FFF;border:1px solid var(--line)}
.xgab .mk__c .ln{display:block;height:5px;background:#ECEAE6;width:70%}
@media (max-width:640px){.xgab .ph__n{right:-10px;top:auto;bottom:-20px}.xgab .sh__g{grid-template-columns:1fr 1fr}.xgab .vk-leg,.xgab .vk-fun,.xgab .vk-mx{grid-template-columns:1fr}.xgab .lg__ar{transform:rotate(90deg);justify-self:center}.xgab .vk-pr{grid-template-columns:1fr}.xgab .pr__a{transform:rotate(90deg);justify-self:center}}
@media (prefers-reduced-motion:reduce){.xgab .hub__dot,.xgab .vk-chat .typing i{animation:none}}
.xgab .hero-vis .draw{width:100%}
.xgab .hero-vis .draw .win[data-vk]{width:100%}
.xgab .hero-vis .draw .win--phone{width:250px}
.xgab .lg__n .bi__t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px}
.xgab .fn__s{width:calc(40% + var(--p) * .6);white-space:nowrap}
/* « Dans votre secteur » visible même sans secteur choisi : on invite à choisir, puis le contenu s’adapte. */
body:has(.xgab) .v2-sxs{display:block}
html:not([data-sx-theme]) body:has(.xgab) .v2-sxs [data-sx-block=""]{display:block}
/* Pages enjeu sur le gabarit .xgab : citation du dirigeant en titre, photos sans cadre, couleurs d'univers. */
.xgab{--u-ia:#6E4F96;--u-cro:#B4581A}
.xgab .e-hero__q{margin:18px 0 0;font-size:clamp(32px,3.4vw,48px);font-weight:500;line-height:1.1;letter-spacing:-.035em}
.xgab .e-hero__q span{color:var(--accent)}
.xgab .photo-vis .e-ph{display:block;width:100%;aspect-ratio:4/5;background-size:cover;background-position:center}
.xgab .lived .photo-vis .e-ph{aspect-ratio:5/4}
/* Titres de rubrique qui suivent le défilement, comme sur l'accueil : rail à gauche, contenu à droite. */
@media (min-width:861px){
  .xgab .pl > .wrap:has(> .pl__head.row){display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:40px;align-items:start}
  .xgab .pl > .wrap > .pl__head.row{display:contents}
  .xgab .pl > .wrap > .pl__head.row > .rail{grid-column:1;grid-row:1 / span 6;position:sticky;top:80px;align-self:start}
  .xgab .pl > .wrap > .pl__head.row > .main{grid-column:2;grid-row:1;margin-bottom:48px}
  .xgab .pl > .wrap:has(> .pl__head.row) > :not(.pl__head){grid-column:2}
}
/* La section « Votre projet » est sombre comme le pied de page : un filet les sépare. */
.v2-pj + * .foot,.v2-pj ~ .foot,body:has(.v2-pj) .foot{border-top:1px solid var(--dk-line)}
/* Appels à l'action au fil de la page : une phrase et un lien, sans bouton. */
.cta-in{margin:36px 0 0;font-size:15.5px;color:var(--ink-2)}
.cta-in a{margin-left:4px;color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--mark);text-decoration-thickness:2px;text-underline-offset:6px;transition:color .2s}
.cta-in a:hover{color:var(--accent)}
.dk .cta-in,.pl--dk .cta-in,.xgab .pl--dk .cta-in{color:var(--dk-muted,#A6ABB0)}
.dk .cta-in a,.pl--dk .cta-in a,.xgab .pl--dk .cta-in a{color:var(--dk-text,#F2F2EF)}

/* Page À propos (/cabinet) : fiche du cabinet, méthode en 3 temps, engagements sur 4 colonnes, domaines, recrutement */
.xgab .idc{background:#fff;border:1px solid var(--line);box-shadow:0 24px 48px -28px rgba(16,21,31,.35);padding:18px 20px;display:grid;gap:12px;font-size:13px}
.xgab .idc__h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--ink);padding-bottom:10px}
.xgab .idc__h b{font:600 22px/1 'Geist','Helvetica Neue',Arial,sans-serif;letter-spacing:-.055em}
.xgab .idc__h b i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mark);margin-left:2px}
.xgab .idc__h small{color:var(--muted);font-size:11px}
.xgab .idc dl{margin:0;display:grid}
.xgab .idc dl div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.xgab .idc dt{color:var(--muted);font-size:12px}
.xgab .idc dd{margin:0;font-weight:500}
.xgab .idc__u{display:inline-flex;align-items:center;gap:6px;margin:0 10px 4px 0;font-size:12px}
.xgab .idc__u::before{content:"";width:8px;height:8px;background:var(--c)}
.xgab .idc__s{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.xgab .idc__s b{color:var(--ink);font-weight:500}
.xgab .idc__sig{flex:1;height:22px;border-bottom:1px solid var(--ink);background:linear-gradient(transparent 60%,transparent);position:relative}
.xgab .idc__sig::after{content:"";position:absolute;left:10%;bottom:4px;width:60%;height:14px;border:2px solid var(--accent);border-color:var(--accent) transparent transparent transparent;border-radius:50% 50% 0 0}
.xgab .idw.s-plan .idc{background:transparent;box-shadow:none;border:1px dashed var(--accent);animation:xp-trace 1s cubic-bezier(.6,0,.2,1) both}
.xgab .idw .idc>*{transition:opacity .45s}
.xgab .idw.s-plan .idc>*{opacity:.15}
.xgab .idw.s-built .idc>*:nth-child(2){transition-delay:.15s}
.xgab .idw.s-built .idc>*:nth-child(3){transition-delay:.3s}
.xgab .steps--3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.xgab .cost--4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.xgab .doms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:40px}
.xgab .jobs li{grid-template-columns:110px minmax(0,1fr) auto!important;align-items:baseline}
@media (max-width:860px){.xgab .doms,.xgab .cost--4,.xgab .steps--3{grid-template-columns:1fr 1fr!important}.xgab .jobs li{grid-template-columns:1fr!important}}
.xgab .covers{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:36px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.xgab .covers a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.xgab .covers a::before{content:"";width:9px;height:9px;background:var(--c)}
.xgab .covers a:hover{border-color:var(--ink)}
/* Accueil, « Le cabinet » : initiales à la place du carré gris (même monogramme que la section Votre projet). */
.home-mono{width:56px;height:56px;flex-shrink:0;font-size:21px;color:var(--dk-text);background:var(--dk);border-color:var(--dk)}
.home-mono::after{background:var(--alt)}
/* « Ce qu'on construit » : un visuel par brique (devis, planning, recherche, équipe, liste, publication…) */
.xgab .bv .mn{min-height:96px}
.xgab .mn-doc{grid-template-columns:1fr auto;align-items:start}
.xgab .md{padding:10px 12px;border:1px solid var(--line);background:#FFF}
.xgab .md__h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.xgab .md__h b{font-size:12.5px}.xgab .md__h small{font-size:10.5px;color:var(--muted)}
.xgab .md .ln{display:block;height:5px;margin:5px 0;background:#ECEAE6}.xgab .md .ln.m{width:70%}.xgab .md .ln.s{width:45%}
.xgab .md__t{display:flex;justify-content:space-between;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:12px}
.xgab .md__t b{color:var(--accent)}
.xgab .md__st{align-self:center;padding:5px 9px;border-radius:999px;background:var(--peche);color:var(--accent);font-size:11px;font-weight:600}
.xgab .mn-cal{grid-template-columns:repeat(5,1fr);gap:6px;align-items:start}
.xgab .mc2{display:grid;gap:4px;padding:5px;background:var(--alt);min-height:78px;align-content:start}
.xgab .mc2 small{font-size:10px;color:var(--muted)}
.xgab .mc2__e{height:16px;background:var(--ink)}.xgab .mc2__e--1{background:var(--mark)}.xgab .mc2__e--2{background:#D9D4CC}
.xgab .mn-sr{gap:6px}
.xgab .msr__q{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;color:var(--muted);background:#FFF}
.xgab .msr__r{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;padding:5px 8px;border:1px solid var(--line);background:#FFF;font-size:11.5px}
.xgab .msr__r b{width:18px;height:18px;border-radius:50%;background:#ECEAE6;display:flex;align-items:center;justify-content:center;font-size:10px}
.xgab .msr__r--me{border-color:var(--mark)}.xgab .msr__r--me b{background:var(--mark);color:#FFF}
.xgab .msr__r .ln{display:block;height:5px;background:#ECEAE6;width:60%}
.xgab .mn-pp{grid-template-columns:auto 1fr;gap:16px}
.xgab .mn-pp .avs i{width:30px;height:30px}
.xgab .mpp__k b{display:block;font-size:20px;font-weight:600}.xgab .mpp__k small{font-size:11px;color:var(--muted)}
.xgab .mn-ls{gap:6px}
.xgab .mls{display:flex;gap:8px;align-items:center;font-size:12px}
.xgab .mls i{width:18px;height:18px;border-radius:50%;background:var(--mark);color:#FFF;font-style:normal;font-size:10px;display:flex;align-items:center;justify-content:center}
.xgab .mn-post{gap:8px}
.xgab .mpo{display:flex;gap:10px;align-items:center}
.xgab .mpo .av{width:28px;height:28px;border-radius:50%;background:var(--ink)}
.xgab .mpo .ln{display:block;height:5px;margin:4px 0;background:#ECEAE6;width:120px}.xgab .mpo .ln.s{width:70px}
.xgab .mpo__r{display:flex;gap:14px;font-size:11.5px;color:var(--muted)}.xgab .mpo__r span:first-child{color:var(--accent);font-weight:600}
.xgab .duo__v.swap .bv.on .wf{animation:xp-pop .4s both;animation-delay:calc(var(--i,0) * .06s)}
.xgab .mk{gap:6px;padding:6px}
.xgab .mk>small{font-size:10px}
.xgab .mk__c{padding:6px 7px;min-height:24px}
.xgab .mk__c .ln{display:block;height:5px;margin:3px 0;background:#D9D4CC;width:85%}.xgab .mk__c .ln.m{width:55%;background:#ECEAE6}
.xgab .mk:first-child .mk__c{border-left:2px solid var(--mark)}
.xgab .mk{justify-content:stretch;align-items:stretch;border:0;font-size:inherit;font-weight:400;letter-spacing:0;color:inherit}

/* Accueil : visuel animé du haut de page, le parcours comprendre → construire → piloter joué en direct */
.hl-wrap{align-self:stretch;min-width:0}
.hl{position:relative;height:540px;perspective:1100px;font-size:12.5px;color:var(--ink)}
.hl__grid{position:absolute;inset:-10px;background-image:linear-gradient(rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.07) 1px,transparent 1px),linear-gradient(rgba(16,21,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.035) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent);pointer-events:none}
.hl__dim{position:absolute;font-size:11px;color:var(--accent);opacity:.6}
.hl__dim--x{left:0;right:44px;top:6px;height:12px;border-left:1px solid;border-right:1px solid;text-align:center}
.hl__dim--x::before{content:"";position:absolute;left:0;right:0;top:6px;border-top:1px solid}
.hl__dim--x span{position:relative;background:#FFF;padding:0 8px}
.hl__dim--y{top:36px;bottom:40px;right:10px;width:12px;border-top:1px solid;border-bottom:1px solid}
.hl__dim--y::before{content:"";position:absolute;top:0;bottom:0;left:6px;border-left:1px solid}
.hl__dim--y span{position:absolute;top:50%;left:-2px;transform:translate(-100%,-50%) rotate(-90deg);transform-origin:right center;background:#FFF;padding:0 6px;white-space:nowrap}
.hl__stamp{position:absolute;left:0;bottom:4px;margin:0;font-size:11px;color:var(--muted)}
.hl__stamp b{color:var(--accent);font-weight:500}
.hl__scene{position:absolute;inset:34px 44px 34px 0;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.hl__link{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hl__link path{fill:none;stroke:var(--mark);stroke-width:1.5;stroke-dasharray:4 5;opacity:0;transition:opacity .6s}
.hl.s-live .hl__link path{opacity:.55}
.hl__dot{position:absolute;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--mark);box-shadow:0 0 0 6px rgba(232,130,58,.18);opacity:0;offset-rotate:0deg;transform:translateZ(60px)}
.hl__dot.go{opacity:1;animation:hlTravel 1.1s cubic-bezier(.6,0,.3,1) forwards}
@keyframes hlTravel{from{offset-distance:0%}to{offset-distance:100%}}
.hl__card{position:absolute;width:58%;padding:14px 16px;background:#FFF;border:1px solid var(--line);box-shadow:0 24px 48px -28px rgba(16,21,31,.4);display:grid;gap:8px;transition:background-color .5s,border-color .5s,box-shadow .5s}
.hl__card>*{transition:opacity .5s}
.hl__k{font-size:11px;color:var(--accent);font-weight:600}
.hl__card>b{font-size:15px;font-weight:600}
.hl__c1{left:0;top:0;transform:translateZ(20px)}.hl__c2{left:20%;top:156px;transform:translateZ(45px)}.hl__c3{left:40%;top:292px;transform:translateZ(70px)}
.hl__card.is-off{background:rgba(232,130,58,.04);border:1px dashed rgba(180,88,26,.7);box-shadow:none}
.hl__card.is-off>*{opacity:0}
.hl__card.is-lit{border-color:var(--mark);box-shadow:0 0 0 4px rgba(232,130,58,.12),0 24px 48px -28px rgba(16,21,31,.4)}
.hl__g{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center}
.hl__gauge{position:relative;width:90px;height:50px}
.hl__gauge svg{width:90px;height:50px;overflow:visible}
.hl__bg{fill:none;stroke:#E6E1DA;stroke-width:9;stroke-linecap:round}
.hl__fg{fill:none;stroke:var(--mark);stroke-width:9;stroke-linecap:round;stroke-dasharray:126;stroke-dashoffset:126;transition:stroke-dashoffset 1.3s cubic-bezier(.2,.8,.2,1)}
.hl__gnum{position:absolute;left:0;right:0;bottom:-2px;text-align:center;font-size:20px;font-weight:700}
.hl__checks{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.hl__checks li{display:flex;gap:7px;align-items:center;font-size:12px;opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s}
.hl__checks li.on{opacity:1;transform:none}
.hl__checks i{width:16px;height:16px;border-radius:50%;background:var(--mark);color:#FFF;font-style:normal;font-size:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hl__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.hl__tiles div{padding:8px 9px;background:var(--alt)}
.hl__tiles div:first-child{background:var(--sable,#FCE9DA)}
.hl__tiles small{display:block;font-size:10.5px;color:var(--muted)}
.hl__tiles b{display:block;font-size:17px;font-weight:700;margin-top:2px}
.hl__prog{display:grid;gap:5px}
.hl__prog span{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}
.hl__lot{font-style:normal;color:var(--accent);font-weight:600}
.hl__bar{height:6px;background:#ECEAE6;overflow:hidden}
.hl__bar i{display:block;height:100%;width:0;background:var(--mark);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.hl__kpi{display:flex;justify-content:space-between;align-items:baseline}
.hl__kpi b{font-size:24px;font-weight:700;letter-spacing:-.03em}
.hl__kpi small{font-size:11px;color:var(--muted)}
.hl__curve svg{display:block;width:100%;height:56px;overflow:visible}
.hl__cl{fill:none;stroke:var(--mark);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1)}
.hl__ca{fill:rgba(232,130,58,.12);opacity:0;transition:opacity .8s .9s}
.hl__curve circle{fill:var(--mark);opacity:0;transition:opacity .3s 1.5s}
.hl__c3.is-play .hl__cl{stroke-dashoffset:0}.hl__c3.is-play .hl__ca{opacity:1}.hl__c3.is-play .hl__curve circle{opacity:1;animation:hlPulse 1.6s 1.6s infinite}
@keyframes hlPulse{0%,100%{r:4}50%{r:7}}
.hl__cap{font-size:11.5px;color:var(--muted)}
.hl__toast{position:absolute;display:flex;gap:9px;align-items:center;padding:9px 12px;background:var(--ink);color:#FFF;font-size:12px;box-shadow:0 18px 36px -18px rgba(16,21,31,.6);opacity:0;transform:translateY(10px) translateZ(100px);transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.hl__toast i{width:18px;height:18px;border-radius:50%;background:var(--mark);font-style:normal;font-size:10px;display:flex;align-items:center;justify-content:center}
.hl__toast.on{opacity:1;transform:translateY(0) translateZ(100px)}
.hl__t1{right:-6px;top:46px}.hl__t2{left:-14px;top:238px}.hl__t3{right:-4px;bottom:-10px}
@media (max-width:980px){.hl{height:510px}.hl__card{width:76%}.hl__c2{left:12%}.hl__c3{left:24%}.hl__t2{left:0}}
@media (max-width:640px){.hl{height:500px}.hl__dim--y{display:none}.hl__scene{right:0}.hl__card{width:86%}.hl__c2{left:7%}.hl__c3{left:14%}.hl__toast{font-size:11px}.hl__t1{right:0}}
@media (prefers-reduced-motion:reduce){.hl *{transition:none!important;animation:none!important}}
/* Accueil, « Le cabinet » : la fiche animée du cabinet à la place de la photo */
.hxg-cab .hero-vis{padding:24px 0 40px}
/* ===== Visuels animés sur téléphone : l'écran prend toute la largeur, sans cote verticale ni menu interne ===== */
@media (max-width:640px){
  .xgab .hero-vis{padding:20px 0 34px}
  .xgab .draw{padding:30px 0 30px}
  .xgab .draw .dim--y{display:none}
  .xgab .draw .dim--x{left:0;right:0}
  .xgab .draw .stamp{left:0}
  .xgab .app__top span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .xgab .app__g{grid-template-columns:1fr}
  .xgab .app__nav{display:none}
  .xgab .tiles small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .xgab .tiles b{font-size:15px;white-space:nowrap}
  .xgab .lines div span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}
  .xgab .vk{min-height:0;padding:12px}
  .xgab .bi__g{grid-template-columns:1fr}
  .xgab .bi__d{grid-template-columns:auto 1fr;justify-items:start;align-items:center}
  .xgab .bi__t b{font-size:15px}
  .xgab .rep__g{grid-template-columns:1fr}
  .xgab .rep__s{grid-template-columns:auto 1fr;justify-items:start;align-items:center}
  .xgab .rep__s b{margin-top:0}
  .xgab .sa__p{grid-template-columns:1fr 1fr 1fr}
  .xgab .po__r{grid-template-columns:1fr auto}
  .xgab .po__r span:nth-child(2){display:none}
  .xgab .po__d{grid-template-columns:auto 1fr}
  .xgab .vk-hub{min-height:230px}
  .xgab .hub__c,.xgab .hub__n{min-width:0;padding:6px 8px;font-size:11px}
  .xgab .duo__v.vis,.xgab .duo__v.vis--plan{padding:24px 0 44px}
  .xgab .idc{padding:14px}
  .xgab .idc dl div{grid-template-columns:96px 1fr;gap:10px}
  .xgab .idc__u{margin-right:8px}
  /* Accueil : cartes plus espacées, une notification sur deux masquée */
  .hl{height:600px}
  .hl__scene{inset:30px 0 34px 0}
  .hl__card{width:90%;padding:12px 13px}
  .hl__c2{left:5%;top:178px}.hl__c3{left:10%;top:344px}
  .hl__g{grid-template-columns:78px 1fr;gap:10px}
  .hl__gauge,.hl__gauge svg{width:78px}
  .hl__checks li{font-size:11.5px}
  .hl__tiles b{font-size:15px}
  .hl__kpi{flex-wrap:wrap;gap:4px 10px}
  .hl__t2{display:none}
  .hl__t1{right:0;top:-6px}.hl__t3{right:0;bottom:-26px}
}
@media (max-width:640px){.hl__stamp{display:none}.hl__dim--x{top:0}.xgab .ph__st{min-height:330px}.xgab .ph__n{right:-6px;bottom:-14px;top:auto}}

/* Boutons v2 (charte) : 48 px, la flèche dans une case carrée à droite, séparée d'un filet ; la case s'allume en orange au survol.
   Flèche ajoutée en CSS sur les liens et les boutons d'envoi, pas sur les boutons d'interface (cookies, choix du secteur). */
.btn,.xgab .btn{min-height:48px;font-size:14.5px;font-weight:500;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent}
.btn{--ar:currentColor;--cell:color-mix(in srgb,currentColor 22%,transparent)}
.btn--primary,.xgab .btn:not(.btn--ghost){--ar:#E8823A}
.dk .btn--primary,.foot .btn--primary,.v2-cta .btn--primary,.test__score .btn,.ej-panel .btn{--ar:#B4581A}
a.btn,button.btn[type=submit],button.btn[data-pf-next]{position:relative;padding-left:22px!important;padding-right:68px!important}
a.btn::before,button.btn[type=submit]::before,button.btn[data-pf-next]::before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;width:48px;border-left:1px solid var(--cell);transition:background-color .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
a.btn::after,button.btn[type=submit]::after,button.btn[data-pf-next]::after{content:"";position:absolute;top:50%;right:15px;width:16px;height:16px;margin-top:-8px;background:var(--ar);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .35s cubic-bezier(.2,.8,.2,1),background-color .3s}
a.btn:hover::before,button.btn[type=submit]:hover::before,button.btn[data-pf-next]:hover::before{background:#E8823A;border-left-color:#E8823A}
a.btn:hover::after,button.btn[type=submit]:hover::after,button.btn[data-pf-next]:hover::after{background:#10151F;transform:translateX(3px)}
.btn .ar,.btn>span[aria-hidden="true"]{display:none}
/* Le bouton plein garde sa couleur au survol : seule la case s'allume */
.btn--primary:hover,.xgab .btn:not(.btn--ghost):hover{background:var(--ink);border-color:var(--ink);color:#FFF}
.dk .btn--primary:hover,.foot .btn--primary:hover,.v2-cta .btn--primary:hover{background:var(--dk-text);border-color:var(--dk-text);color:var(--dk)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid #E8823A;outline-offset:3px}
.btn:disabled{opacity:.55;cursor:default}
.btn:disabled::before{background:none!important}.btn:disabled::after{transform:none!important}
@media (max-width:640px){.btn,.xgab .btn{min-height:44px;font-size:14px}a.btn,button.btn[type=submit],button.btn[data-pf-next]{padding-left:18px!important;padding-right:58px!important}a.btn::before,button.btn[type=submit]::before,button.btn[data-pf-next]::before{width:42px}a.btn::after,button.btn[type=submit]::after,button.btn[data-pf-next]::after{right:13px;width:15px;height:15px;margin-top:-7.5px}.hero .btn,.e-hero .btn,.x-hero .btn{width:auto;justify-content:flex-start}}

/* Accueil : animation du hero plus petite, la section garde sa hauteur (cartes recentrées) */
.hl{font-size:11.5px}
.hl__card{width:52%;padding:12px 14px;gap:7px}
.hl__card>b{font-size:14px}
.hl__c1{top:14px}.hl__c2{left:22%;top:146px}.hl__c3{left:44%;top:296px}
.hl__g{grid-template-columns:76px 1fr;gap:12px}
.hl__gauge,.hl__gauge svg{width:76px;height:44px}
.hl__gnum{font-size:17px}
.hl__checks li{font-size:11.5px}
.hl__tiles div{padding:7px 8px}.hl__tiles b{font-size:15px}
.hl__kpi b{font-size:21px}
.hl__curve svg{height:44px}
.hl__toast{font-size:11.5px;padding:8px 11px}
.hl__t2{top:352px;left:0}
@media (min-width:981px){.hl-wrap{padding-left:56px}}
@media (max-width:980px){.hl__card{width:70%}.hl__c2{left:14%}.hl__c3{left:28%}}
@media (max-width:640px){
  .hl__card{width:84%;padding:10px 12px;gap:6px}
  .hl__card>b{font-size:13.5px}
  .hl__card{width:100%;left:0!important}
  .hl__c1,.hl__c2,.hl__c3{transform:none}
  .hl__c1{top:10px}.hl__c2{top:160px}.hl__c3{top:338px}
  .hl__g{grid-template-columns:66px 1fr;gap:10px}
  .hl__gauge,.hl__gauge svg{width:66px;height:38px}
  .hl__gnum{font-size:15px}
  .hl__checks li{font-size:11px}
  .hl__tiles b{font-size:14px}.hl__tiles small{font-size:10px}
  .hl__kpi b{font-size:19px}
  .hl__curve svg{height:38px}
  .hl__toast{font-size:10.5px}
  .hl__t1{top:-4px}.hl__t3{bottom:-22px}
}
/* Accueil : les deux boutons l’un sous l’autre, à la même largeur (celle du plus long) */
.hero .actions{display:inline-grid;grid-template-columns:auto;gap:10px}.hero .actions .btn{width:100%;justify-content:flex-start}
/* Accueil, téléphone : texte du hero centré */
@media (max-width:640px){
  .hero__grid>div:first-child{text-align:center}
  .hero__grid>div:first-child .lead{margin-inline:auto}
  .hero__grid>div:first-child>p:first-child{justify-content:center}
  .hero .actions{margin-inline:auto;justify-items:stretch}
  .hero__grid>div:first-child{display:flex;flex-direction:column;align-items:center}
  .hero .sx-invite{justify-content:center;text-align:center}
}
@media (max-width:640px){
  .hero .actions .btn{justify-content:center;text-align:center;min-height:42px;font-size:13.5px;padding-left:14px!important;padding-right:54px!important}
  .hero .actions .btn::before{width:40px}
  .hero .actions .btn::after{right:12px;width:14px;height:14px;margin-top:-7px}
}
/* Pied de page : le point du logo arrive en roulant et se pose (une fois, à l'arrivée à l'écran) */
.foot__mark.js-roll .dot{opacity:0}
.foot__mark.is-roll .dot{animation:footRoll 2.4s cubic-bezier(.16,1,.3,1) both}
@keyframes footRoll{0%{opacity:0;transform:translateX(1.2em) rotate(688deg)}12%{opacity:1}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.foot__mark.js-roll .dot{opacity:1}.foot__mark.is-roll .dot{animation:none}}
/* Photo de Vanna à la place du monogramme VH (coin croqué conservé) */
.v2-pj__mono{background:var(--dk-2) url(/img/vanna.jpg) center 22%/cover no-repeat;color:transparent}
.v2-pj__mono{width:84px;height:84px}
.v2-pj__mono::after{width:18px;height:18px;border-radius:0 0 0 18px}
.home-mono{width:76px;height:76px}
.v2-pj__mono{border:0}.v2-pj__mono::after{right:0;top:0}
.v2-pj__who{grid-template-columns:84px minmax(0,1fr);gap:20px}
.v2-pj__who{align-items:center}.v2-pj__who b{margin-top:0;font-size:15px}.v2-pj__who span{display:block}.v2-pj__who .v2-pj__role{margin-top:8px;font-size:14px;color:var(--dk-text)}
.v2-pj__mono--txt{background:var(--dk-2);color:var(--dk-text);width:64px;height:64px;border:1px solid var(--dk-line)}
.xp__k{margin:14px 0 -4px;font-size:12px;font-weight:600;color:var(--muted)}
/* Accueil, onglet Expertises : l'action en gras, l'outil en petit dessous */
#xp-exp .xp__l a{display:grid;gap:1px;padding:10px 0}
#xp-exp .xp__l a b{font-weight:600;font-size:14px;line-height:1.35}
#xp-exp .xp__l a b::after{content:" →";color:var(--mark);font-weight:500}
#xp-exp .xp__l a small{font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.xp:hover #xp-exp .xp__l a small,#xp-exp .xp:hover .xp__l a small{color:var(--dk-muted)}
/* Briques : le résultat pour le dirigeant, sous la description */
.xgab .list li.on .d{max-height:140px}
.xgab .list .d .res{display:block;margin-top:8px;font-style:normal;font-weight:600;color:var(--ink)}
.xgab .list .d .res::before{content:"Résultat · ";font-weight:500;color:var(--accent)}
/* Méthode en quatre temps : accueil (section sombre) et pages secteurs, métiers, À propos */
.mth__path{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto auto 1fr;column-gap:14px}
.mth__path::before{content:"";position:absolute;left:0;right:0;top:19px;border-top:1px dashed rgba(232,130,58,.5)}
.mth__st{grid-row:span 4;display:grid;grid-template-rows:subgrid;row-gap:14px;position:relative}
.mth__n{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding-right:12px;background:var(--dk);font-size:13px;font-weight:600;color:var(--dk-text)}
.mth__n i{width:38px;height:38px;display:grid;place-items:center;background:var(--dk-text);color:var(--dk);font-style:normal;font-size:14px}
.mth__st:nth-child(2) .mth__n i{background:var(--mark);color:var(--ink)}
.mth__card{grid-row:span 3;display:grid;grid-template-rows:subgrid;row-gap:10px;border:1px solid var(--dk-line);padding:20px;background:rgba(255,255,255,.02)}
.mth__card small{font-size:12px;font-weight:600;color:var(--dk-label)}
.mth__card h3{font-size:18px;letter-spacing:-.015em;line-height:1.3;color:var(--dk-text)}
.mth__card p{font-size:14px;color:var(--dk-muted)}
.mth__card .mth__meta{border-top:1px solid var(--dk-line);padding-top:10px;font-size:13px;color:var(--dk-text)}
.mth__two{display:grid;gap:10px;align-content:start}
.mth__two div{display:grid;gap:2px;font-size:13.5px;color:var(--dk-muted)}
.mth__two b{font-weight:600;color:var(--dk-text);font-size:14px}
.mth__foot{margin-top:26px;padding-top:18px;border-top:1px solid var(--dk-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;font-size:14px;color:var(--dk-muted)}
.mth__foot b{color:var(--dk-text);font-weight:600}
.mth__links{display:flex;flex-wrap:wrap;gap:8px 22px}
.mth__links a{color:var(--dk-text);font-weight:600;text-decoration:underline;text-decoration-color:var(--mark);text-decoration-thickness:2px;text-underline-offset:5px}
.steps.steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.xgab .steps--4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media (max-width:980px){.mth__path{grid-template-columns:1fr 1fr;row-gap:22px}.mth__path::before{display:none}.steps.steps--4,.xgab .steps--4{grid-template-columns:1fr 1fr!important}}
@media (max-width:640px){.mth__path{grid-template-columns:1fr}.mth__st,.mth__card{grid-row:auto;grid-template-rows:auto}.steps.steps--4,.xgab .steps--4{grid-template-columns:1fr!important}}
.mth .head{margin-bottom:36px}
.mth__path{grid-template-rows:none;align-items:stretch}
.mth__st{grid-row:auto;display:flex;flex-direction:column;gap:14px}
.mth__card{grid-row:auto;display:flex;flex-direction:column;gap:10px;flex:1}
.mth__card .mth__meta{margin-top:auto}
/* Accueil, section 05 : les quatre piliers à côté de la fiche du cabinet */
.pil{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border-top:1px solid var(--ink)}
.pil li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;row-gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}
.pil__n{grid-row:span 2;font-size:12px;font-weight:600;color:var(--mark);padding-top:3px;font-variant-numeric:tabular-nums}
.pil b{font-weight:600;font-size:15.5px;letter-spacing:-.01em;line-height:1.35}
.pil p{font-size:13.5px;color:var(--ink-2)}
@media (max-width:640px){.pil{grid-template-columns:1fr}}
.pil{grid-template-columns:1fr}.pil li{padding:14px 0}
.cab-l{display:grid;gap:0;align-content:start}.cab-l>div[style*="background:var(--alt)"]{margin-top:8px!important}
/* Accueil, section 05 « Pourquoi CookieLab » : quatre cartes égales, puis l'interlocuteur */
.why__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.why__g li{display:flex;flex-direction:column;gap:12px;padding:22px 22px 20px;border:1px solid var(--line);background:#fff}
.why__n{font-size:12.5px;font-weight:600;color:var(--mark);font-variant-numeric:tabular-nums}
.why__g b{font-weight:500;font-size:18px;letter-spacing:-.015em;line-height:1.3;min-height:2.6em}
.why__g p{font-size:14px;color:var(--ink-2)}
.why__g em{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-style:normal;font-size:12.5px;font-weight:500;color:var(--accent)}
.why__who{margin-top:16px;display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--alt)}
.why__who p{font-size:14px;flex:1}
.why__who p b{font-weight:600}
.why__who p span{color:var(--ink-2)}
@media (max-width:980px){.why__g{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.why__g{grid-template-columns:1fr}.why__g b{min-height:0}.why__who{flex-wrap:wrap}}
.why .head{margin-bottom:32px}.why .head h2{text-wrap:balance}
/* Accueil, section 05 « Nos piliers » : 2 × 2 sur fond graphite, visuels animés en notes */
.pq .head{margin-bottom:8px}
.pq__g{display:grid;grid-template-columns:1fr 1fr;border-top:1px dashed var(--dk-line);margin-top:30px}
.pq__it{display:grid;grid-template-columns:200px minmax(0,1fr);gap:26px;align-items:start;padding:34px 30px 34px 0;border-bottom:1px dashed var(--dk-line)}
.pq__it:nth-child(2n){padding-left:30px;padding-right:0;border-left:1px dashed var(--dk-line)}
.pq__it small{font-size:12px;font-weight:600;color:var(--dk-label)}
.pq__it h3{margin-top:6px;font-size:19px;font-weight:500;letter-spacing:-.015em;line-height:1.3;color:var(--dk-text)}
.pq__it p{margin-top:8px;font-size:14px;color:var(--dk-muted)}
.pq__mv{display:flex;flex-direction:column;align-items:stretch}
.pq__c{border-left:1px solid var(--dk-line);padding:4px 0 4px 16px;display:grid;gap:8px;font-size:11.5px;color:var(--dk-text)}
.pq__h{display:flex;justify-content:space-between;align-items:center;font-weight:600}
.pq__h em{font-style:normal;font-weight:500;color:var(--dk-muted);font-size:10.5px}
.pq__l{display:grid;gap:6px}
.pq__l span{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--dk-muted);opacity:0;transform:translateX(-6px);animation:pqLine 8s infinite}
.pq__l span i{flex:none;width:14px;height:14px;display:grid;place-items:center;border:1px solid var(--dk-line);font-style:normal;font-size:9px;color:var(--dk-label)}
.pq__l span:nth-child(2){animation-delay:.7s}.pq__l span:nth-child(3){animation-delay:1.4s}
.pq__l .pq__idea{color:var(--dk-text);font-weight:600;animation-delay:2.4s}
.pq__l .pq__idea i{background:var(--mark);border-color:var(--mark);color:#fff}
@keyframes pqLine{0%{opacity:0;transform:translateX(-6px)}6%,90%{opacity:1;transform:none}100%{opacity:0}}
.pq__t{align-self:flex-start;margin-top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--dk-line);font-size:10.5px;font-weight:500;color:var(--dk-text)}
.pq__t i{width:13px;height:13px;border-radius:50%;background:var(--mark);font-style:normal;font-size:8px;display:grid;place-items:center;color:#fff}
.pq__who{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;font-size:14px;color:var(--dk-muted)}
.pq__who .home-mono{width:48px;height:48px}
.pq__who .home-mono::after{background:var(--dk)}
.pq__who b{color:var(--dk-text);font-weight:600}
.pq__who a{margin-left:auto;color:var(--dk-text);font-weight:600;text-decoration:underline;text-decoration-color:var(--mark);text-decoration-thickness:2px;text-underline-offset:5px}
@media (max-width:1100px){.pq__g{grid-template-columns:1fr}.pq__it,.pq__it:nth-child(2n){padding:30px 0;border-left:0}}
@media (max-width:640px){.pq__it{grid-template-columns:1fr;gap:18px}.pq__who a{margin-left:0}}
@media (prefers-reduced-motion:reduce){.pq__l span{animation:none;opacity:1;transform:none}}
/* Nos piliers : version claire, avec le quadrillage de plan en fond */
.pq{position:relative;overflow:hidden;background:#fff}
.pq::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(16,21,31,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.06) 1px,transparent 1px),linear-gradient(rgba(16,21,31,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.03) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(80% 90% at 50% 45%,#000 20%,transparent 80%);mask-image:radial-gradient(80% 90% at 50% 45%,#000 20%,transparent 80%)}
.pq .wrap{position:relative}
.pq__g{border-top-color:var(--line)}
.pq__it,.pq__it:nth-child(2n){border-color:var(--line)}
.pq__it small{color:var(--accent)}
.pq__it h3{color:var(--ink)}
.pq__it p{color:var(--ink-2)}
.pq__c{border-left-color:var(--line);color:var(--ink)}
.pq__h em{color:var(--muted)}
.pq__l span{color:var(--ink-2)}
.pq__l span i{border-color:var(--line);color:var(--accent)}
.pq__l .pq__idea{color:var(--ink)}
.pq__t{border-color:var(--line);color:var(--ink);background:#fff}
.pq__who{color:var(--ink-2)}
.pq__who b{color:var(--ink)}
.pq__who a{color:var(--ink)}
.pq__who .home-mono::after{background:#fff}
.pq{overflow:clip}
.pq::before{opacity:.5}
/* Piliers : l'animation se joue une seule fois, à l'arrivée sur la section, puis reste figée */
.pq__l span{animation:none;opacity:0;transform:translateX(-6px)}
.pq.on .pq__l span{animation:pqIn .5s cubic-bezier(.2,.8,.2,1) forwards}
.pq.on .pq__l span:nth-child(2){animation-delay:.35s}
.pq.on .pq__l span:nth-child(3){animation-delay:.7s}
.pq.on .pq__l .pq__idea{animation-delay:1.2s}
@keyframes pqIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pq__l span{opacity:1;transform:none;animation:none!important}}
.xen{border-top:0}
#xp-exp .xp__l{border-top:0!important}
#xp-exp .xp__l a{border-top:0!important}
/* Bandeau clients : vrais logos, en gris discret, couleur au survol */
.logos .l--img{display:block;width:auto;height:34px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .25s,opacity .25s}
.logos .l--img:hover{filter:none;opacity:1}
.logos .l--img{opacity:.8}.logos .l--img[src*="stoppieces"]{height:42px;filter:grayscale(1) contrast(1.4)}
.logos .l--img{height:28px;filter:none;opacity:.75}
.logos .l--img.l--sq{height:46px}
.logos .l--img:hover{opacity:1;filter:none}
.xgab .logos .wrap{gap:18px 40px}
.xgab .logos .wrap{gap:14px 30px;flex-wrap:nowrap;justify-content:space-between}.logos .l--img{height:24px;max-width:120px;object-fit:contain}.logos .l--img.l--sq{height:40px}.xgab .logos p{flex:none;max-width:110px;line-height:1.4}@media (max-width:1000px){.xgab .logos .wrap{flex-wrap:wrap;justify-content:flex-start}}
.sk__bar i{background:var(--mark)}
/* Témoignages : touches d'orange ponctuelles */
.dk .rail span{color:var(--mark)}
.qcard__m b{color:var(--dk-label)}
.qcard blockquote::first-letter{color:var(--mark)}
.qcard__f .link{text-decoration-color:var(--mark)!important;background-image:linear-gradient(var(--mark),var(--mark))!important}
.cnav [data-pos]{color:var(--dk-label)}
.cnav button:hover{border-color:var(--mark);color:var(--mark)}
.qcard__f .link{background-size:100% 2px!important;background-repeat:no-repeat!important;background-position:0 100%!important;padding-bottom:2px}
.qcard__f .link{text-decoration:none!important}
.pi-11{--pic:url("../img/p11.jpg")}.pi-12{--pic:url("../img/p12.jpg")}.pi-13{--pic:url("../img/p13.jpg")}.pi-14{--pic:url("../img/p14.jpg")}.pi-15{--pic:url("../img/p15.jpg")}.pi-16{--pic:url("../img/methode-plan.jpg")}.pi-17{--pic:url("../img/methode-terrain.jpg")}
.pi-18{--pic:url("../img/p18.jpg")}.pi-19{--pic:url("../img/p19.jpg")}.pi-20{--pic:url("../img/p20.jpg")}.pi-21{--pic:url("../img/p21.jpg")}
.pi-22{--pic:url("../img/p22.jpg")}
/* Accueil : le point qui relie les cartes s'efface à l'arrivée au lieu de rester par-dessus le texte */
@keyframes hlTravelOut{0%{offset-distance:0%;opacity:1}80%{opacity:1}100%{offset-distance:100%;opacity:0}}
.hl__dot.go{animation:hlTravelOut 1.1s cubic-bezier(.6,0,.3,1) forwards}
@media (max-width:640px){.hl__dot,.hl__link{display:none}}
/* Accueil : le point qui relie les cartes prend la forme du point croqué du logo */
.hl__dot{width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;box-shadow:none;background:radial-gradient(circle at 96% 6%,transparent 28.4%,var(--mark) 28.8%);filter:drop-shadow(0 0 6px rgba(232,130,58,.45))}
@media (max-width:640px){
  /* le point reste visible, mais passe derrière les cartes */
  .hl__dot,.hl__link{display:block}
  .hl__scene{transform-style:flat}
  .hl__link{z-index:0}
  .hl__dot{z-index:0;transform:none}
  .hl__dot.go{animation:hlTravel 1.1s cubic-bezier(.6,0,.3,1) forwards}
  .hl__card{z-index:1}
  /* notifications plus petites, sans chevaucher la cote « Votre entreprise » */
  .hl__toast{font-size:10px;padding:5px 8px;gap:6px;z-index:2}
  .hl__toast i{width:13px;height:13px;font-size:7px}
  .hl__t1{top:52px;right:6px}
  .hl__t3{bottom:-18px;right:-4px}
}
/* Panneaux de la méthode : texte blanc lisible sur la photo (voile plus dense sous le texte) */
.pan::after{background:linear-gradient(to top,rgba(var(--dk-rgb),.96) 0%,rgba(var(--dk-rgb),.9) 50%,rgba(var(--dk-rgb),.55) 78%,rgba(var(--dk-rgb),.25) 100%)}
.pan>*{position:relative;z-index:1;text-shadow:0 1px 12px rgba(0,0,0,.45)}
/* Bandeau clients sur téléphone : grille régulière de 2 colonnes, logos de taille homogène */
@media (max-width:640px){
  .xgab .logos .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;align-items:center;justify-items:center;padding-block:28px}
  .xgab .logos p{grid-column:1/-1;justify-self:start;max-width:none;margin-bottom:4px}
  .logos .l--img{height:22px;max-width:130px;width:auto}
  .logos .l--img.l--sq{height:38px}
}
/* Bandeau clients : logos plus petits (ordinateur et téléphone) */
.logos .l--img{height:18px;max-width:92px}
.logos .l--img.l--sq{height:30px}
.xgab .logos .wrap{gap:14px 26px;padding-block:20px}
@media (max-width:640px){
  .logos .l--img{height:15px;max-width:96px}
  .logos .l--img.l--sq{height:26px}
  .xgab .logos .wrap{gap:16px 12px;padding-block:22px}
}
/* Bandeau clients : sur ordinateur une ligne fixe ; sur téléphone une ligne qui défile */
.logos__run{flex:1;min-width:0}
.logos__track{display:flex;align-items:center;justify-content:space-between;gap:14px 26px}
.logos__dup{display:none}
@media (max-width:640px){
  .xgab .logos .wrap{display:block}
  .xgab .logos p{margin-bottom:14px}
  .logos__run{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .logos__track{width:max-content;justify-content:flex-start;gap:0;animation:logosRun 28s linear infinite}
  .logos__track img,.logos__dup img{margin-right:30px;flex:none}
  .logos__dup{display:flex;align-items:center}
  .logos .l--img{height:18px;max-width:none}
  .logos .l--img.l--sq{height:30px}
}
@keyframes logosRun{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.logos__track{animation:none}}
/* Accueil mobile : le point croqué redevient visible pendant son trajet (au-dessus, puis s'efface à l'arrivée) ; cartes un peu plus étroites */
@media (max-width:640px){
  .hl__card{width:92%!important;left:4%!important}
  .hl__dot{z-index:3}
  .hl__dot.go{animation:hlTravelOut 1.4s cubic-bezier(.6,0,.3,1) forwards}
  .hl__link{z-index:0}
}

/* ===== Formulaire de contact simplifié (.pf--s) : catégories d'expertise à cocher + coordonnées ===== */
.pf.pf--s{display:grid;gap:22px}
.pf--s .pf__th{border:0;margin:0;padding:0;min-width:0;display:grid;gap:8px}
.pf--s .pf__th legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:600}
.pf--s .pf__th legend small,.pf--s .pf__grid label small{font-weight:400;color:var(--muted)}
.pf--s .pf__thg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pf--s .pf__tc{position:relative;cursor:pointer;display:block}
.pf--s .pf__tc input{position:absolute;opacity:0;pointer-events:none}
.pf--s .pf__tc>span{display:flex;flex-direction:column;justify-content:flex-start;gap:3px;height:100%;min-height:72px;padding:14px 14px 14px 42px;border:1px solid var(--line);background:#fff;position:relative;transition:border-color .2s,background-color .2s}
.pf--s .pf__tc>span::before{content:"";position:absolute;left:14px;top:16px;width:16px;height:16px;border:1.5px solid #C9CBC7;background:#fff center/10px no-repeat;transition:background-color .2s,border-color .2s}
.pf--s .pf__tc b{font-size:14px;font-weight:600;line-height:1.3}
.pf--s .pf__tc em{font-style:normal;font-size:12.5px;line-height:1.4;color:var(--muted)}
.pf--s .pf__tc:hover>span{border-color:#C9CBC7}
.pf--s .pf__tc input:checked+span{border-color:var(--mark);background-color:#FFF7F0}
.pf--s .pf__tc input:checked+span::before{border-color:var(--mark);background-color:var(--mark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8'%3E%3Cpath d='M1 4l3 3 5-6' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E")}
.pf--s .pf__tc input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.pf--s .pf__tc--soft>span{min-height:44px;justify-content:center;font-size:13.5px;font-weight:500;color:var(--ink-2);border-style:dashed}
.pf--s .pf__tc--soft>span::before{top:50%;margin-top:-8px}
.pf--s .pf__grid{gap:16px 18px}
.pf--s .pf__grid select{font:inherit;font-size:15px;font-weight:400;min-height:48px;padding:0 38px 0 14px;border:1px solid var(--line);color:var(--ink);border-radius:0;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2310151F' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center}
.pf--s .pf__grid input,.pf--s .pf__grid textarea{background:#fff}
.pf--s .pf__grid input,.pf--s .pf__grid select,.pf--s .pf__grid textarea{transition:border-color .2s}
.pf--s .pf__grid input:hover,.pf--s .pf__grid select:hover,.pf--s .pf__grid textarea:hover{border-color:#C9CBC7}
.pf--s .pf__grid select:focus{outline:2px solid var(--mark);outline-offset:-1px}
.pf--s .pf__grid textarea::placeholder{color:#9AA0A6}
.pf--s .pf__err{margin:0}
.pf--s .pf__act{margin-top:0;flex-wrap:wrap}
.pf--s .pf__legal{margin:0;font-size:12.5px;color:var(--muted);max-width:36ch}
.hero .pf.pf--s,.hero .pf__done{box-shadow:none;border:1px solid var(--line)}
@media (max-width:980px){.pf--s .pf__thg{grid-template-columns:1fr}.pf--s .pf__tc>span{min-height:0}.pf--s .pf__act .btn{width:100%;justify-content:center}}
/* Formulaire simplifié : version compacte */
.pf.pf--s{gap:16px;padding:24px}
.pf--s .pf__th legend{margin-bottom:8px;font-size:12.5px}
.pf--s .pf__thg{gap:6px}
.pf--s .pf__th{gap:6px}
.pf--s .pf__tc>span{min-height:0;gap:1px;padding:9px 12px 9px 34px}
.pf--s .pf__tc>span::before{left:12px;top:11px;width:13px;height:13px;background-size:8px}
.pf--s .pf__tc b{font-size:13.5px}
.pf--s .pf__tc em{font-size:12px;line-height:1.35}
.pf--s .pf__tc--soft>span{min-height:0;padding:7px 12px 7px 34px;font-size:13px}
.pf--s .pf__tc--soft>span::before{margin-top:-6.5px}
.pf--s .pf__grid{gap:12px 14px}
.pf--s .pf__grid label{gap:5px;font-size:12.5px}
.pf--s .pf__grid input,.pf--s .pf__grid textarea{font-size:14.5px;padding:9px 12px}
.pf--s .pf__grid select{font-size:14.5px;min-height:40px;padding:0 34px 0 12px;background-position:right 12px center}
.pf--s .pf__grid textarea{min-height:76px}
.pf--s .pf__act{padding-top:14px}
.pf--s .pf__act .btn{min-height:44px}
@media (max-width:980px){.pf.pf--s{padding:18px}}
/* Menu Expertises : surlignage qui suit le survol (plus de case grisée fixe) */
a.mm__item{padding:8px 12px;margin:0 -12px;border-radius:8px;transition:background-color .15s}
a.mm__item:hover,a.mm__item:focus-visible{background:#F2F1EE}
.mn__items a.mm__item:hover{background:none}
.foot__labels[hidden]{display:none}
/* Méthode en 4 temps : les quatre numéros identiques (le 4 n'est plus mis en avant seul) */
.xgab .steps.in li:nth-child(4) i{background:var(--dk-ink);border-color:var(--dk-ink)}
.xgab .pl--steps .steps.in li:nth-child(4) i{background:var(--ink);border-color:var(--ink)}

/* ===== Candidature (« Postuler », page cabinet) : fenêtre avec CV en pièce jointe ===== */
.apl{border:0;padding:0;width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden auto;box-sizing:border-box;background:transparent;color:var(--ink)}
.apl::backdrop{background:rgba(16,21,31,.55)}
.apl .pf{box-shadow:none;box-sizing:border-box;width:100%;min-width:0}
.apl .pf__grid>*{min-width:0}
.apl__hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.apl__t{margin:6px 0 0;font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1.2}
.apl__x{background:none;border:0;font-size:28px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.apl__x:hover{color:var(--ink)}
.apl__cv input{padding:10px;border-style:dashed;cursor:pointer}
.apl__ok{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:13px;color:var(--ink-2)}
.apl__ok input{margin-top:3px;accent-color:var(--ink)}
.apl__done{display:grid;gap:12px;justify-items:start}
.apl__done[hidden]{display:none}
.apl__done b{font-size:22px;font-weight:500;letter-spacing:-.02em}
.apl__done p{margin:0;color:var(--ink-2);font-size:15px}
.apl .pf__act button[disabled]{opacity:.6;cursor:progress}
/* Vos enjeux : 6e case de la grille = accès au test en 3 questions */
.ej-card--quiz{text-decoration:none;background:var(--dk);color:var(--dk-text)}
.ej-card--quiz .ej-card__n{color:var(--mark)}
.ej-card--quiz .ej-card__q{color:var(--dk-muted)}
.ej-card--quiz:hover{background:#25292D}
/* Formulaire : « Je ne sais pas encore » en 6e case de la grille des enjeux */
.pf--s .pf__thg .pf__tc--soft>span{height:100%;min-height:0}
/* Ils en parlent : logos clients (gris, passés en blanc sur fond sombre) et nom sans logo */
.lg-chaleurfeu{--lg:url("../img/clients/chaleurfeu.png")}
.lg-securetrust{--lg:url("../img/clients/secure-trust.png")}
.lg-rdfacades{--lg:url("../img/clients/rd-facades.png")}
.lg-ges360{--lg:url("../img/clients/ges-360.png")}
.lg-treekala{--lg:url("../img/clients/treekala.png")}
.lg-florencecholvy{--lg:url("../img/clients/florence-cholvy.png")}
.qcard__name{display:block;height:40px;margin-bottom:22px;font:600 22px/40px var(--f-sans,Manrope),sans-serif;letter-spacing:-.02em;color:var(--dk-text,#fff);opacity:.85}

/* Réalisations : les citations des dirigeants */
.rqs{padding-top:24px}
.rq__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rq{background:#fff;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:18px;scroll-margin-top:110px}
.rq:target{border-color:var(--mark)}
.rq__top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}
.rq__logo{max-width:120px;height:36px;background-position:left center;filter:grayscale(1);opacity:.85}
.rq__name{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.rq__t{flex:none;font-size:12px;font-weight:600;color:var(--accent,#B4581A);border:1px solid currentColor;padding:3px 9px}
.rq blockquote{margin:0;font-size:18px;line-height:1.45;letter-spacing:-.015em;color:var(--ink)}
.rq__d{margin-top:auto;padding-top:16px;border-top:1px dashed var(--line)}
.rq__d small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.rq__d p{margin:6px 0 0;font-size:14px;color:var(--ink-2)}
.rq__m b{color:var(--accent,#B4581A);font-weight:600}
.rq__f{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;font-size:14px;font-weight:600}
.rq__f small{display:block;font-weight:400;font-size:12.5px;color:var(--muted)}
.rq__f .link{font-size:13px;white-space:nowrap}
.rq__cta{margin-top:36px}
@media (max-width:1100px){.rq__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.rq__g{grid-template-columns:1fr}.rq{padding:20px}.rq blockquote{font-size:16.5px}}
/* Menu Expertises : titre de groupe cliquable vers la page de la catégorie */
.mm__headlink{display:inline-flex;align-items:center;gap:inherit;color:inherit;text-decoration:none}
.mm__headlink .mm__headgo{color:var(--mark);font-size:.8em;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.mm__headlink:hover .mm__headgo,.mm__headlink:focus-visible .mm__headgo{opacity:1;transform:none}
/* Case citation client (pages métier et secteur) */
.box--quote{display:flex;flex-direction:column;gap:12px}
.box--quote blockquote{margin:0;font-size:17px;line-height:1.45;letter-spacing:-.01em;color:inherit}
.box--quote .box__who{margin:0;font-size:13px;opacity:.7}
.box--quote .link{margin-top:auto;font-size:13.5px}
/* Secteurs regroupés : une page par groupe, une section par secteur */
.sg__hero{max-width:820px;margin-top:8px}
.sg__jump{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px}
.sg__jump span{color:var(--muted);margin-right:4px}
.sg__jump a{padding:7px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s}
.sg__jump a:hover{border-color:var(--ink)}
.sg{scroll-margin-top:90px}
.sg__g{margin-top:28px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px}
.sg__pains ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:0}
.sg__pains li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.45}
.sg__pains li::before{content:"« ";color:var(--mark)}
.sg__pains li::after{content:" »";color:var(--mark)}
.sg__ideas{display:grid;gap:8px}
.sg__ideas .lab{margin-bottom:4px}
.sg__idea{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s}
.sg__idea:hover{border-color:var(--ink)}
.sg__idea small{font-size:11.5px;font-weight:600;color:var(--accent,#B4581A)}
.sg__idea b{font-size:15px;font-weight:600}
.sg__idea span{font-size:13.5px;color:var(--ink-2)}
.sg__idea em{font-style:normal;font-size:12.5px;color:var(--muted)}
.sg__metiers{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px}
.sg__metiers span{font-weight:600;margin-right:4px}
.sg__metiers a{padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;background:#fff}
.sg__metiers a:hover{border-color:var(--ink)}
.sg__quote{margin:0;font-size:clamp(20px,2.2vw,28px);line-height:1.35;letter-spacing:-.02em;max-width:30ch;font-weight:500}
.sg__who{margin-top:14px;color:var(--dk-muted)}
@media (max-width:900px){.sg__g{grid-template-columns:1fr;gap:24px}}
.sg__hero .actions{display:flex;flex-wrap:wrap;gap:10px}
/* « Pour vous » : petite pastille à côté du nom de l'expertise (les listes de l'accueil sont en grille) */
#xp-exp .xp__l a.is-for:has(b)::after{content:none}
#xp-exp .xp__l a.is-for b::after{content:"Pour vous";margin-left:8px;font-family:var(--f-sans);font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.5;color:#fff;background:var(--accent);padding:2px 7px;border-radius:999px;vertical-align:2px;white-space:nowrap;display:inline-block}
#xp-exp .xp__l a.is-for::after{justify-self:start;width:auto;margin-left:0;margin-top:4px}
/* Recherche IA : barre d'avancement estimé */
.mtc__pg{display:flex;align-items:center;gap:10px;margin-top:10px;max-width:420px}
.mtc__bar{flex:1;height:4px;background:rgba(0,0,0,.08);overflow:hidden;border-radius:2px}
.mtc__bar i{display:block;height:100%;width:0;background:var(--mark);transition:width .25s linear}
.mtc__pg b{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
