/* ==========================================================================
   Zenith — feuille de style principale
   Système V2 « version nette » : coins droits, lignes de structure,
   tuiles par endroits, boutons en pilule.
   ========================================================================== */

/* ---------- Police (auto-hébergée, Loi 25 : aucun appel à Google Fonts) ---------- */
@font-face{font-family:"Sora";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/sora-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Sora";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/sora-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Sora";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/sora-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Sora";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/sora-latin-700-normal.woff2") format("woff2")}

/* ---------- Jetons ---------- */
:root{
	--ink:#14121A; --ink-2:#3E3A48; --muted:#4E4A59; --muted-2:#5E5967; --muted-3:#6E6A78; --muted-4:#8B8794;
	--violet:#7B4FE0; --violet-logo:#9769D2; --link:#5B32B8; --link-hover:#3F1F8A;
	--lav:#D9CCFA; --blue:#BFDDF2; --peach:#F6C6AE; --mint:#BDE6D2; --hl:#DCCDFB; --lav-ink:#C9B2FA;
	--soft:#F5F1FC; --night:#07060C; --white:#FFFFFF;
	--line:#E6DEF3; --line-2:#DAD6E2; --line-3:#EEEBF3; --line-soft:#DDD3EF;
	--frame:rgba(130,110,170,.22);
	--frame-x:max(10px, calc(50% - 684px));
	--font:"Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ease:cubic-bezier(.2,.7,.2,1);
	--header-h:70px;
	--admin:0px;
}
body.admin-bar{--admin:32px}
@media (max-width:782px){body.admin-bar{--admin:46px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--admin) + 16px)}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--white);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
svg{display:block}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--link-hover)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}
ul,ol{padding:0}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.z-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.z-skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--ink);color:#fff;padding:12px 18px;text-decoration:none;font-weight:600}
.z-skip:focus{top:calc(var(--admin) + 12px);color:#fff}
#top{position:absolute;top:0;left:0;width:1px;height:1px}

/* ---------- Mise en page ---------- */
.z-wrap{width:100%;max-width:1328px;margin:0 auto;padding:0 24px}
.z-wrap--narrow{max-width:1288px}
.z-wrap--prix{max-width:1228px}
.z-sec{position:relative;padding:112px 0}
.z-sec--soft{background:var(--soft)}
.z-main--inner{padding-top:calc(var(--header-h))}

/* Lignes de structure (V2) */
.z-framed{position:relative}
.z-framed::before,.z-framed::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--frame);z-index:5;pointer-events:none}
.z-framed::before{left:var(--frame-x)}
.z-framed::after{right:var(--frame-x)}
.z-sep{position:relative;height:0;z-index:6}
.z-sep::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(130,110,170,.26)}
.z-sep--dots::before{display:none}
.z-sep::after,.z-sep__r{content:"";position:absolute;top:-4px;width:9px;height:9px;background:#fff;border:1px solid var(--violet-logo);display:block}
.z-sep::after{left:var(--frame-x);margin-left:-4px}
.z-sep__r{right:var(--frame-x);margin-right:-4px}

/* Tuiles décoratives */
.z-tiles{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:repeat(16,96px);grid-auto-rows:96px;justify-content:center;pointer-events:none;overflow:hidden}
.z-tiles span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:block}
.z-tiles--top{height:480px;-webkit-mask-image:linear-gradient(#000 15%,transparent 95%);mask-image:linear-gradient(#000 15%,transparent 95%)}
.z-tiles--cta{inset:0;height:auto;align-content:center}
.z-tiles--cta span{border-color:rgba(255,255,255,.06)}

/* ---------- Typo de section ---------- */
.z-eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line-2);background:transparent;padding:10px 14px;font-size:12px;line-height:1.2;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.z-sec--soft .z-eyebrow,.z-pagehead .z-eyebrow{background:#fff;border-color:#DCD3EE}
.z-eyebrow--dark{border-color:rgba(255,255,255,.2);color:#C9C3D4;background:transparent!important}
.z-eyebrow__dot{width:9px;height:9px;flex:none;display:inline-block}
.z-h2{margin:22px 0 0;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.05em;font-weight:600;color:var(--ink)}
.z-h2--xl{font-size:clamp(34px,4.4vw,58px)}
.z-h2--sm{font-size:clamp(28px,3vw,40px);margin:0}
.z-dot{color:var(--violet)}
.z-hl{background:linear-gradient(transparent 58%,var(--hl) 58%,var(--hl) 92%,transparent 92%);padding:0 4px}
.z-hl-lav{color:var(--lav-ink)}
.z-head{position:relative}
.z-head--split{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px}
.z-head__main{flex:1 1 520px;max-width:700px}
.z-head__aside{flex:1 1 380px;max-width:460px;margin:0;font-size:16px;line-height:1.75;color:var(--muted)}
.z-head__aside--sm{max-width:380px;line-height:1.7}
.z-head__aside p{margin:0}
.z-head--center{max-width:780px;margin:0 auto;text-align:center}
.z-head__intro{margin:16px 0 0;font-size:17px;line-height:1.7;color:var(--muted)}

/* ---------- Boutons ---------- */
.z-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:999px;border:0;font-size:15px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,transform .25s var(--ease),box-shadow .25s}
.z-btn:hover{transform:translateY(-1px)}
.z-btn--violet{background:var(--violet);color:#fff}
.z-btn--violet:hover{background:#6A3ED3;color:#fff}
.z-btn--dark{background:var(--ink);color:#fff}
.z-btn--dark:hover{background:#2A2633;color:#fff}
.z-btn--white{background:#fff;color:var(--ink)}
.z-btn--white:hover{background:#F1ECFB;color:var(--ink)}
.z-btn--outline{background:#fff;color:var(--ink);border:1px solid var(--line-2);height:46px;padding:0 20px;font-size:14px}
.z-btn--outline:hover{border-color:var(--ink);color:var(--ink)}
.z-btn--sm{height:44px;padding:0 20px;font-size:14px}
.z-btn--header{height:46px;padding:0 22px;font-size:14px}

/* ---------- Accordéon « En savoir plus » ---------- */
.z-more summary{list-style:none;cursor:pointer}
.z-more summary::-webkit-details-marker{display:none}
.z-more__sum{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--link)}
.z-more__sum svg{transition:transform .2s}
.z-more[open] .z-more__open,.z-more:not([open]) .z-more__close{display:none}
.z-more[open] .z-more__sum svg{transform:rotate(180deg)}
.z-head .z-more__sum,.z-regions .z-more__sum,.z-secteurs .z-more__sum,.z-prix .z-more__sum{color:var(--muted-2)}
.z-more__text{margin:4px 0 0;font-size:15px;line-height:1.7;color:var(--muted)}
.z-more--center{text-align:center}
.z-more__box{margin:10px auto 0;max-width:720px;text-align:left;font-size:16px;line-height:1.75;color:var(--muted);background:#fff;border:1px solid #E7DFF6;padding:22px 26px}
.z-more--dark .z-more__sum{color:#B9B3C6}

/* ---------- Pastille d'icône ---------- */
.z-ico{width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center}
.z-ico--lg{width:44px;height:44px}

/* ---------- Champ URL (bouton intégré) ---------- */
.z-url{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:7px 7px 7px 22px;max-width:580px}
.z-url__ico{flex:none;color:var(--muted-4)}
.z-url input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:16px;color:var(--ink);height:46px}
.z-url input::placeholder{color:var(--muted-4)}
.z-url .z-btn{flex:none}
.z-url:focus-within{box-shadow:0 0 0 3px var(--violet)}
.z-url--glow{box-shadow:0 0 0 6px rgba(151,105,210,.18)}
.z-url--glow:focus-within{box-shadow:0 0 0 3px #fff,0 0 0 7px var(--violet)}
.z-url--light{border:1px solid var(--line-2);box-shadow:0 18px 40px -22px rgba(43,20,99,.4)}
.z-url--stack{flex-direction:column;align-items:stretch;border-radius:0;padding:0;background:transparent;gap:10px}
.z-url--stack input{background:#fff;border:1px solid var(--line-2);padding:0 18px;height:50px;border-radius:999px}
.z-url--stack:focus-within{box-shadow:none}
.z-url--stack input:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(123,79,224,.25)}
.z-dot-green{width:7px;height:7px;border-radius:50%;background:#5FD39A;display:inline-block;flex:none}

/* ==========================================================================
   Header
   ========================================================================== */
.z-header{position:fixed;left:0;right:0;top:var(--admin);z-index:100}
.z-header__bar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 10px 30px -24px rgba(43,20,99,.35);transition:background .3s,border-color .3s,box-shadow .3s}
.z-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px;transition:padding .3s}
.z-header__logo{position:relative;display:block;flex:none;width:134px;transition:width .3s}
.z-header__logo img{display:block;width:100%;height:auto;transition:opacity .3s}
.z-header__logo-white{opacity:0}
.z-header__logo-dark{position:absolute;left:0;top:0}
.z-nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:500}
.z-nav__link{color:var(--muted);text-decoration:none;background:none;border:0;padding:8px 0;min-height:44px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;font-weight:500;transition:color .2s,box-shadow .2s}
.z-nav__link:hover{color:var(--link)}
.z-nav__chev{transition:transform .2s}
.z-nav__svc[aria-expanded="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--violet)}
.z-nav__svc[aria-expanded="true"] .z-nav__chev{transform:rotate(180deg)}
.z-header__actions{display:flex;align-items:center;gap:20px}
.z-header__lang{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--muted-3);text-decoration:none}
.z-header__lang:hover{color:var(--link)}
.z-header .z-btn--header{background:var(--violet);color:#fff}
.z-burger{display:none;width:46px;height:46px;border:1px solid var(--line-2);background:transparent;color:var(--ink);align-items:center;justify-content:center;cursor:pointer;padding:0}
.z-burger__close{display:none}
.z-burger[aria-expanded="true"] .z-burger__open{display:none}
.z-burger[aria-expanded="true"] .z-burger__close{display:block}

/* État sur le hero sombre (accueil, avant défilement) */
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__bar{background:rgba(7,6,12,0);border-color:transparent;box-shadow:none}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__inner{padding-top:18px;padding-bottom:18px}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__logo{width:158px}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__logo-white{opacity:1}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__logo-dark{opacity:0}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-nav__link{color:#D6D1DF}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-nav__link:hover{color:#fff}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-nav__svc[aria-expanded="true"]{color:#fff;box-shadow:inset 0 -2px 0 var(--lav-ink)}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__lang{color:#A9A3B5}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-header__lang:hover{color:#fff}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-btn--header{background:#fff;color:var(--ink)}
.z-top-dark .z-header:not(.is-scrolled):not(.is-open) .z-burger{border-color:rgba(255,255,255,.24);color:#fff}

/* Méga-menu */
.z-mega{position:absolute;left:0;right:0;top:100%;padding:0 24px}
.z-mega[hidden]{display:none}
.z-mega__panel{max-width:1280px;margin:-1px auto 0;background:#fff;border:1px solid var(--line);border-top:0;box-shadow:0 40px 80px -40px rgba(20,10,50,.55);display:flex;flex-wrap:wrap;color:var(--ink);animation:zdrop .22s var(--ease)}
.z-top-dark .z-header:not(.is-scrolled) .z-mega__panel{margin-top:4px;border-top:1px solid var(--line)}
@keyframes zdrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.z-mega__main{flex:999 1 640px;min-width:0;padding:28px 28px 22px}
.z-mega__label{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-3)}
.z-mega__grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #EEE9F6;border-left:1px solid #EEE9F6}
.z-mega__grid li{border-right:1px solid #EEE9F6;border-bottom:1px solid #EEE9F6}
.z-mega__item{display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:44px;text-decoration:none;color:var(--ink);transition:background .2s}
.z-mega__item:hover{background:#F7F4FD;color:var(--link)}
.z-mega__t{font-size:15px;font-weight:600;letter-spacing:-.02em}
.z-mega__all{margin-top:16px;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;text-decoration:none}
.z-mega__side{flex:1 1 320px;min-width:0;position:relative;overflow:hidden;background:var(--night);color:#fff;padding:30px 28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:300px}
.z-tiles--mega{inset:0;height:auto;grid-template-columns:repeat(6,64px);grid-auto-rows:64px;justify-content:end}
.z-tiles--mega span{border:0;border-left:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.z-mega__fade{position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 30%,rgba(7,6,12,.2) 100%)}
.z-mega__symbol{position:absolute;top:28px;left:28px;width:58px;height:auto}
.z-mega__q{position:relative;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.04em}
.z-mega__p{position:relative;margin-top:10px;font-size:15px;line-height:1.6;color:#D6D1DF}
.z-mega__side .z-btn{position:relative;margin-top:20px}

/* Menu mobile */
.z-mobile{position:fixed;left:0;right:0;bottom:0;top:calc(var(--admin) + var(--header-h));z-index:99;background:#fff;overflow-y:auto;border-top:1px solid var(--line)}
.z-mobile[hidden]{display:none}
.z-mobile__nav{padding:24px 24px 40px;display:flex;flex-direction:column;gap:24px}
.z-mobile__label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-3)}
.z-mobile ul{list-style:none;border-top:1px solid var(--line)}
.z-mobile li{border-bottom:1px solid var(--line)}
.z-mobile li a{display:flex;align-items:center;min-height:52px;font-size:17px;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.z-mobile__svc li a{font-size:15px;font-weight:500;min-height:46px}
.z-mobile .z-btn{width:100%}
body.z-lock{overflow:hidden}

@media (max-width:1100px){
	.z-nav{gap:22px}
}
@media (max-width:980px){
	.z-nav,.z-header__lang{display:none}
	.z-burger{display:inline-flex}
	.z-mega{display:none!important}
}
@media (max-width:560px){
	.z-header .z-btn--header{display:none}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.z-hero{position:relative;overflow:hidden;background:var(--night);color:#fff}
.z-hero__sky{position:absolute;inset:0;pointer-events:none}
.z-stars{position:absolute;inset:0}
.z-stars__layer{position:absolute;inset:-60px;transition:transform 1.2s cubic-bezier(.16,1,.3,1);will-change:transform}
.z-stars__drift{position:absolute;inset:0;animation-name:zdrift;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate}
.z-stars__drift i{position:absolute;display:block;border-radius:50%;background:#fff}
.z-stars__drift i.tw{animation-name:ztw;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes zdrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-48px,-18px,0)}}
@keyframes ztw{0%,100%{opacity:1}50%{opacity:.18}}
.z-shoot{position:absolute;width:170px;height:2px;border-radius:999px;background:linear-gradient(90deg,#fff 0%,rgba(233,220,255,.75) 16%,rgba(255,255,255,0) 100%);opacity:0;transform-origin:0 50%;animation-name:zshoot;animation-timing-function:cubic-bezier(.3,.1,.6,1);animation-iteration-count:infinite;filter:drop-shadow(0 0 6px rgba(201,178,250,.95))}
@keyframes zshoot{0%{opacity:0;transform:rotate(-28deg) translateX(0)}1.5%{opacity:1}8%{opacity:0;transform:rotate(-28deg) translateX(-580px)}100%{opacity:0;transform:rotate(-28deg) translateX(-580px)}}
.z-hero__planet{position:absolute;left:0;right:0;bottom:0;height:600px;pointer-events:none;transition:transform 1.4s cubic-bezier(.16,1,.3,1);will-change:transform}
.z-hero__planet svg{position:absolute;left:0;top:0;width:100%;height:640px}
.z-pulse{animation:zpulse 7s ease-in-out infinite}
@keyframes zpulse{0%,100%{opacity:.42}50%{opacity:.7}}
.z-hero__mars,.z-hero__saturn{position:absolute;pointer-events:none;transition:transform 1.3s cubic-bezier(.16,1,.3,1);will-change:transform}
.z-hero__mars{left:6.5%;top:25%;width:66px}
.z-hero__saturn{right:3%;top:50%;width:230px}
.z-hero__mars svg,.z-hero__saturn svg{width:100%;height:auto;overflow:visible}
.z-float{animation-name:zfloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes zfloat{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(0,-10px,0) rotate(-2deg)}}
.z-hero__content{position:relative;max-width:1000px;margin:0 auto;padding:166px 24px 330px;text-align:center}
.z-hero__h1{font-weight:600;color:#fff;margin:0}
.z-hero__pill{display:inline-flex;align-items:center;gap:10px;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#D6CFE2;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);padding:9px 16px}
.z-hero__pill-dot{width:9px;height:9px;background:var(--lav-ink);display:block}
.z-hero__big{display:block;margin-top:26px;font-size:clamp(44px,6vw,84px);line-height:1.02;letter-spacing:-.05em}
.z-hero__big::first-letter{text-transform:uppercase}
.z-hero__sub{margin:24px auto 0;max-width:640px;font-size:20px;line-height:1.55;color:#D6D1DF;font-weight:500}
.z-hero__more{margin:20px auto 0;max-width:720px}
.z-hero__more-box{margin-top:10px;text-align:left;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:24px 28px}
.z-hero__more-box p{font-size:16px;line-height:1.75;color:#D6D1DF}
.z-hero__more-box strong{color:#fff}
.z-hero__form{margin:26px auto 0}
.z-hero__note{margin:16px 0 0;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#B9B3C6}
.z-hero__visible{margin:48px 0 0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#A9A3B5}
.z-hero__brands{list-style:none;margin:14px 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.z-hero__brands li{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:9px 16px 9px 12px}
.z-hero__brands img{width:18px;height:18px;display:block}
@media (max-width:900px){.z-hero__mars,.z-hero__saturn{display:none}}
@media (max-width:640px){
	.z-hero__content{padding:130px 16px 260px}
	.z-hero__sub{font-size:17px}
	.z-hero__form{flex-direction:column;border-radius:28px;padding:8px;align-items:stretch}
	.z-hero__form .z-url__ico{display:none}
	.z-hero__form input{text-align:center}
	.z-hero__form .z-btn{width:100%}
}

/* ==========================================================================
   Services (bento)
   ========================================================================== */
.z-services{padding-bottom:120px}
.z-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:56px}
.z-card{background:#fff;border:1px solid var(--line-3);padding:26px;display:flex;flex-direction:column;gap:14px}
.z-card__t{margin-top:4px;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.03em}
.z-card__t--lg{font-size:22px;line-height:1.25;letter-spacing:-.035em}
.z-card__lead{font-size:15px;line-height:1.7;color:var(--muted)}
.z-card .z-more__text{margin-top:4px}
.z-card--feature{grid-column:span 2;background:#FBFAFE;padding:28px;flex-direction:row;flex-wrap:wrap;gap:28px}
.z-card__body{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:14px}
.z-card__logos{display:flex;align-items:center;gap:14px}
.z-card__logos img{width:18px;height:18px;filter:brightness(0) opacity(.6)}
.z-map{flex:1 1 260px;min-width:0;position:relative;min-height:240px;background:#F1F6FB;border:1px solid #E4EDF5;overflow:hidden}
.z-map__road{position:absolute;background:#fff;display:block}
.z-map__road--h{left:-10%;top:36%;width:120%;height:10px;transform:rotate(-9deg)}
.z-map__road--v1{left:30%;top:-10%;width:8px;height:120%;transform:rotate(14deg)}
.z-map__road--v2{left:70%;top:-10%;width:7px;height:120%;transform:rotate(-6deg)}
.z-map__pin{position:absolute;left:45%;top:13%;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--violet);display:block}
.z-map__pack{position:absolute;left:14px;right:14px;bottom:14px;background:#fff;border:1px solid #E4EDF5;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.z-map__row{display:flex;align-items:center;gap:10px}
.z-map__n{width:22px;height:22px;flex:none;border-radius:50%;background:#EDF2F7;color:#5A6B78;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.z-map__n--on{background:var(--violet);color:#fff}
.z-map__name{font-size:14px;font-weight:600}
.z-map__bar{height:7px;background:#EEF1F4;display:block}
@media (max-width:900px){.z-bento{grid-template-columns:minmax(0,1fr)}.z-card--feature{grid-column:auto}}

/* ==========================================================================
   Méthode (onglets)
   ========================================================================== */
.z-methode{overflow:hidden}
.z-methode .z-wrap{position:relative}
.z-tabs{margin:48px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.z-tab{position:relative;overflow:hidden;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:0 20px;height:44px;border-radius:999px;border:1px solid #DCD3EE;background:#fff;color:var(--muted);transition:background .3s,color .3s,border-color .3s}
.z-tab:hover{border-color:var(--ink)}
.z-tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.z-tab__bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:#B996F7;display:block}
.z-tab.is-filling .z-tab__bar{width:100%;transition:width 6.5s linear}
.z-steps{margin-top:22px;background:#fff;border:1px solid #E7DFF6;box-shadow:0 40px 80px -60px rgba(63,31,138,.45);overflow:hidden}
.z-step{padding:44px;display:flex;flex-wrap:wrap;gap:44px;align-items:center;animation:zin .5s var(--ease)}
.z-step[hidden]{display:none}
@keyframes zin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.z-step__text{flex:1 1 420px;min-width:0}
.z-step__k{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-3)}
.z-step__t{margin-top:18px;font-size:clamp(30px,3.2vw,44px);line-height:1.08;font-weight:600;letter-spacing:-.05em}
.z-step__d{margin-top:20px;font-size:17px;line-height:1.75;color:var(--muted)}
.z-step__text .z-btn{margin-top:30px}
.z-step__ill{flex:1 1 380px;min-width:0;position:relative;min-height:340px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:28px}
.z-ill{width:100%;max-width:360px;background:#fff;padding:18px;box-shadow:0 20px 40px -28px rgba(63,31,138,.5)}
.z-ill__search{display:flex;align-items:center;gap:8px;border:1px solid #ECE7F5;padding:8px 14px;font-size:13px;color:var(--muted-3)}
.z-ill__search svg{color:var(--muted-4)}
.z-ill__rows{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.z-ill__row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#FAF9FC}
.z-ill__n{font-size:12px;font-weight:600;color:var(--muted-4);width:22px}
.z-ill__name{flex:1;font-size:13px;font-weight:600}
.z-ill__bar{height:6px;background:#E7E2EF;display:block}
.z-ill__row--you{background:#F3EEFC;border:1.5px dashed #B9A2F2}
.z-ill__row--you .z-ill__n{color:var(--link)}
.z-ill__row--you .z-ill__name{color:var(--link-hover)}
.z-ill__tag{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.z-ill--plan{padding:18px 18px 8px;box-shadow:0 20px 40px -28px rgba(19,71,102,.5)}
.z-ill__label{margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#134766}
.z-ill__plan{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #EEF2F6}
.z-ill__box{width:18px;height:18px;flex:none;border:1.5px solid #9CC3E0;display:block}
.z-ill__pt{flex:1;font-size:14px;font-weight:500}
.z-ill__prio{font-size:11px;font-weight:600;padding:4px 9px}
.z-ill__prio--1{background:var(--lav);color:var(--link-hover)}
.z-ill__prio--2{background:var(--blue);color:#134766}
.z-ill--exec{max-width:380px;background:transparent;padding:0;box-shadow:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.z-ill__tile{background:#fff;padding:16px;box-shadow:0 16px 30px -24px rgba(122,53,23,.5)}
.z-ill__check{width:26px;height:26px;border-radius:50%;background:var(--peach);color:#7A3517;display:inline-flex;align-items:center;justify-content:center}
.z-ill__check svg{stroke-width:2.6}
.z-ill__tile p{margin-top:12px;font-size:14px;font-weight:600;line-height:1.35}
.z-ill__mgr{grid-column:1/3;display:flex;align-items:center;gap:12px;background:#fff;padding:14px 16px}
.z-ill__mgr img{width:42px;height:auto}
.z-ill__mgr span{font-size:13px;line-height:1.4;font-weight:500;color:var(--muted)}
.z-ill__stars{position:absolute;inset:0}
.z-ill__stars span{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.6}
.z-ill__chart{position:relative;width:100%;max-width:420px}
@media (max-width:640px){.z-step{padding:28px 22px}.z-step__ill{min-height:280px;padding:18px}}

/* ==========================================================================
   Bloc soumission sombre (test A)
   ========================================================================== */
.z-cta{position:relative;overflow:hidden;background:var(--night);color:#fff}
.z-cta__fade{position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 0%,rgba(7,6,12,.92) 38%,rgba(7,6,12,0) 75%)}
.z-cta__inner{position:relative;padding-top:112px;padding-bottom:112px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:40px}
.z-cta__text{flex:1 1 520px;min-width:0;max-width:620px}
.z-cta__h{margin-top:22px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:600;letter-spacing:-.05em;color:#fff}
.z-cta__p{margin-top:18px;max-width:520px;font-size:17px;line-height:1.6;font-weight:600;color:#D6D1DF}
.z-cta__action{flex:1 1 440px;min-width:0;max-width:520px}
.z-cta__action .z-url{max-width:none;box-shadow:0 0 0 6px rgba(151,105,210,.22)}
.z-cta__note{margin:16px 0 0 4px;display:flex;align-items:center;gap:8px;font-size:14px;color:#B9B3C6}
@media (max-width:640px){
	.z-cta__action .z-url{flex-direction:column;border-radius:28px;padding:8px;align-items:stretch}
	.z-cta__action .z-url__ico{display:none}
	.z-cta__action .z-url input{text-align:center}
}

/* ==========================================================================
   Résultats
   ========================================================================== */
.z-stats{list-style:none;margin-top:56px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.z-stat{background:#fff;color:var(--ink);border:1px solid var(--line-3);padding:28px;display:flex;flex-direction:column;gap:22px;min-height:260px;position:relative}
.z-stat--violet{background:var(--violet);border-color:var(--violet);color:#fff}
.z-stat__sector{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:-.01em}
.z-stat__fig{margin-top:auto}
.z-stat__big{font-size:64px;line-height:1;font-weight:600;letter-spacing:-.06em}
.z-stat__label{margin-top:8px;font-size:15px;opacity:.85}
.z-stat__sub{padding-top:16px;border-top:1px solid var(--line-3);font-size:14px;font-weight:500;opacity:.9}
.z-stat--violet .z-stat__sub{border-color:rgba(255,255,255,.28)}
.z-resultats__outro{margin-top:36px;font-size:16px;line-height:1.7;color:var(--muted)}
@media (max-width:400px){.z-stats{grid-template-columns:minmax(0,1fr)}.z-stat__big{font-size:52px}}

/* ==========================================================================
   Prix
   ========================================================================== */
.z-prix{overflow:hidden}
.z-prix .z-wrap{position:relative}
.z-prix__lead{margin-top:18px;font-size:18px;line-height:1.6;color:var(--ink-2)}
.z-prix__lead strong{color:var(--ink)}
.z-prix .z-more{margin-top:10px}
.z-scale{margin-top:52px;background:#fff;border:1px solid #E7DFF6;padding:40px 36px 32px}
.z-scale__axis{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-4)}
.z-scale__axis svg{flex:1;margin:0 16px;max-width:520px;height:10px}
.z-scale__tiers{list-style:none;margin-top:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;align-items:end}
.z-scale__tier{display:flex;flex-direction:column;gap:14px;transition:transform .25s var(--ease)}
.z-scale__tier:hover{transform:translateY(-6px)}
.z-scale__price{font-size:34px;line-height:1;font-weight:600;letter-spacing:-.05em}
.z-scale__per{margin-top:6px;font-size:13px;color:var(--muted-2)}
.z-scale__bar{display:block}
.z-scale__who{display:inline-flex;align-items:center;gap:10px;font-size:15px;line-height:1.4;font-weight:600}
.z-scale__foot{margin-top:30px;padding-top:24px;border-top:1px solid var(--line-3);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.z-scale__chips{display:flex;flex-wrap:wrap;gap:8px}
.z-chip{font-size:13px;font-weight:500;padding:8px 14px}
.z-chip--blue{color:#134766;background:#EEF5FB}
.z-chip--mint{color:#14553A;background:#EDF7F1}
@media (max-width:640px){.z-scale{padding:28px 20px 24px}.z-scale__axis{font-size:10px}.z-scale__axis svg{margin:0 8px}}

/* ==========================================================================
   Régions (villes en très gros)
   ========================================================================== */
.z-regions{overflow:hidden}
.z-cities{list-style:none;margin-top:64px;padding-top:40px;border-top:1px solid #ECE7F5;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;font-size:clamp(42px,6.2vw,92px)}
.z-cities__item{display:inline-flex;align-items:baseline}
.z-cities__dot{width:.22em;height:.22em;margin-right:.18em;align-self:center;border-radius:50%;background:radial-gradient(circle at 35% 32%,#EFE4FF,#9769D2 55%,#4A22A8);transform:scale(0);opacity:0;display:block;transition:transform .45s var(--ease),opacity .45s}
.z-cities__name{line-height:1.08;font-weight:600;letter-spacing:-.055em;color:#DCD6E8;transition:color .45s var(--ease)}
.z-cities__sep{line-height:1.08;font-weight:300;color:#E4DEEF;margin:0 .22em 0 .12em}
.z-cities__item.is-on .z-cities__name{color:var(--ink)}
.z-cities__item.is-on .z-cities__dot{transform:scale(1);opacity:1}
.z-regions__outro{margin-top:36px;font-size:15px;color:var(--muted-3)}

/* ==========================================================================
   Secteurs (panneaux)
   ========================================================================== */
.z-panels{margin-top:52px;display:flex;gap:12px;height:560px}
.z-panel{position:relative;overflow:hidden;flex:1 1 0;min-width:0;padding:30px;display:flex;flex-direction:column;cursor:pointer;border:1px solid;transition:flex-grow .7s var(--ease)}
.z-panel.is-on{flex-grow:2.6}
.z-panel--1{background:var(--soft);border-color:#ECE4FA;color:var(--ink)}
.z-panel--2{background:#EEF5FB;border-color:#DFEBF5;color:var(--ink)}
.z-panel--3{background:var(--night);border-color:var(--night);color:#fff}
.z-panel__stars span{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.6}
.z-panel__top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px}
.z-panel__n{font-size:13px;font-weight:600;opacity:.6}
.z-panel__plus{width:34px;height:34px;border-radius:50%;border:1px solid #C9B8F2;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:transform .5s}
.z-panel--2 .z-panel__plus{border-color:#A9CBE5}
.z-panel--3 .z-panel__plus{border-color:rgba(255,255,255,.3)}
.z-panel.is-on .z-panel__plus{transform:rotate(45deg)}
.z-panel__art{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:.18;transition:opacity .5s .15s}
.z-panel.is-on .z-panel__art{opacity:1}
.z-panel__phone{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}
.z-panel__ring{position:absolute;border-radius:50%;display:block}
.z-panel__ring--1{inset:0;border:1.5px solid var(--lav)}
.z-panel__ring--2{inset:18px;border:1.5px solid #C9B8F2}
.z-panel__core{width:64px;height:64px;border-radius:50%;background:var(--violet);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.z-panel__shop{width:100%;max-width:360px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.z-panel__prod{background:#fff;padding:10px}
.z-panel__img{height:70px;background:#E6EEF5;display:block}
.z-panel__img--b{background:#DCEBF6}
.z-panel__l1,.z-panel__l2{display:block;height:7px;margin-top:10px;background:#E6EEF5}
.z-panel__l2{margin-top:6px;background:var(--blue)}
.z-panel__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.z-panel__chip{font-size:13px;font-weight:600;background:#fff;border:1px solid #E3D8FA;color:var(--link-hover);padding:7px 13px}
.z-panel--2 .z-panel__chip{color:#134766;border-color:#CFE2F0}
.z-panel--3 .z-panel__chip{color:#E9E4F2;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.z-panel__text{position:relative}
.z-panel__t{font-size:20px;line-height:1.2;font-weight:600;letter-spacing:-.035em;transition:font-size .5s}
.z-panel.is-on .z-panel__t{font-size:clamp(24px,2.4vw,32px)}
.z-panel__body{display:none}
.z-panel.is-on .z-panel__body{display:block}
.z-panel__lead{margin-top:12px;font-size:15px;line-height:1.7;opacity:.9}
.z-panel__rest{margin-top:8px;font-size:14px;line-height:1.7;opacity:.72}
@media (max-width:900px){
	.z-panels{flex-direction:column;height:auto}
	.z-panel,.z-panel.is-on{flex:none}
	.z-panel__art{opacity:1;min-height:200px;margin:20px 0}
	.z-panel__body{display:block}
	.z-panel__t,.z-panel.is-on .z-panel__t{font-size:24px}
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.z-faq__inner{display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start}
.z-faq__head{flex:1 1 420px;min-width:0;max-width:500px}
.z-faq__head .z-h2{margin-top:18px;font-size:clamp(34px,4vw,52px);line-height:1.04}
.z-faq__head .z-btn{margin-top:44px}
.z-faq__list{flex:999 1 620px;min-width:0;border-top:1px solid var(--line-soft)}
.z-q{border-bottom:1px solid var(--line-soft)}
.z-q summary{list-style:none;cursor:pointer}
.z-q summary::-webkit-details-marker{display:none}
.z-q__sum{display:flex;align-items:center;gap:20px;padding:24px 0;min-height:44px}
.z-q__t{flex:1;font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.025em;transition:color .2s}
.z-q__sum:hover .z-q__t{color:var(--link)}
.z-q__plus{width:38px;height:38px;flex:none;border-radius:50%;border:1px solid #CFC5E4;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s}
.z-q[open] .z-q__plus{transform:rotate(45deg);background:var(--violet);border-color:var(--violet);color:#fff}
.z-q__a{padding:0 58px 26px 0;font-size:16px;line-height:1.75;color:var(--muted)}
@media (max-width:640px){.z-q__a{padding-right:0}.z-q__t{font-size:17px}}

/* ==========================================================================
   Bloc final « au zénith »
   ========================================================================== */
.z-final{position:relative;overflow:hidden;background:#fff}
.z-final__arc{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(1280px,100%);height:auto}
.z-glow{animation:zglow 5s ease-in-out infinite}
@keyframes zglow{0%,100%{opacity:.35}50%{opacity:.7}}
.z-final__content{position:relative;max-width:828px;margin:0 auto;padding:200px 24px 170px;text-align:center}
.z-final__h{font-size:clamp(38px,5vw,66px);line-height:1.03;font-weight:600;letter-spacing:-.05em}
.z-final__p{margin:20px auto 0;max-width:560px;font-size:17px;line-height:1.6;font-weight:600;color:var(--ink-2)}
.z-final .z-url{margin:34px auto 0}
@media (max-width:640px){
	.z-final__content{padding:120px 16px 100px}
	.z-final .z-url{flex-direction:column;border-radius:28px;padding:8px;align-items:stretch}
	.z-final .z-url__ico{display:none}
	.z-final .z-url input{text-align:center}
}

/* ==========================================================================
   Pied de page (grille claire)
   ========================================================================== */
.z-footer{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.z-footer__frame{width:calc(100% - 20px);max-width:1368px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.z-footer__row{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.z-footer__cell{flex:1 1 210px;min-width:0;padding:52px 28px 44px;border-right:1px solid var(--line)}
.z-footer__brand{flex:1.3 1 300px;padding-left:44px;padding-right:44px;display:flex;flex-direction:column;gap:18px}
.z-footer__logo{display:block;width:150px}
.z-footer__logo img{display:block;width:150px;height:auto}
.z-footer__tag{max-width:290px;font-size:15px;line-height:1.65;color:var(--muted)}
.z-footer__contact{margin-top:auto;display:flex;flex-direction:column;gap:6px;font-size:14px}
.z-footer a{color:var(--muted);text-decoration:none;transition:color .2s}
.z-footer a:hover{color:var(--link)}
.z-footer__phone{font-weight:600;color:var(--ink)!important}
.z-footer__label{margin:0 0 18px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-3)}
.z-footer__dot{width:8px;height:8px;display:block}
.z-footer__list{list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14px}
.z-footer__cta{flex:1.3 1 300px;min-width:0;position:relative;overflow:hidden;background:var(--soft);padding:52px 30px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.z-tiles--footer{inset:0;height:auto;grid-template-columns:repeat(5,64px);grid-auto-rows:64px;justify-content:end;-webkit-mask-image:linear-gradient(#000,transparent 80%);mask-image:linear-gradient(#000,transparent 80%)}
.z-tiles--footer span{border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.z-footer__q{position:relative;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.04em}
.z-footer__p{position:relative;margin-top:10px;font-size:14px;line-height:1.6;color:var(--muted-2)}
.z-footer__cta .z-btn{position:relative;margin-top:18px;color:#fff!important}
.z-footer__bottom{display:flex;flex-wrap:wrap;align-items:stretch;font-size:13px;color:var(--muted-3)}
.z-footer__bottom>*{padding:20px 28px;border-right:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.z-footer__copy{flex:1 1 auto;padding-left:44px!important}
.z-footer__links{flex:2 1 auto}
.z-footer__lang{font-weight:600;letter-spacing:.08em}
.z-footer__top{flex:none;border-right:0!important;font-weight:600;gap:8px!important;min-height:44px}
@media (max-width:900px){
	.z-footer__cell,.z-footer__brand{border-right:0;border-bottom:1px solid var(--line);flex-basis:100%;padding:36px 24px}
	.z-footer__cta{flex-basis:100%;padding:36px 24px}
	.z-footer__bottom>*{border-right:0;border-bottom:1px solid var(--line);flex-basis:100%;padding:16px 24px!important}
}

/* ==========================================================================
   Pages intérieures
   ========================================================================== */
.z-pagehead{position:relative;overflow:hidden;background:var(--soft);padding:72px 0 64px}
.z-pagehead__inner{position:relative}
.z-pagehead--center{text-align:center}
.z-pagehead--center .z-pagehead__intro{margin-left:auto;margin-right:auto}
.z-pagehead__h1{margin-top:20px;max-width:980px;font-size:clamp(36px,5vw,64px);line-height:1.04;letter-spacing:-.05em;font-weight:600}
.z-pagehead--center .z-pagehead__h1{margin-left:auto;margin-right:auto}
.z-pagehead__intro{margin-top:20px;max-width:720px;font-size:18px;line-height:1.65;color:var(--muted)}
.z-pagehead__meta{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--muted-3)}
.z-crumbs{margin-bottom:20px;font-size:13px;color:var(--muted-3)}
.z-crumbs a{color:var(--muted-3);text-decoration:none}
.z-crumbs a:hover{color:var(--link)}
.z-page{padding-top:72px;padding-bottom:96px}
.z-404{padding:48px 24px 120px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;background:var(--soft)}

/* Article */
.z-article{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;padding-top:64px;padding-bottom:96px}
.z-article__main{flex:999 1 640px;min-width:0;max-width:780px}
.z-article__cover{margin:0 0 40px;border:1px solid var(--line-3)}
.z-article__cover img{display:block;width:100%;height:auto}
.z-aside{flex:1 1 300px;min-width:0;max-width:360px;position:sticky;top:calc(var(--header-h) + var(--admin) + 24px)}
.z-aside__card{position:relative;overflow:hidden;background:var(--soft);border:1px solid #E7DFF6;padding:28px 24px 24px}
.z-tiles--aside{inset:0 0 auto 0;height:160px;grid-template-columns:repeat(5,64px);grid-auto-rows:64px;justify-content:end;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
.z-tiles--aside span{border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.z-aside__q{position:relative;font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.04em}
.z-aside__p{position:relative;margin:10px 0 18px;font-size:14px;line-height:1.6;color:var(--muted-2)}
.z-aside .z-url{position:relative}
@media (max-width:1000px){.z-aside{position:static;max-width:none}}

/* Contenu rédigé */
.z-prose{font-size:17px;line-height:1.8;color:var(--ink-2)}
.z-prose--page{max-width:860px}
.z-prose>*+*{margin-top:1.1em}
.z-prose h2{margin-top:2em;font-size:clamp(26px,2.6vw,34px);line-height:1.15;letter-spacing:-.04em;font-weight:600;color:var(--ink)}
.z-prose h3{margin-top:1.7em;font-size:clamp(21px,2vw,25px);line-height:1.25;letter-spacing:-.03em;font-weight:600;color:var(--ink)}
.z-prose h4{margin-top:1.5em;font-size:19px;line-height:1.3;font-weight:600;color:var(--ink)}
.z-prose h2+*,.z-prose h3+*,.z-prose h4+*{margin-top:.7em}
.z-prose>:first-child{margin-top:0}
.z-prose ul,.z-prose ol{padding-left:1.3em}
.z-prose li+li{margin-top:.45em}
.z-prose ul li::marker{color:var(--violet)}
.z-prose strong{color:var(--ink);font-weight:600}
.z-prose img{display:block;border:1px solid var(--line-3)}
.z-prose figure{margin-top:1.8em;margin-bottom:1.8em}
.z-prose figcaption{margin-top:8px;font-size:14px;color:var(--muted-3)}
.z-prose blockquote{margin-left:0;padding:18px 24px;border-left:3px solid var(--violet);background:var(--soft);font-size:18px;color:var(--ink)}
.z-prose table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}
.z-prose th,.z-prose td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.z-prose th{background:var(--soft);font-weight:600;color:var(--ink)}
.z-prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.z-prose a{font-weight:500}
.z-prose iframe{max-width:100%}

/* Grille d'articles */
.z-blog{padding-top:72px;padding-bottom:96px}
.z-related{padding:96px 0}
.z-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:0}
.z-related .z-posts{margin-top:40px}
.z-post{background:#fff;border:1px solid var(--line-3);transition:border-color .25s,transform .25s var(--ease)}
.z-post:hover{border-color:#CFC5E4;transform:translateY(-3px)}
.z-post__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink)}
.z-post__link:hover{color:var(--ink)}
.z-post__img{aspect-ratio:16/10;overflow:hidden;background:var(--soft);border-bottom:1px solid var(--line-3)}
.z-post__img img{width:100%;height:100%;object-fit:cover;display:block}
.z-post__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F5F1FC,#EEF5FB)}
.z-post__ph img{width:58px;height:auto;object-fit:contain}
.z-post__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.z-post__meta{font-size:13px;color:var(--muted-3)}
.z-post__t{font-size:20px;line-height:1.28;font-weight:600;letter-spacing:-.03em}
.z-post__ex{font-size:15px;line-height:1.6;color:var(--muted)}
.z-post__more{margin-top:auto;padding-top:6px;display:inline-flex;gap:8px;font-size:14px;font-weight:600;color:var(--link)}
.z-pager{margin-top:48px}
.z-pager .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.z-pager .page-numbers{min-width:44px;height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.z-pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}

/* Page Soumission */
.z-quote{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;padding-top:64px;padding-bottom:96px}
.z-quote__info{flex:1 1 380px;min-width:0;max-width:520px}
.z-quote__form{flex:1.4 1 520px;min-width:0}

/* ==========================================================================
   Formulaire de soumission (plugin Zenith Soumissions)
   ========================================================================== */
.zs-form{background:#fff;border:1px solid #E7DFF6;box-shadow:0 40px 80px -60px rgba(63,31,138,.45);padding:36px}
.zs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.zs-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.zs-field--full{grid-column:1/-1}
.zs-label{font-size:14px;font-weight:600;color:var(--ink)}
.zs-label small{font-weight:500;color:var(--muted-3);font-size:13px}
.zs-input,.zs-select,.zs-textarea{width:100%;border:1px solid var(--line-2);background:#fff;padding:0 16px;height:50px;font-size:16px;color:var(--ink);border-radius:0;transition:border-color .2s,box-shadow .2s}
.zs-textarea{height:auto;min-height:130px;padding:14px 16px;line-height:1.6;resize:vertical}
.zs-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236E6A78' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.zs-input:focus,.zs-select:focus,.zs-textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(123,79,224,.2)}
.zs-field.has-error .zs-input,.zs-field.has-error .zs-select,.zs-field.has-error .zs-textarea{border-color:#C2373B}
.zs-error{font-size:13px;color:#A82B2F}
.zs-choices{display:flex;flex-wrap:wrap;gap:8px}
.zs-choice{position:relative}
.zs-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.zs-choice span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line-2);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.zs-choice input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.zs-choice input:focus-visible+span{outline:2px solid var(--violet);outline-offset:2px}
.zs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.zs-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.6;color:var(--muted)}
.zs-consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--violet);flex:none}
.zs-submit{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.zs-submit .z-btn{height:54px;padding:0 28px;font-size:16px}
.zs-note{font-size:13px;color:var(--muted-3)}
.zs-alert{padding:16px 20px;margin-bottom:22px;font-size:15px;line-height:1.6;border:1px solid}
.zs-alert--error{background:#FDF1F1;border-color:#F1C9CA;color:#7A1E21}
.zs-success{position:relative;overflow:hidden;background:var(--night);color:#fff;padding:44px 36px}
.zs-success h2{font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.045em;font-weight:600}
.zs-success p{margin-top:14px;font-size:16px;line-height:1.7;color:#D6D1DF}
.zs-success .z-btn{margin-top:24px}
@media (max-width:640px){.zs-form{padding:24px 18px}.zs-grid{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   Mouvement réduit
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
	.z-shoot{display:none}
	.z-stars__drift,.z-float,.z-pulse,.z-glow,.z-stars__drift i.tw{animation:none!important}
}

/* ==========================================================================
   Blocs importés dans le contenu rédigé (articles, pages)
   ========================================================================== */
.z-prose .wp-block-details{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.z-prose .wp-block-details+.wp-block-details{border-top:0;margin-top:0}
.z-prose .wp-block-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;min-height:44px;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.z-prose .wp-block-details summary::-webkit-details-marker{display:none}
.z-prose .wp-block-details summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;border:1px solid #CFC5E4;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:400;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.z-prose .wp-block-details[open] summary::after{transform:rotate(45deg);background:var(--violet);border-color:var(--violet);color:#fff}
.z-prose .wp-block-details>:not(summary){margin:0 0 18px}
.z-prose .wp-block-quote p{margin:0}
.z-prose .wp-block-quote cite{display:block;margin-top:10px;font-size:14px;font-style:normal;font-weight:600;color:var(--muted-3)}
.z-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.6em}
.z-prose .wp-block-button__link{display:inline-flex;align-items:center;min-height:50px;padding:0 24px;border-radius:999px;background:var(--violet);color:#fff;font-size:15px;font-weight:600;text-decoration:none}
.z-prose .wp-block-button__link:hover{background:#6A3ED3;color:#fff}
.z-prose .wp-block-image{margin-top:1.8em;margin-bottom:1.8em}
.z-prose .wp-block-image img{height:auto}
.z-prose .wp-block-table{margin-top:1.6em;margin-bottom:1.6em;overflow-x:auto}
.z-prose .wp-block-table table{display:table}
.z-prose .z-embed{position:relative;aspect-ratio:16/9}
.z-prose .z-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.z-prose .wp-block-separator{border:0;border-top:1px solid var(--line);margin:2.4em 0}

/* Calculateur de coût SEO */
.z-calc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border:1px solid #E7DFF6;background:#fff;box-shadow:0 40px 80px -60px rgba(63,31,138,.45);margin-bottom:64px}
.z-calc__fields{padding:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;align-content:start}
.z-calc__range input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;margin:12px 0 6px;border-radius:999px;background:linear-gradient(90deg,var(--violet) var(--fill,0%),#E7E2EF var(--fill,0%));cursor:pointer}
.z-calc__range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--violet);box-shadow:0 2px 6px rgba(43,20,99,.25)}
.z-calc__range input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--violet)}
.z-calc__ticks{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted-3)}
.z-calc__reset{grid-column:1/-1;justify-self:start;background:none;border:0;padding:0;min-height:44px;color:var(--link);font-size:14px;font-weight:600;cursor:pointer}
.z-calc__out{background:var(--night);color:#fff;padding:36px 32px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}
.z-calc__label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#B9B3C6}
.z-calc__price{font-size:clamp(30px,3.4vw,44px);line-height:1.1;font-weight:600;letter-spacing:-.04em}
.z-calc__note{font-size:14px;line-height:1.6;color:#D6D1DF}
@media (max-width:900px){.z-calc{grid-template-columns:minmax(0,1fr)}.z-calc__fields{grid-template-columns:minmax(0,1fr);padding:24px 18px}}

/* ==========================================================================
   Pages de services (couleur du service via --sv-*)
   ========================================================================== */
.zsv .z-tab__bar{background:var(--sv-pastel)}
.zsv-hero{position:relative;overflow:hidden;background:#fff;color:var(--ink)}
.zsv-hero__inner{position:relative;padding-top:56px;padding-bottom:112px}
.zsv-crumbs,.zsv-crumbs a{color:var(--muted-3)}
.zsv-crumbs a:hover{color:var(--ink)}
.zsv-crumbs .breadcrumb_last{color:var(--sv-ink);font-weight:500}
.zsv .zsv-eyebrow{color:var(--muted-3);border-color:var(--line-2);background:#fff}
.zsv-eyebrow .z-eyebrow__dot{background:var(--sv-mid)}
.zsv-h1{margin-top:24px;max-width:880px;font-size:clamp(42px,5.4vw,76px);line-height:1.02;letter-spacing:-.055em;font-weight:600}
.zsv-hl{background:linear-gradient(transparent 58%,var(--sv-pastel) 58%,var(--sv-pastel) 92%,transparent 92%);padding:0 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.zsv-intro{margin-top:24px;max-width:660px;font-size:19px;line-height:1.6;color:var(--muted)}
.zsv-proc{background:var(--sv-soft);overflow:hidden}
.zsv-proc .z-wrap{position:relative}
.zsv-proc__tiles span{border-color:var(--sv-line)}
.zsv-proc .z-eyebrow{background:#fff}
.zsv-read{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--muted-2)}
.zsv-read a{color:var(--sv-ink);font-weight:600}
.zsv .z-step__d+.z-step__d{margin-top:12px}
.zsv-step__ill{background:var(--sv-soft)}
.zsv-step__num{position:absolute;right:-10px;bottom:-40px;font-size:220px;line-height:1;font-weight:700;letter-spacing:-.08em;color:var(--sv-pastel)}
.zsv-step__card{position:relative;width:100%;max-width:340px;background:#fff;padding:8px 18px;box-shadow:0 20px 40px -28px rgba(20,18,26,.5)}
.zsv-step__row{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:14px;line-height:1.35;font-weight:500;color:var(--muted-3)}
.zsv-step__row+.zsv-step__row{border-top:1px solid #F1EEF6}
.zsv-step__row.is-done{color:var(--muted)}
.zsv-step__row.is-on{color:var(--ink);font-weight:600}
.zsv-step__check{width:22px;height:22px;flex:none;border-radius:50%;background:#F1EEF6;color:var(--muted-3);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}
.is-on .zsv-step__check,.is-done .zsv-step__check{background:var(--sv-pastel);color:var(--sv-ink)}
.zsv-step__check svg{stroke-width:3}
.zsv-ben__head{max-width:720px}
.zsv-bento{list-style:none;margin-top:52px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:14px}
.zsv-bento__item{background:#fff;border:1px solid var(--line-3);padding:30px 28px;display:flex;flex-direction:column;gap:18px}
.zsv-bento__item--0{grid-row:1/span 2;background:var(--sv-pastel);border-color:var(--sv-pastel);color:var(--sv-deep);padding:40px 36px;min-height:420px;justify-content:space-between;gap:40px}
.zsv-bento__item--3{grid-column:2/span 2;flex-direction:row}
.zsv-bento__ico{width:48px;height:48px;flex:none;background:var(--sv-soft);color:var(--sv-ink);display:inline-flex;align-items:center;justify-content:center}
.zsv-bento__item--0 .zsv-bento__ico{width:56px;height:56px;background:#fff}
.zsv-bento__t{font-size:20px;line-height:1.25;letter-spacing:-.03em;font-weight:600}
.zsv-bento__item--0 .zsv-bento__t{font-size:clamp(30px,3vw,42px);line-height:1.06;letter-spacing:-.05em}
.zsv-bento__d{margin-top:10px;font-size:15px;line-height:1.7;color:var(--muted)}
.zsv-bento__item--0 .zsv-bento__d{margin-top:16px;max-width:420px;font-size:17px;line-height:1.65;color:var(--sv-ink)}
.zsv-q__n{width:32px;flex:none;font-size:13px;font-weight:600;color:var(--sv-mid)}
.zsv .z-q[open] .z-q__plus{background:var(--sv-mid);border-color:var(--sv-mid)}
.zsv .z-q__sum:hover .z-q__t{color:var(--sv-mid)}
.zsv-q__a{padding-left:52px}
.zsv-q__a>*+*{margin-top:.8em}
.zsv-q__a a{color:var(--link)}
.zsv-fin{position:relative;overflow:hidden;background:var(--night);color:#fff}
.zsv-fin__tiles{inset:0;height:auto;align-content:center;-webkit-mask-image:radial-gradient(ellipse at center,transparent 30%,#000 75%);mask-image:radial-gradient(ellipse at center,transparent 30%,#000 75%)}
.zsv-fin__tiles span{border-color:rgba(255,255,255,.06)}
.zsv-fin__inner{position:relative;max-width:900px;margin:0 auto;padding:128px 24px;text-align:center}
.zsv-fin__h{font-size:clamp(36px,4.6vw,64px);line-height:1.03;letter-spacing:-.05em;font-weight:600;color:#fff}
.zsv-fin__p{margin:20px auto 0;max-width:600px;font-size:17px;line-height:1.65;color:#D6D1DF}
.zsv-fin__tag{margin:14px auto 0;max-width:600px;font-size:15px;line-height:1.6;font-weight:600;color:var(--sv-pastel)}
.zsv-url{margin:34px auto 0;max-width:560px}
.zsv-url--glow{box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.zsv-url--glow:focus-within{box-shadow:0 0 0 3px #fff,0 0 0 7px var(--sv-mid)}
/* Pages de services : boutons sobres (gris foncé ; couleur du service dans le bloc sombre), en-tête à plat en haut de page */
.zsv .z-btn--violet{background:#1F1D24;color:#fff}
.zsv .z-btn--violet:hover{background:var(--ink-2);color:#fff}
.zsv-fin .z-btn--violet{background:var(--sv-pastel);color:var(--sv-deep)}
.zsv-fin .z-btn--violet:hover{background:#fff;color:var(--sv-deep)}
.z-svc .z-header:not(.is-scrolled):not(.is-open) .z-header__bar{border-color:transparent;box-shadow:none}
/* Page « Services SEO » (hub) */
.zhub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.zhub-head__text{max-width:720px}
.zhub-grid{list-style:none;margin-top:52px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.zhub-grid>li{display:flex}
.zhub-card{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:290px;padding:30px 28px;background:var(--c-soft);border:1px solid var(--c-pastel);color:var(--ink);text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
a.zhub-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -30px rgba(20,18,26,.45);color:var(--ink)}
.zhub-card__ico{width:52px;height:52px;background:var(--c-pastel);color:var(--c-ink);display:inline-flex;align-items:center;justify-content:center}
.zhub-card__t{margin-top:26px;font-size:22px;line-height:1.2;letter-spacing:-.035em;font-weight:600}
.zhub-card__d{margin-top:10px;font-size:15px;line-height:1.65;color:var(--muted)}
.zhub-card__more{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--c-ink)}
.zhub-card__more svg{stroke-width:2.2;transition:transform .2s}
a.zhub-card:hover .zhub-card__more svg{transform:translateX(3px)}
.zhub-who{background:#FAF9FC}
.zhub-who__list{list-style:none;margin-top:52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.zhub-who__item{background:#fff;border:1px solid var(--line-3);padding:32px 30px}
.zhub-who__n{font-size:13px;font-weight:600;color:var(--sv-mid)}
.zhub-who__t{margin-top:18px;font-size:22px;line-height:1.25;letter-spacing:-.035em;font-weight:600}
.zhub-who__d{margin-top:10px;font-size:15px;line-height:1.65;color:var(--muted)}
@media (max-width:1100px){.zhub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.zhub-grid,.zhub-who__list{grid-template-columns:minmax(0,1fr)}.zhub-card{min-height:0}}
/* Études de cas */
.zcs-stats{list-style:none;margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:#FAF9FC}
.zcs-stats__item{padding:28px 32px}
.zcs-stats__item+.zcs-stats__item{border-left:1px solid var(--line)}
.zcs-stats__n{display:block;font-size:clamp(34px,3.4vw,48px);line-height:1;letter-spacing:-.05em;font-weight:600}
.zcs-stats__l{display:block;margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted-2)}
.zcs-kicker{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-3)}
.zcs-kicker__n{padding-right:10px;border-right:1px solid var(--line-2);color:var(--muted-4);font-variant-numeric:tabular-nums}
.zcs-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.zcs-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:5px 9px;font-size:12px;font-weight:500;color:var(--ink-2)}
.zcs-tag__dot{width:7px;height:7px;display:block}
.zcs-ch__plot{position:relative;height:var(--ch-h,160px)}
.zcs-ch--lg{--ch-h:clamp(230px,28vw,330px)}
.zcs-ch--md{--ch-h:150px}
.zcs-ch--spark{--ch-h:54px}
.zcs-ch svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.zcs-ch__grid{stroke:#EFECF3;stroke-width:1}
.zcs-ch__grid.is-base{stroke:var(--line-2)}
.zcs-ch__line{fill:none;stroke:var(--c-mid);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}
.zcs-ch--spark .zcs-ch__line{stroke-width:1.75}
.zcs-ch__dot{position:absolute;right:0;width:9px;height:9px;margin:-4.5px -4.5px 0 0;border-radius:50%;background:var(--c-mid);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--c-pastel)}
.zcs-ch--spark .zcs-ch__dot{width:7px;height:7px;margin:-3.5px -3.5px 0 0}
.zcs-ch:not(.zcs-ch--spark) .zcs-ch__plot,.zcs-ch:not(.zcs-ch--spark) .zcs-ch__x{margin-left:46px}
.zcs-ch__y{position:absolute;left:-46px;width:36px;transform:translateY(-50%);text-align:right;font-size:11px;line-height:1;color:var(--muted-4);font-variant-numeric:tabular-nums;white-space:nowrap}
.zcs-row__kpis dd,.zcs-case__meta dd{margin-left:0}
.zcs-ch__x{position:relative;height:16px;margin-top:10px}
.zcs-ch__x span{position:absolute;top:0;transform:translateX(-50%);font-size:11px;line-height:16px;color:var(--muted-4);white-space:nowrap}
.zcs-rows{margin-top:48px;display:grid;gap:18px}
.zcs-row{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);border:1px solid var(--line-3);background:#fff;transition:border-color .25s,box-shadow .25s}
.zcs-row:hover{border-color:var(--c-pastel);box-shadow:0 26px 48px -36px rgba(20,18,26,.4)}
.zcs-row:has(a:focus-visible){outline:2px solid var(--violet);outline-offset:3px}
.zcs-row__t a::after{content:"";position:absolute;inset:0;z-index:1}
.zcs-row__t a:focus{outline:0}
.zcs-row__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink-2)}
.zcs-row__arrow{display:inline-block;transition:transform .25s var(--ease)}
.zcs-row:hover .zcs-row__more{color:var(--ink)}
.zcs-row:hover .zcs-row__arrow{transform:translateX(4px)}
.zcs-row--rev{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.zcs-row__vis{background:var(--c-soft);padding:32px;border-right:1px solid var(--line-3);display:flex;flex-direction:column;gap:24px;min-width:0}
.zcs-row--rev .zcs-row__vis{order:2;border-right:0;border-left:1px solid var(--line-3)}
.zcs-row__big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.zcs-row__n{font-size:clamp(40px,4vw,56px);line-height:1;letter-spacing:-.055em;font-weight:600}
.zcs-row__nl{font-size:14px;color:var(--muted)}
.zcs-row__chart{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-pastel);padding:16px 20px 12px}
.zcs-row__chart .zcs-ch{flex:1;display:flex;flex-direction:column}
.zcs-row__chart .zcs-ch__plot{flex:1;height:auto;min-height:150px}
.zcs-row__cl{margin-bottom:14px;font-size:12px;color:var(--muted-3)}
.zcs-row__txt{padding:40px 40px 36px;display:flex;flex-direction:column;gap:16px;min-width:0}
.zcs-row__t{font-size:clamp(25px,2.3vw,32px);line-height:1.12;letter-spacing:-.045em;font-weight:600}
.zcs-row__t a{color:var(--ink);text-decoration:none}
.zcs-row:hover .zcs-row__t a{color:var(--link)}
.zcs-row__d{font-size:16px;line-height:1.65;color:var(--muted)}
.zcs-row__kpis{margin-top:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-3);border-bottom:1px solid var(--line-3)}
.zcs-row__kpis>div{padding:16px 16px 16px 0;min-width:0}
.zcs-row__kpis>div+div{padding:16px 0 16px 20px;border-left:1px solid var(--line-3)}
.zcs-row__kpis dt{font-size:12px;line-height:1.4;color:var(--muted-3)}
.zcs-row__kpis dd{margin-top:6px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.zcs-row__a{font-size:14px;color:var(--muted-4);text-decoration:line-through}
.zcs-row__to{font-size:14px;color:var(--muted-4)}
.zcs-row__kpis strong{font-size:22px;line-height:1.1;letter-spacing:-.04em;font-weight:600;color:var(--ink)}
.zcs-note{margin-top:40px;max-width:760px;font-size:13px;line-height:1.6;color:var(--muted-3)}
.zcs-case__main{background:#fff}
.zcs-case__head{padding:48px 0 56px}
.zcs-case__intro{margin-top:8px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.zcs-case__aside{padding-top:40px}
.zcs-case__h1{margin-top:18px;font-size:clamp(38px,4.8vw,66px);line-height:1.03;letter-spacing:-.055em;font-weight:600}
.zcs-case__lead{font-size:18px;line-height:1.65;color:var(--muted)}
.zcs-case__meta{margin-top:26px;border-top:1px solid var(--line-3)}
.zcs-case__meta>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line-3)}
.zcs-case__meta dt{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-4)}
.zcs-case__meta dd{font-size:15px;color:var(--ink-2)}
.zcs-board{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line-3);background:#fff}
.zcs-board__chart{padding:28px 32px 20px;min-width:0}
.zcs-board__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:26px}
.zcs-board__t{font-size:15px;font-weight:600;color:var(--ink)}
.zcs-board__u{font-size:12px;color:var(--muted-4)}
.zcs-board__src{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-3);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:12px;line-height:1.5;color:var(--muted-3)}
.zcs-kicker--case{gap:0;font-size:12px}
.zcs-kicker__dot{width:9px;height:9px;flex:none;margin-right:10px;background:var(--c-mid)}
.zcs-kicker__k{color:var(--c-ink)}
.zcs-kicker__s{white-space:pre-wrap}
.zcs-board__chart{position:relative}
.zcs-board__view{position:relative}
.zcs-board__shot{position:absolute;inset:-8px;z-index:2;display:flex;align-items:center;justify-content:center;background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.zcs-board__shot img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;border:1px solid var(--line-3)}
.zcs-board__chart.is-shot .zcs-board__shot{opacity:1;visibility:visible}
@media (hover:hover){.zcs-board__chart.has-shot:hover .zcs-board__shot{opacity:1;visibility:visible}}
.zcs-board__toggle{appearance:none;border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:7px;font:inherit;color:var(--muted-2);cursor:pointer;text-align:left}
.zcs-board__toggle:hover,.zcs-board__chart.is-shot .zcs-board__toggle{color:var(--link)}
.zcs-board__toggle svg{flex:none}
.zcs-board__hint--touch{display:none}
@media (hover:none){.zcs-board__hint--hover{display:none}.zcs-board__hint--touch{display:inline}}
.zcs-board__kpis{list-style:none;display:flex;flex-direction:column;background:var(--c-soft);border-left:1px solid var(--line-3)}
.zcs-kpi{flex:1;padding:24px 28px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.zcs-kpi+.zcs-kpi{border-top:1px solid rgba(20,18,26,.08)}
.zcs-kpi__l{font-size:13px;line-height:1.4;color:var(--muted-2)}
.zcs-kpi__b{font-size:clamp(30px,3vw,40px);line-height:1;letter-spacing:-.05em;font-weight:600;color:var(--ink)}
.zcs-kpi__a{font-size:13px;color:var(--muted-3)}
.zcs-story{margin-top:88px;border-top:1px solid var(--line-3)}
.zcs-sec{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;padding:56px 0;border-bottom:1px solid var(--line-3)}
.zcs-sec__n{display:block;font-size:13px;font-weight:600;color:var(--muted-4);font-variant-numeric:tabular-nums}
.zcs-sec__h{margin-top:10px;font-size:clamp(24px,2.4vw,32px);line-height:1.15;letter-spacing:-.04em;font-weight:600}
.zcs-sec__body{min-width:0;max-width:780px}
.zcs-sec__body .z-prose{font-size:19px;line-height:1.75}
.zcs-sec--result .z-prose>p:first-child{font-size:clamp(22px,2.2vw,28px);line-height:1.45;letter-spacing:-.025em;font-weight:500;color:var(--ink)}
.zcs-steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.zcs-step{display:flex;flex-direction:column;gap:16px;padding:22px 24px 24px;border:1px solid var(--line-3);background:#fff}
.zcs-step__n{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--c-pastel);color:var(--c-ink);font-size:13px;font-weight:600}
.zcs-step p{font-size:16px;line-height:1.6;color:var(--ink-2)}
.zcs-sec .wp-block-table{margin:32px 0 0;overflow-x:auto}
.zcs-sec .z-prose table{display:table;min-width:460px;border:1px solid var(--line-3);font-size:15px}
.zcs-sec .z-prose th,.zcs-sec .z-prose td{border:0;border-bottom:1px solid var(--line-3);padding:13px 18px}
.zcs-sec .z-prose th{background:var(--c-soft);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.zcs-sec .z-prose th+th,.zcs-sec .z-prose td+td{text-align:right;font-variant-numeric:tabular-nums}
.zcs-sec .z-prose td:nth-child(2){font-weight:600;color:var(--ink)}
.zcs-sec .z-prose tbody tr:last-child td{border-bottom:0}
.zcs-sec .wp-block-table thead{border-bottom:1px solid var(--line-3)}
.zcs-sec .wp-block-table figcaption{font-size:12px}
.zcs-case__cta{margin:72px 0 104px;padding:32px 36px;background:var(--c-soft);border:1px solid var(--c-pastel);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.zcs-case__cta-t{font-size:22px;line-height:1.25;letter-spacing:-.03em;font-weight:600;color:var(--ink)}
.zcs-case__cta-p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--muted)}
.zcs-more{background:#FAF9FC}
.zcs-more__grid{list-style:none;margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.zcs-more__grid>li{display:flex}
.zcs-mini{flex:1;display:flex;flex-direction:column;gap:14px;padding:26px;background:#fff;border:1px solid var(--line-3);color:var(--ink);text-decoration:none;transition:border-color .25s,box-shadow .25s}
.zcs-mini:hover{border-color:var(--c-pastel);box-shadow:0 22px 40px -30px rgba(20,18,26,.45);color:var(--ink)}
.zcs-mini__t{font-size:19px;line-height:1.25;letter-spacing:-.03em;font-weight:600}
.zcs-mini .zcs-ch{margin-top:auto;padding-top:10px}
.zcs-mini__n{font-size:28px;letter-spacing:-.05em;font-weight:600}
.zcs-mini__n span{font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted)}
@media (max-width:1000px){.zcs-row,.zcs-row--rev{grid-template-columns:minmax(0,1fr)}.zcs-row__vis,.zcs-row--rev .zcs-row__vis{order:0;border:0;border-bottom:1px solid var(--line-3)}.zcs-more__grid{grid-template-columns:minmax(0,1fr)}.zcs-case__intro{grid-template-columns:minmax(0,1fr);gap:24px}.zcs-case__aside{padding-top:0}.zcs-board{grid-template-columns:minmax(0,1fr)}.zcs-board__kpis{flex-direction:row;border-left:0;border-top:1px solid var(--line-3)}.zcs-kpi+.zcs-kpi{border-top:0;border-left:1px solid rgba(20,18,26,.08)}.zcs-sec{grid-template-columns:minmax(0,1fr);gap:20px;padding:44px 0}.zcs-story{margin-top:64px}}
@media (max-width:760px){.zcs-stats{grid-template-columns:minmax(0,1fr)}.zcs-stats__item+.zcs-stats__item{border-left:0;border-top:1px solid var(--line)}.zcs-row__txt{padding:28px 22px}.zcs-row__vis{padding:24px 18px}.zcs-row__chart{padding:14px 14px 10px}.zcs-case__head{padding:32px 0 40px}.zcs-board__chart{padding:22px 18px 16px}.zcs-ch--lg{--ch-h:210px}.zcs-board__kpis{flex-direction:column}.zcs-kpi{padding:20px 22px}.zcs-kpi+.zcs-kpi{border-left:0;border-top:1px solid rgba(20,18,26,.08)}.zcs-steps{grid-template-columns:minmax(0,1fr)}.zcs-sec__body .z-prose{font-size:17px}.zcs-case__cta{margin:56px 0 72px;padding:24px 22px}}
/* Bandeau « Soyez visible sur » (moteurs et assistants IA) */
.z-eng{position:relative;background:#FAF9FC;border-top:1px solid var(--line-3)}
.z-eng__inner{display:flex;align-items:center;gap:40px;min-height:104px}
.z-eng__label{flex:none;max-width:150px;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.z-eng__track{flex:1;min-width:0;display:flex;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)}
.z-eng__list{list-style:none;flex:none;display:flex;align-items:center;gap:56px;padding-right:56px;animation:z-eng 48s linear infinite}
.z-eng__track:hover .z-eng__list{animation-play-state:paused}
.z-eng__item{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:19px;font-weight:600;letter-spacing:-.03em;color:var(--muted-4);transition:color .2s}
.z-eng__item svg{flex:none}
.z-eng__item:hover{color:var(--ink)}
@keyframes z-eng{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){
	.z-eng__list{animation:none;flex-wrap:wrap;row-gap:18px;padding:22px 0}
	.z-eng__list[aria-hidden]{display:none}
	.z-eng__track{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:640px){
	.z-eng__inner{flex-direction:column;align-items:flex-start;gap:14px;padding-top:24px;padding-bottom:24px}
	.z-eng__label{max-width:none}
	.z-eng__track{width:100%}
	.z-eng__list{gap:40px;padding-right:40px}
	.z-eng__item{font-size:17px}
}
@media (max-width:900px){
	.zsv-bento{grid-template-columns:minmax(0,1fr)}
	.zsv-bento__item--0,.zsv-bento__item--3{grid-row:auto;grid-column:auto;min-height:0}
	.zsv-bento__item--3{flex-direction:column}
}
@media (max-width:640px){
	.zsv-hero__inner{padding-top:36px;padding-bottom:72px}
	.zsv-q__a{padding-left:0}
	.zsv-url{flex-direction:column;border-radius:28px;padding:8px;align-items:stretch}
	.zsv-url input{text-align:center}
	.zsv-fin__inner{padding:96px 16px}
}
.zab-hero{background:#fff}
.zab-hero__inner{max-width:1000px;margin:0 auto;padding:96px 24px 72px;text-align:center}
.zab .zab-hero .z-eyebrow{margin:0 auto}
.zab-h1{margin-top:28px;font-size:clamp(40px,5.2vw,72px);line-height:1.03;letter-spacing:-.055em;font-weight:600}
.zab-intro{margin:26px auto 0;max-width:640px;font-size:19px;line-height:1.65;color:var(--muted)}
.zab-photo{max-width:1088px;margin:0 auto;padding:0 24px}
.zab-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover}
.zab-story{max-width:808px;margin:0 auto;padding:72px 24px 0}
.zab-sec{padding:88px 0;border-top:1px solid var(--line-3)}
.zab-lab{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-4)}
.zab-lab__n{color:var(--ink);font-variant-numeric:tabular-nums}
.zab-lab__l{width:28px;height:1px;background:#CFC5E4}
.zab-h2{margin-top:18px;font-size:clamp(30px,3.2vw,44px);line-height:1.1;letter-spacing:-.045em;font-weight:600}
.zab-p{margin-top:20px;font-size:18px;line-height:1.8;color:var(--muted)}
.zab-steps{list-style:none;margin-top:40px}
.zab-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:20px;padding-bottom:36px}
.zab-step:last-child{padding-bottom:0}
.zab-step:not(:last-child)::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:1px;background:var(--line)}
.zab-step__n{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600}
.zab-step__t{padding-top:9px;font-size:20px;line-height:1.3;letter-spacing:-.025em;font-weight:600}
.zab-step__d{margin-top:8px;font-size:16px;line-height:1.7;color:var(--muted)}
.zab-rules{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.zab-rule{padding:26px 26px 28px;border:1px solid var(--line-3);background:#fff}
.zab-rule__t{font-size:18px;line-height:1.3;letter-spacing:-.02em;font-weight:600}
.zab-rule__d{margin-top:8px;font-size:15px;line-height:1.65;color:var(--muted)}
.zab-team{list-style:none;margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.zab-person__ph{aspect-ratio:4/5;overflow:hidden;background:#E9E9EB}
.zab-person__ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.zab-person__n{margin-top:18px;font-size:19px;font-weight:600;letter-spacing:-.03em}
.zab-person__r{margin-top:4px;font-size:14px;color:var(--muted-3)}
.zab-close{background:#FAF9FC;border-top:1px solid var(--line-3)}
.zab-close__inner{max-width:900px;margin:0 auto;padding:112px 24px;text-align:center}
.zab-close__t{font-size:clamp(30px,3.6vw,50px);line-height:1.12;letter-spacing:-.05em;font-weight:600}
.zab-close__p{margin:24px auto 0;max-width:620px;font-size:17px;line-height:1.75;color:var(--muted)}
@media (max-width:720px){.zab-hero__inner{padding:56px 20px 48px}.zab-intro{font-size:17px}.zab-photo{padding:0 16px}.zab-photo img{aspect-ratio:4/3}.zab-story{padding:40px 20px 0}.zab-sec{padding:56px 0}.zab-p{font-size:17px}.zab-rules,.zab-team{grid-template-columns:minmax(0,1fr)}.zab-close__inner{padding:80px 20px}}
.zq-hero{max-width:960px;margin:0 auto;padding:88px 24px 56px;text-align:center}
.zq-hero .z-eyebrow{margin:0 auto}
.zq-h1{margin-top:24px;font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.055em;font-weight:600}
.zq-intro{margin:22px auto 0;max-width:600px;font-size:18px;line-height:1.65;color:var(--muted)}
.zq-steps{list-style:none;max-width:1088px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.zq-step{padding:22px 24px;border:1px solid var(--line-3);background:#fff}
.zq-step__n{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.zq-step__t{margin-top:14px;font-size:16px;line-height:1.35;font-weight:600;color:var(--ink)}
.zq-step__d{margin-top:6px;font-size:14px;line-height:1.55;color:var(--muted-3)}
.zq-form{max-width:1088px;margin:56px auto 0;padding:0 24px 112px}
.zs-form--q{background:none;border:0;box-shadow:none;padding:0}
.zs-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;margin:0;padding:32px 0;border:0;border-top:1px solid var(--line-3);min-width:0}
.zs-row__h{min-width:0}
.zs-row__n{display:block;font-size:13px;font-weight:600;color:var(--muted-4);font-variant-numeric:tabular-nums}
.zs-row__t{display:block;float:none;padding:0;margin-top:6px;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.zs-row__b{min-width:0}
.zs-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.zs-opts .zs-choice span{display:flex;width:100%;min-height:48px;padding:12px 16px;font-size:15px;line-height:1.35;background:#fff;color:var(--ink)}
.zs-opts .zs-choice input:checked+span{background:#1F1D24;border-color:#1F1D24;color:#fff}
.zs-check{margin-top:12px;display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);cursor:pointer}
.zs-check input{width:18px;height:18px;margin:0;accent-color:#1F1D24}
.zs-form--q .zs-consent input{accent-color:#1F1D24}
.zs-foot{padding-top:28px;border-top:1px solid var(--line-3);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.zs-pills{list-style:none;display:flex;gap:20px;flex-wrap:wrap}
.zs-pills li{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}
.zs-pills svg{flex:none;color:#237A55}
.zs-foot .z-btn{height:54px;padding:0 28px;font-size:16px}
@media (max-width:900px){.zq-steps{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.zq-hero{padding:56px 20px 40px}.zq-steps{padding:0 20px}.zq-form{padding:0 20px 80px;margin-top:40px}.zs-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:26px 0}.zs-opts{grid-template-columns:minmax(0,1fr)}.zs-foot .z-btn{width:100%;justify-content:center}}
/* Contact (piste B : onglets appel / message) */
.zct-hero{max-width:1328px;margin:0 auto;padding:80px 24px 48px}
.zct-h1{margin-top:24px;max-width:1000px;font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.055em;font-weight:600}
.zct-intro{margin-top:22px;max-width:600px;font-size:18px;line-height:1.65;color:var(--muted)}
.zct-wrap{max-width:1328px;margin:0 auto;padding:0 24px 104px}
.zct-box{border:1px solid #E6E3EC;background:#fff}
.zct-tabs{display:none}
.zct-box.is-js .zct-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #E6E3EC}
.zct-tab{display:flex;align-items:center;gap:16px;padding:22px 26px;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:#FAF9FC;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.zct-tab:hover{background:#fff}
.zct-tab[aria-selected="true"]{background:#fff;border-bottom-color:#6A3ED3}
.zct-tab:focus-visible{outline:2px solid #6A3ED3;outline-offset:-4px}
.zct-tab__i{flex:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center}
.zct-tab__x{min-width:0}
.zct-tab__t{display:block;font-size:18px;font-weight:600;line-height:1.3}
.zct-tab__d{display:block;margin-top:4px;font-size:14px;color:var(--muted-3)}
.zct-panel{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.zct-panel[hidden]{display:none}
.zct-box:not(.is-js) .zct-panel+.zct-panel{border-top:1px solid #E6E3EC}
.zct-panel__main{min-width:0;padding:36px;border-right:1px solid #EEEBF3}
.zct-panel__main--form{padding:40px 40px 44px}
.zct-panel__side{min-width:0;padding:36px 32px;background:#FAF9FC}
.zct-h2{font-size:26px;line-height:1.15;letter-spacing:-.04em;font-weight:600}
.zct-p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--muted)}
.zct-agenda{list-style:none;margin:18px 0 0;padding:0;border-bottom:1px solid #EEEBF3}
.zct-agenda li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:18px 0;border-top:1px solid #EEEBF3}
.zct-agenda__n{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.zct-agenda__t{margin-top:4px;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink)}
.zct-agenda__d{margin-top:4px;font-size:14px;line-height:1.55;color:var(--muted-3)}
.zct-fallback{margin-top:12px;font-size:13px;color:var(--muted-3)}
.zct-fallback a{color:#5B32B8}
.zct-quote{margin-top:22px;font-size:15px;color:var(--muted)}
.zct-quote a{color:#5B32B8;font-weight:600;text-decoration:none}
.zct-quote a:hover{text-decoration:underline}
.zs-form--c{background:none;border:0;box-shadow:none;padding:0}
.zs-form--c .zs-textarea{height:auto;min-height:150px;padding:14px 16px}
.zs-form--c .zs-consent input{accent-color:#1F1D24}
.zs-foot--c{margin-top:26px;padding-top:0;border-top:0}
.zs-hours{font-size:14px;color:var(--muted-3)}
@media (max-width:1080px){.zct-panel{grid-template-columns:minmax(0,1fr)}.zct-panel__main{border-right:0;border-bottom:1px solid #EEEBF3}}
@media (max-width:640px){.zct-hero{padding:56px 20px 36px}.zct-wrap{padding:0 16px 80px}.zct-tab{padding:16px 14px;gap:10px}.zct-tab__i{width:36px;height:36px}.zct-tab__t{font-size:15px}.zct-tab__d{display:none}.zct-panel__main{padding:8px 0}.zct-panel__main--form{padding:24px 18px}.zct-panel__side{padding:26px 20px}.zct-fallback{padding:0 18px 14px}.zs-foot--c .z-btn{width:100%;justify-content:center}}
.zct-panel__main--cal{padding:0;position:relative;min-height:800px;background:#fff}
.zct-panel__main--cal .calendly-inline-widget{position:absolute!important;inset:0 0 44px 0!important;display:block;width:auto!important;height:auto!important;min-width:0!important;max-width:640px;margin:0 auto}
#appel.zct-panel{grid-template-columns:minmax(0,640px) minmax(0,1fr)}
#appel .zct-panel__side{padding:40px 48px}
@media (max-width:1080px){#appel.zct-panel{grid-template-columns:minmax(0,1fr)}#appel .zct-panel__side{padding:32px}}
@media (max-width:640px){#appel .zct-panel__side{padding:26px 20px}}
.zct-panel__main--cal .calendly-inline-widget iframe{display:block;width:100%;height:100%;border:0}
.zct-panel__main--cal .zct-fallback{position:absolute;left:0;right:0;bottom:16px;margin:0;padding:0 16px;text-align:center}
/* Article de blogue (piste A : deux colonnes, sommaire à droite) */
.zbl-head{max-width:1328px;margin:0 auto;padding:56px 24px 40px}
.zbl-h1{margin-top:22px;max-width:920px;font-size:clamp(36px,4.2vw,58px);line-height:1.05;letter-spacing:-.05em;font-weight:600;color:var(--ink);text-wrap:balance}
.zbl-lead{margin-top:20px;max-width:720px;font-size:19px;line-height:1.6;color:var(--muted)}
.zbl-meta{margin-top:30px;padding-top:24px;border-top:1px solid var(--line-3);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.zbl-by{display:flex;align-items:center;gap:14px}
.zbl-by__img{width:44px;height:44px;object-fit:cover;display:block;flex:none}
.zbl-by__n{font-size:15px;font-weight:600;color:var(--ink)}
.zbl-by__d{margin-top:3px;font-size:14px;color:var(--muted-3)}
.zbl-ai{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.zbl-ai__l{font-size:14px;color:var(--muted-3);margin-right:2px}
.zbl-ai__b{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid #E6E3EC;background:#fff;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s}
.zbl-ai__b:hover{border-color:#C9B8F5}
.zbl-ai__b span{width:8px;height:8px;border-radius:50%;flex:none}
.zbl-cover{max-width:1328px;margin:0 auto;padding:0 24px}
.zbl-cover img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border:1px solid var(--line-3)}
.zbl-grid{max-width:1328px;margin:0 auto;padding:56px 24px 96px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}
.zbl-main{min-width:0;max-width:720px}
.zbl-prose{font-size:18px;line-height:1.75;color:var(--ink-2)}
.zbl-prose h2{margin-top:2.2em;scroll-margin-top:calc(var(--header-h) + var(--admin) + 24px)}
.zbl-prose a{color:#5B32B8;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.zbl-prose img{height:auto}
.zbl-tldr{padding:28px 30px 24px;background:#F5F1FC;border:1px solid #E6DEF3}
.zbl-tldr__k{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6A3ED3}
.zbl-tldr__k span{width:8px;height:8px;background:#6A3ED3}
.zbl-prose .zbl-tldr h2{margin-top:12px;font-size:24px;line-height:1.2;letter-spacing:-.035em}
.zbl-tldr>*+*{margin-top:.8em}
.zbl-tldr p,.zbl-tldr li{font-size:17px;line-height:1.6}
.zbl-tldr ul{list-style:none;padding:0}
.zbl-tldr li{position:relative;padding-left:24px}
.zbl-tldr li::before{content:"";position:absolute;left:2px;top:.66em;width:7px;height:7px;background:#6A3ED3}
.zbl-tldr .zbl-tldr__k{font-size:12px;line-height:1.2}
.zbl-rel .z-posts{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.zbl-rel .z-posts{grid-template-columns:minmax(0,1fr)}}
.zbl-prose .zbl-also{display:flex;align-items:center;gap:16px;padding:18px 22px;border:1px solid #E6E3EC;border-left:3px solid #2F6E9E;text-decoration:none;color:var(--ink);transition:border-color .2s}
.zbl-prose .zbl-also:hover{border-color:#BFDDF2;border-left-color:#2F6E9E}
.zbl-also__x{flex:1;min-width:0}
.zbl-also__k{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-4)}
.zbl-also__t{display:block;margin-top:4px;font-size:16px;line-height:1.4;font-weight:600}
.zbl-also__a{color:#2F6E9E;font-size:18px}
.zbl-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.zbl-prose .zbl-table table{display:table;min-width:100%}
.zbl-author{margin-top:56px;padding:28px 30px;border:1px solid #E6E3EC;display:flex;gap:22px;align-items:flex-start}
.zbl-author__img{width:80px;height:80px;object-fit:cover;display:block;flex:none}
.zbl-author__k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-4)}
.zbl-author__n{margin-top:6px;font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.zbl-author__r{margin-top:2px;font-size:14px;color:var(--muted-3)}
.zbl-author__p{margin-top:12px;font-size:15px;line-height:1.65;color:var(--ink-2)}
.zbl-author__a{margin-top:12px;display:inline-flex;gap:6px;font-size:14px;font-weight:600;color:#5B32B8;text-decoration:none}
.zbl-author__a:hover{text-decoration:underline}
.zbl-aside{position:sticky;top:calc(var(--header-h) + var(--admin) + 24px);display:flex;flex-direction:column;gap:28px}
@media (min-width:1081px) and (max-height:859px){.zbl-aside{position:static;align-self:stretch}.zbl-toc{position:sticky;top:calc(var(--header-h) + var(--admin) + 24px)}.zbl-cta{order:-1}}
.zbl-toc__h{margin-bottom:12px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-4)}
.zbl-toc__l{list-style:none;margin:0;padding:0;border-left:1px solid #E6E3EC}
.zbl-toc__l a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;padding:9px 0 9px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:14px;line-height:1.45;color:var(--muted-3);text-decoration:none;transition:color .2s,border-color .2s}
.zbl-toc__l a:hover{color:var(--ink)}
.zbl-toc__l a[aria-current="true"]{border-left-color:#6A3ED3;color:var(--ink);font-weight:600}
.zbl-toc__n{font-variant-numeric:tabular-nums;color:#B4B0BC;font-weight:400}
.zbl-cta{padding:26px 24px;background:#1F1D24;color:#fff}
.zbl-cta__t{font-size:20px;line-height:1.25;letter-spacing:-.03em;font-weight:600}
.zbl-cta__p{margin-top:10px;font-size:14px;line-height:1.6;color:#C9C3D4}
.zbl-cta__f{margin-top:18px;display:grid;gap:10px}
.zbl-cta__f input{width:100%;height:46px;border:0;padding:0 14px;font:inherit;font-size:15px;color:var(--ink);background:#fff;border-radius:0}
.zbl-cta__f input:focus{outline:2px solid #9B7BEA;outline-offset:0}
.zbl-cta__f button{height:46px;border:0;background:#7B4FE0;color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}
.zbl-cta__f button:hover{background:#6A3ED3}
.zbl-rel{background:#FAF9FC;border-top:1px solid var(--line-3)}
.zbl-rel__in{max-width:1328px;margin:0 auto;padding:80px 24px 88px}
.zbl-rel__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.zbl-rel__h{font-size:clamp(28px,3vw,40px);letter-spacing:-.045em;font-weight:600;color:var(--ink)}
.zbl-rel__all{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
@media (max-width:1080px){.zbl-grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:40px}.zbl-main{max-width:none}.zbl-aside{position:static;order:-1}.zbl-aside .zbl-cta{display:none}.zbl-toc{padding:20px 22px 12px;border:1px solid #E6E3EC}.zbl-toc__l{border-left:0}.zbl-toc__l a{padding-left:0;border-left:0}.zbl-toc__l a[aria-current="true"]{font-weight:400;color:var(--muted-3)}}
@media (max-width:640px){.zbl-head{padding:40px 20px 32px}.zbl-cover{padding:0 20px}.zbl-cover img{aspect-ratio:3/2}.zbl-grid{padding:32px 20px 72px}.zbl-prose{font-size:17px}.zbl-tldr{padding:22px 20px 18px}.zbl-author{flex-direction:column;padding:22px 20px}.zbl-rel__in{padding:56px 20px 64px}.zbl-ai__l{width:100%}}

/* Article : classement, répartition des prix, appel à l'action dans le texte */
.zbl-prose .zbl-rank th,.zbl-prose .zbl-rank td{white-space:nowrap}
.zbl-prose .zbl-rank th:nth-child(n+3),.zbl-prose .zbl-rank td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}
.zbl-prose .zbl-rank td:nth-child(2){font-weight:600;color:var(--ink)}
.zbl-prose .zbl-prix th:first-child,.zbl-prose .zbl-prix td:first-child{white-space:nowrap;width:1%}
.zbl-prose .zbl-prix td{vertical-align:middle}
.zbl-bar{display:inline-block;vertical-align:middle;width:calc(100% - 64px);max-width:300px;height:12px;margin-right:12px;background:#EEEBF3}
.zbl-bar__f{display:block;height:100%;background:#6A3ED3}
.zbl-bar__v{display:inline-block;vertical-align:middle;font-variant-numeric:tabular-nums;white-space:nowrap}
.zbl-ask{margin-top:2.6em;padding:30px 32px;background:#F5F1FC;border:1px solid #E6DEF3}
.zbl-prose .zbl-ask h5{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.035em;font-weight:600;color:var(--ink)}
.zbl-prose .zbl-ask p{margin-top:10px;font-size:17px;line-height:1.6}
.zbl-prose .zbl-ask .wp-block-buttons{margin-top:20px}
.zbl-prose .zbl-ask .wp-block-button__link{color:#fff;text-decoration:none}
@media (max-width:640px){.zbl-ask{padding:24px 20px}}
.zbl-prose .zbl-rank table{font-size:14px}
.zbl-prose .zbl-rank th,.zbl-prose .zbl-rank td{padding:9px 10px}
.zbl-prose .zbl-rank th{white-space:normal;vertical-align:bottom;line-height:1.3}
/* Sommaire long : la liste défile dans la marge pour que la carte Soumission reste visible */
@media (min-width:1081px){.zbl-toc__l{max-height:max(220px,calc(100vh - var(--header-h) - var(--admin) - 380px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-left:0;background:linear-gradient(#E6E3EC,#E6E3EC) 0 0/1px 100% no-repeat local}.zbl-toc__l a{margin-left:0}}
@media (min-width:1081px) and (max-height:859px){.zbl-toc__l{max-height:max(220px,calc(100vh - var(--header-h) - var(--admin) - 90px))}}
/* Barre d'admin WordPress sur téléphone : WordPress la laisse défiler (position absolue) sous 600 px, ce qui laissait un trou au-dessus de l'en-tête fixe. On la garde fixe. */
@media (max-width:600px){#wpadminbar{position:fixed}}

