/*
Theme Name: Convaincre
Theme URI: https://convainc.re/
Author: Convaincre
Description: Thème éditorial complet de Convaincre, inspiré du produit et du terrain.
Version: 4.13.3
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: convaincre
*/

.cv-header-inner {
  display: flex;
  align-items: center;
}

/* Tout le bloc fonctionnel est repoussé à droite */
.cv-header-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 18px;
}

.cv-main-nav {
  display: flex;
  align-items: center;
}

.cv-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cv-nav-discord {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.cv-nav-discord svg {
  display: block;
  fill: currentColor;
  flex: none;
}

/* Le hamburger reste à droite sur mobile */
.cv-menu-toggle {
  margin-left: 16px;
}
:root{--ink:#18121f;--ink2:#231b2a;--panel:#241d2c;--panel2:#30263a;--paper:#f7f4f7;--paper2:#eeeaf0;--canvas:#17111e;--white:#fff;--muted:#756d7b;--line:#ded7e2;--red:#e94d47;--purple:#73509a;--purple2:#9369bc;--blue:#5f7cf5;--blue2:#84a0ff;--shadow:0 24px 80px rgba(15,9,20,.24);--shell:1080px;--frame:1320px;--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Nunito Sans",ui-rounded,"Avenir Next Rounded","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}.cv-shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}.cv-narrow{width:min(calc(100% - 48px),880px);margin-inline:auto}

/* HEADER NORMAL */
.cv-site-header{position:relative;z-index:100;width:100%;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.cv-header-inner{min-height:80px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.cv-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;letter-spacing:-.03em}.cv-brand-logo{width:42px;height:42px;border-radius:12px;object-fit:cover}.cv-brand-word{font-size:1.03rem}
.cv-main-nav{display:flex;justify-content:center;gap:30px;align-items:center}.cv-main-nav a{font-size:.88rem;font-weight:800;text-decoration:none;color:#565850}.cv-main-nav a:hover{color:var(--red)}
.cv-header-actions{display:flex;gap:9px;align-items:center}.cv-login,.cv-cta,.cv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:14px;text-decoration:none;font-size:.84rem;font-weight:850;border:1px solid transparent;transition:.18s}.cv-login{background:#f0f0eb}.cv-cta,.cv-btn-dark{background:var(--ink);color:#fff}.cv-cta:hover,.cv-btn-dark:hover{background:#2d2e28}.cv-btn-light{background:#fff;border-color:var(--line)}.cv-btn-red{background:var(--red);color:#fff}
.cv-menu-toggle{display:none;border:0;background:#f0f0eb;width:44px;height:44px;border-radius:14px}.cv-menu-toggle span{display:block;width:19px;height:2px;margin:4px auto;background:var(--ink);border-radius:2px}

/* DOCK */
.cv-quick-dock{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:7px;padding:7px;border:1px solid rgba(23,24,20,.08);background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-radius:19px;box-shadow:0 14px 40px rgba(23,24,20,.14)}
.cv-dock-link{width:60px;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:13px;text-decoration:none;font-size:.61rem;font-weight:850;color:#5c5e56}.cv-dock-link:hover{background:#f0f0eb;color:var(--ink)}.cv-dock-link svg{width:21px;height:21px;fill:#5865F2}.cv-dock-primary{background:var(--ink);color:#fff}.cv-dock-primary:hover{background:#30312b;color:#fff}.cv-status-dot{width:10px;height:10px;border-radius:50%;background:#46a36c;box-shadow:0 0 0 4px rgba(70,163,108,.13)}

/* COMMON */
.cv-kicker{font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin:0 0 18px}.cv-display{margin:0;font-size:clamp(4rem,7vw,7.8rem);line-height:.9;letter-spacing:-.065em;font-weight:900}.cv-page-display{margin:0;font-size:clamp(3.6rem,6vw,6.8rem);line-height:.92;letter-spacing:-.06em;font-weight:900}.cv-lead{font-size:clamp(1.08rem,1.8vw,1.42rem);line-height:1.64;color:#575950;max-width:830px}.cv-section{padding:88px 0}.cv-section-rule{border-top:1px solid var(--line)}.cv-section h2{font-size:clamp(2.3rem,4.4vw,4.7rem);line-height:.99;letter-spacing:-.05em;margin:0 0 24px;font-weight:900}.cv-section h3{font-size:1.6rem;letter-spacing:-.035em;margin:0 0 12px}.cv-section p{line-height:1.72}.cv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.cv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cv-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cv-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}.cv-card p{color:#65675f}.cv-num{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#a0a29a;margin-bottom:34px}.cv-dark{background:var(--ink);color:#fff}.cv-dark p{color:#c7c8c2}.cv-red{background:var(--red);color:#fff}.cv-red p{color:rgba(255,255,255,.86)}.cv-soft{background:var(--paper2)}.cv-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:.74rem;font-weight:850}.cv-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.cv-quote{font-size:clamp(1.4rem,2.5vw,2.15rem);line-height:1.38;font-weight:800;border-left:4px solid var(--red);padding:24px 28px;background:#fff;border-radius:0 20px 20px 0}

/* HERO HOME */
.cv-home-hero{padding:78px 0 86px}.cv-home-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}.cv-home-slogan{font-size:clamp(4.4rem,7.5vw,8.2rem);line-height:.88;letter-spacing:-.07em;font-weight:900;margin:0}.cv-home-slogan span{color:var(--red)}.cv-home-copy .cv-lead{margin-top:30px}.cv-beta-note{display:flex;align-items:center;gap:9px;font-size:.8rem;font-weight:800;color:#66685f;margin-bottom:20px}

/* PRODUCT MOCKUP */
.cv-app-frame{border:9px solid #171814;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 35px 90px rgba(23,24,20,.18)}
.cv-app-top{height:58px;background:#171814;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:.75rem}.cv-app-top-left{display:flex;align-items:center;gap:9px}.cv-app-top-left img{width:28px;height:28px;border-radius:8px}.cv-app-body{display:grid;grid-template-columns:190px 1fr;height:500px}.cv-app-side{background:#f2f2ed;border-right:1px solid var(--line);padding:16px}.cv-app-side strong{font-size:.72rem}.cv-side-item{height:36px;margin-top:9px;border-radius:10px;background:#fff;border:1px solid #e5e5de}.cv-side-item.active{background:#171814}
.cv-map-ui{position:relative;overflow:hidden;background:#e8e7e0}.cv-map-ui:before,.cv-map-ui:after{content:"";position:absolute;inset:-80px;background:repeating-linear-gradient(28deg,transparent 0 34px,rgba(95,98,90,.18) 35px 37px,transparent 38px 71px);transform:rotate(-6deg)}.cv-map-ui:after{background:repeating-linear-gradient(106deg,transparent 0 56px,rgba(95,98,90,.13) 57px 59px,transparent 60px 106px)}
.cv-zone{position:absolute;z-index:2;border:3px solid var(--purple);background:rgba(101,84,217,.14);clip-path:polygon(12% 8%,85% 0,100% 49%,72% 100%,3% 79%)}.cv-zone-a{width:310px;height:250px;right:70px;top:60px}.cv-zone-b{width:210px;height:180px;left:60px;bottom:55px;border-color:var(--red);background:rgba(226,67,56,.14);transform:rotate(-9deg)}.cv-map-card{position:absolute;z-index:6;right:18px;bottom:18px;width:260px;background:#fff;border-radius:17px;padding:16px;box-shadow:0 12px 34px rgba(0,0,0,.16)}.cv-map-card strong{display:block;font-size:.83rem}.cv-map-card small{display:block;margin-top:5px;color:#73756d;font-size:.68rem;line-height:1.45}.cv-map-pin{position:absolute;z-index:5;width:15px;height:15px;border-radius:50%;background:#171814;border:4px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.2)}.cv-pin-a{left:45%;top:32%}.cv-pin-b{right:25%;bottom:32%}

/* FLOW */
.cv-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:34px}.cv-flow div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;min-height:140px}.cv-flow b{display:block;margin-bottom:22px}.cv-flow span{font-size:.78rem;line-height:1.45;color:#6e7068}

/* PAGES */
.cv-page-hero{padding:78px 0 68px}.cv-page-hero .cv-lead{margin-top:28px}.cv-page-section{padding:76px 0;border-top:1px solid var(--line)}.cv-page-section h2{font-size:clamp(2.2rem,4.2vw,4.5rem);line-height:1;letter-spacing:-.05em;margin:0 0 22px}.cv-page-section p{font-size:1.03rem;line-height:1.73}.cv-page-section ul{padding-left:1.2rem}.cv-page-section li{margin:.6rem 0;line-height:1.55}.cv-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}.cv-values div{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px 21px}.cv-values strong{display:block;margin-bottom:5px}.cv-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cv-feature{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px}.cv-feature small{display:block;color:var(--red);font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}.cv-feature h3{font-size:1.45rem;margin:0 0 10px}.cv-feature p{font-size:.93rem;color:#696b63}.cv-note{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 26px;margin-top:28px}.cv-cta-panel{padding:54px;border-radius:30px;background:var(--red);color:#fff;margin:56px 0 0}.cv-cta-panel h2{margin:0 0 16px;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.045em}.cv-cta-panel p{max-width:720px;color:rgba(255,255,255,.88)}.cv-cta-panel .cv-btn{background:#fff;color:var(--ink)}

/* RESOURCES */
.cv-resource-list{display:grid;gap:14px;margin-top:34px}.cv-resource{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;text-decoration:none}.cv-resource small{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--red)}.cv-resource strong{font-size:1.05rem}.cv-resource span{font-weight:900}

/* LEGAL */
.cv-legal{padding:74px 0 100px}.cv-legal h1{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.055em;margin:0 0 40px}.cv-legal h2{font-size:1.6rem;margin-top:42px}.cv-legal p,.cv-legal li{line-height:1.7;color:#5f615a}

/* 404 */
.cv-404{min-height:68vh;display:grid;place-items:center;padding:70px 0}.cv-404-inner{text-align:center}.cv-404 img{width:min(520px,90vw);border-radius:24px;margin-bottom:28px}.cv-404 h1{font-size:clamp(3rem,8vw,6rem);margin:0 0 12px;letter-spacing:-.06em}

/* Footer */
.cv-footer{margin-top:80px;background:#171814;color:#fff;padding:56px 0 24px}.cv-footer-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.cv-footer p{color:#aeb0a8;max-width:390px}.cv-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px;align-content:start}.cv-footer-links a{color:#d3d4cf;text-decoration:none;font-size:.86rem}.cv-footer-links a:hover{color:#fff}.cv-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #34352f;margin-top:42px;padding-top:22px;color:#8d8f87;font-size:.74rem}

/* Existing WP pages FAQ/contact/access stay untouched: generic content only */
.cv-generic-page{padding:70px 0 100px}.cv-generic-page .entry-content{max-width:920px}.cv-generic-page h1{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.055em}

/* Responsive */
@media(max-width:1000px){
 .cv-header-inner{grid-template-columns:auto auto;justify-content:space-between}.cv-main-nav,.cv-header-actions{display:none}.cv-menu-toggle{display:block}.cv-site-header.menu-open .cv-main-nav,.cv-site-header.menu-open .cv-header-actions{display:flex;grid-column:1/-1}.cv-site-header.menu-open .cv-main-nav{flex-direction:column;align-items:flex-start;padding:12px 0}.cv-site-header.menu-open .cv-header-actions{padding-bottom:16px}
 .cv-home-hero-grid{grid-template-columns:1fr;gap:48px}.cv-app-body{height:440px}.cv-grid-3,.cv-feature-grid{grid-template-columns:1fr 1fr}.cv-flow{grid-template-columns:1fr 1fr}.cv-quick-dock{display:none}
}
@media(max-width:700px){
 .cv-shell,.cv-narrow{width:min(calc(100% - 30px),var(--shell))}.cv-home-hero{padding-top:52px}.cv-home-slogan{font-size:clamp(3.6rem,16vw,5.6rem)}.cv-display,.cv-page-display{font-size:clamp(3.3rem,15vw,5.2rem)}
 .cv-app-body{grid-template-columns:1fr;height:390px}.cv-app-side{display:none}.cv-grid-2,.cv-grid-3,.cv-feature-grid,.cv-values,.cv-flow{grid-template-columns:1fr}.cv-section,.cv-page-section{padding:62px 0}.cv-footer-grid{grid-template-columns:1fr}.cv-footer-links{grid-template-columns:1fr 1fr}.cv-footer-bottom{flex-direction:column}
 .cv-resource{grid-template-columns:1fr;gap:7px}.cv-cta-panel{padding:32px}.cv-header-inner{min-height:70px}
}


/* =========================================================
   v4.1 — contraste, icônes et finitions
   ========================================================= */
.cv-home-hero,
.cv-page-hero,
.cv-page-section:not(.cv-dark):not(.cv-red),
.cv-section:not(.cv-dark):not(.cv-red),
.cv-generic-page,
.cv-legal{color:var(--ink)!important}

.cv-home-hero h1,.cv-home-hero h2,.cv-home-hero h3,
.cv-page-hero h1,.cv-page-hero h2,.cv-page-hero h3,
.cv-page-section:not(.cv-dark):not(.cv-red) h1,
.cv-page-section:not(.cv-dark):not(.cv-red) h2,
.cv-page-section:not(.cv-dark):not(.cv-red) h3,
.cv-section:not(.cv-dark):not(.cv-red) h1,
.cv-section:not(.cv-dark):not(.cv-red) h2,
.cv-section:not(.cv-dark):not(.cv-red) h3,
.cv-generic-page h1,.cv-generic-page h2,.cv-generic-page h3,
.cv-legal h1,.cv-legal h2,.cv-legal h3{color:var(--ink)!important}

.cv-dark,.cv-dark h1,.cv-dark h2,.cv-dark h3,
.cv-red,.cv-red h1,.cv-red h2,.cv-red h3,
.cv-cta-panel,.cv-cta-panel h1,.cv-cta-panel h2,.cv-cta-panel h3{color:#fff!important}

.cv-home-slogan{color:var(--ink)!important}
.cv-home-slogan span{color:var(--red)!important}

/* Petits pictos produit */
.cv-icon-badge{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  margin:0 0 22px;background:#f1f0ea;border:1px solid var(--line);
  color:var(--ink)
}
.cv-icon-badge svg{width:21px;height:21px;display:block;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cv-icon-badge.red{background:rgba(226,67,56,.09);color:var(--red);border-color:rgba(226,67,56,.15)}
.cv-icon-badge.purple{background:rgba(101,84,217,.09);color:var(--purple);border-color:rgba(101,84,217,.15)}
.cv-icon-badge.green{background:rgba(79,150,101,.10);color:var(--green);border-color:rgba(79,150,101,.16)}
.cv-icon-badge.yellow{background:rgba(221,179,75,.12);color:#9a741a;border-color:rgba(221,179,75,.2)}
.cv-card,.cv-feature{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.cv-card:hover,.cv-feature:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(24,25,21,.08);border-color:#d1d2ca}
.cv-card .cv-num{margin-top:-5px}


/* =========================================================
   v4.2 — composition centrée, palette produit
   ========================================================= */
html{background:var(--canvas)}
body{
  background:
    radial-gradient(circle at 12% 6%,rgba(102,86,217,.08),transparent 26rem),
    radial-gradient(circle at 88% 12%,rgba(234,67,56,.065),transparent 27rem),
    var(--canvas);
  padding:20px 0 26px;
}

/* Le site devient un objet centré, pas un plein écran */
.cv-site-header{
  width:min(calc(100% - 40px),var(--frame));
  margin:0 auto 16px;
  border:1px solid rgba(24,24,23,.07);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 35px rgba(28,28,23,.07);
  overflow:visible;
}
.cv-header-inner{min-height:74px;padding-inline:8px}
.cv-main-nav{
  justify-self:center;
  padding:6px;
  gap:3px;
  background:#f3f2ed;
  border:1px solid #e6e5df;
  border-radius:16px
}
.cv-main-nav a{
  padding:9px 13px;
  border-radius:11px;
  font-size:.82rem
}
.cv-main-nav a:hover{background:#fff;color:var(--purple)}
.cv-header-actions{gap:7px}
.cv-login{background:#f3f2ed}
.cv-cta{background:var(--purple);box-shadow:0 8px 20px rgba(102,86,217,.18)}
.cv-cta:hover{background:#5747c8}

/* cadre principal */
main#content{
  width:min(calc(100% - 40px),var(--frame));
  margin:0 auto;
  background:var(--paper);
  border:1px solid rgba(24,24,23,.07);
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.cv-shell{width:min(calc(100% - 72px),var(--shell))}
.cv-narrow{width:min(calc(100% - 72px),820px)}

/* footer assorti au cadre principal */
.cv-footer{
  width:min(calc(100% - 40px),var(--frame));
  margin:16px auto 0;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 12px 38px rgba(24,24,20,.08)
}

/* Hero plus éditorial, moins étalé */
.cv-home-hero{padding:82px 0 92px}
.cv-home-hero-grid{grid-template-columns:.88fr 1.12fr;gap:48px}
.cv-home-slogan{font-size:clamp(4rem,6.2vw,7.1rem);max-width:650px}
.cv-home-copy .cv-lead{font-size:1.08rem;max-width:610px}
.cv-page-hero{padding:82px 0 72px}
.cv-page-display{max-width:980px}
.cv-page-hero .cv-lead{max-width:780px}

/* Boutons aux couleurs du produit */
.cv-btn-dark{background:var(--purple);box-shadow:0 9px 22px rgba(102,86,217,.16)}
.cv-btn-dark:hover{background:#5747c8}
.cv-btn-red{background:var(--red)}
.cv-text-link:hover,.cv-resource:hover{color:var(--purple)}

/* Cartes plus compactes */
.cv-grid-3,.cv-feature-grid{gap:14px}
.cv-card,.cv-feature{
  border-radius:22px;
  padding:24px;
}
.cv-feature h3{font-size:1.32rem}
.cv-feature p{font-size:.9rem;line-height:1.62}
.cv-icon-badge{width:42px;height:42px;border-radius:13px;margin-bottom:19px}

/* Sections : respiration sans énormes aplats */
.cv-section{padding:78px 0}
.cv-page-section{padding:72px 0}
.cv-section h2,.cv-page-section h2{max-width:920px}
.cv-dark{
  margin:18px;
  border-radius:28px;
  background:#1a1b18;
}
.cv-red{
  margin:18px;
  border-radius:28px;
}
.cv-soft{
  margin:18px;
  border-radius:28px;
}

/* Boucle sombre lisible et colorée */
.cv-dark .cv-flow div{
  background:#242520;
  border-color:#34352f;
  color:#fff
}
.cv-dark .cv-flow span{color:#bfc1b9}
.cv-dark .cv-flow div:nth-child(1){box-shadow:inset 0 3px 0 var(--purple)}
.cv-dark .cv-flow div:nth-child(2){box-shadow:inset 0 3px 0 var(--red)}
.cv-dark .cv-flow div:nth-child(3){box-shadow:inset 0 3px 0 var(--green)}
.cv-dark .cv-flow div:nth-child(4){box-shadow:inset 0 3px 0 var(--yellow)}
.cv-dark .cv-flow div:nth-child(5){box-shadow:inset 0 3px 0 var(--purple)}

/* aperçu produit légèrement plus compact */
.cv-app-frame{border-width:7px;border-radius:26px;box-shadow:0 26px 65px rgba(23,24,20,.16)}
.cv-app-body{height:455px;grid-template-columns:170px 1fr}
.cv-app-top{height:54px}

/* carte finale */
.cv-cta-panel{
  border-radius:26px;
  background:linear-gradient(135deg,var(--purple),#5646c4);
  padding:48px;
}
.cv-cta-panel .cv-kicker{color:#fff!important}
.cv-cta-panel .cv-btn{background:#fff;color:var(--purple)}

/* Dock = petit objet produit */
.cv-quick-dock{
  right:max(14px,calc((100vw - var(--frame))/2 - 76px));
  border-radius:18px;
  box-shadow:0 14px 40px rgba(23,24,20,.13)
}
.cv-dock-primary{background:var(--purple)}
.cv-dock-primary:hover{background:#5747c8}

/* Décor discret dans le cadre */
main#content:before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg,var(--purple) 0 34%,var(--red) 34% 67%,var(--green) 67% 100%);
}

/* footer */
.cv-footer{background:#1a1b18}
.cv-footer .cv-brand-logo{box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.cv-footer-links a:hover{color:#fff}

/* mobile */
@media(max-width:1000px){
  body{padding-top:12px}
  .cv-site-header,main#content,.cv-footer{width:min(calc(100% - 24px),var(--frame))}
  .cv-shell,.cv-narrow{width:min(calc(100% - 44px),var(--shell))}
  .cv-home-hero-grid{gap:38px}
  .cv-dark,.cv-red,.cv-soft{margin:12px}
}
@media(max-width:700px){
  body{padding-top:8px}
  .cv-site-header,main#content,.cv-footer{width:calc(100% - 16px);border-radius:22px}
  .cv-site-header{margin-bottom:8px}
  .cv-shell,.cv-narrow{width:calc(100% - 30px)}
  .cv-home-hero{padding:54px 0 62px}
  .cv-page-hero{padding:56px 0 54px}
  .cv-dark,.cv-red,.cv-soft{margin:8px;border-radius:20px}
  .cv-cta-panel{padding:30px}
}

/* v4.3 : identité sombre Convaincre */
html{background:#17111e}
body{
  background:
    radial-gradient(circle at 15% 5%,rgba(115,80,154,.22),transparent 30rem),
    radial-gradient(circle at 88% 10%,rgba(95,124,245,.11),transparent 28rem),
    #17111e;
}
main#content:before{display:none!important}

/* Header */
.cv-site-header{background:rgba(29,22,36,.97)!important;border-color:rgba(255,255,255,.07)!important;box-shadow:0 14px 45px rgba(8,5,11,.25)!important}
.cv-brand,.cv-brand-word{color:#fff!important}
.cv-main-nav{background:#27202f!important;border-color:#382d43!important}
.cv-main-nav a{color:#cfc6d5!important}
.cv-main-nav a:hover{background:#352a40!important;color:#fff!important}
.cv-login{background:#2a2232!important;color:#d9d1de!important;border-color:#3a3044!important}
.cv-cta{background:var(--purple)!important;color:#fff!important;box-shadow:0 8px 22px rgba(115,80,154,.24)!important}
.cv-cta:hover{background:var(--purple2)!important}

/* Dock */
.cv-quick-dock{background:rgba(30,23,37,.96)!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 14px 42px rgba(8,5,11,.28)!important}
.cv-dock-link{color:#c7bdcd!important}
.cv-dock-link:hover{background:#33293d!important;color:#fff!important}
.cv-dock-primary{background:var(--purple)!important;color:#fff!important}
.cv-dock-primary:hover{background:var(--purple2)!important}
.cv-status-dot{background:var(--blue)!important;box-shadow:0 0 0 4px rgba(95,124,245,.15)!important}
.cv-theme-toggle{border:0;cursor:pointer;font-family:inherit;background:#21315f!important;color:#dbe4ff!important}
.cv-theme-toggle:hover{background:#2b4283!important}
.cv-theme-toggle svg{fill:none!important;stroke:#8ea6ff!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Mode sombre par défaut */
html[data-cv-theme="dark"] main#content{background:#17131b!important;color:#f6f1f8!important;border-color:rgba(255,255,255,.06)!important}
html[data-cv-theme="dark"] .cv-home-hero,
html[data-cv-theme="dark"] .cv-page-hero,
html[data-cv-theme="dark"] .cv-section:not(.cv-red),
html[data-cv-theme="dark"] .cv-page-section:not(.cv-red),
html[data-cv-theme="dark"] .cv-generic-page,
html[data-cv-theme="dark"] .cv-legal{background:#17131b!important;color:#f6f1f8!important}
html[data-cv-theme="dark"] .cv-section-rule,
html[data-cv-theme="dark"] .cv-page-section{border-color:#322a38!important}
html[data-cv-theme="dark"] .cv-home-slogan,
html[data-cv-theme="dark"] .cv-page-display,
html[data-cv-theme="dark"] .cv-section h1,
html[data-cv-theme="dark"] .cv-section h2,
html[data-cv-theme="dark"] .cv-section h3,
html[data-cv-theme="dark"] .cv-page-section h1,
html[data-cv-theme="dark"] .cv-page-section h2,
html[data-cv-theme="dark"] .cv-page-section h3,
html[data-cv-theme="dark"] .cv-generic-page h1,
html[data-cv-theme="dark"] .cv-generic-page h2,
html[data-cv-theme="dark"] .cv-generic-page h3,
html[data-cv-theme="dark"] .cv-legal h1,
html[data-cv-theme="dark"] .cv-legal h2{color:#f7f2f9!important}
html[data-cv-theme="dark"] .cv-home-slogan span{color:#a479c8!important}
html[data-cv-theme="dark"] .cv-lead,
html[data-cv-theme="dark"] .cv-section p,
html[data-cv-theme="dark"] .cv-page-section p,
html[data-cv-theme="dark"] .cv-legal p,
html[data-cv-theme="dark"] .cv-legal li{color:#c2b8c7!important}
html[data-cv-theme="dark"] .cv-kicker,
html[data-cv-theme="dark"] .cv-feature small{color:#9f76c4!important}

/* Cartes sombres */
html[data-cv-theme="dark"] .cv-card,
html[data-cv-theme="dark"] .cv-feature,
html[data-cv-theme="dark"] .cv-values div,
html[data-cv-theme="dark"] .cv-note,
html[data-cv-theme="dark"] .cv-flow div,
html[data-cv-theme="dark"] .cv-resource{background:#231c29!important;border-color:#372c40!important;color:#f6f1f8!important}
html[data-cv-theme="dark"] .cv-card p,
html[data-cv-theme="dark"] .cv-feature p,
html[data-cv-theme="dark"] .cv-resource small,
html[data-cv-theme="dark"] .cv-flow span{color:#b8aebd!important}
html[data-cv-theme="dark"] .cv-card:hover,
html[data-cv-theme="dark"] .cv-feature:hover,
html[data-cv-theme="dark"] .cv-resource:hover{background:#292031!important;border-color:#493957!important;box-shadow:0 18px 44px rgba(5,3,7,.22)!important}

/* Pictos violets / bleus */
.cv-icon-badge,
.cv-icon-badge.red,
.cv-icon-badge.purple,
.cv-icon-badge.green,
.cv-icon-badge.yellow{background:rgba(115,80,154,.12)!important;color:#8963ad!important;border-color:rgba(115,80,154,.22)!important}
.cv-feature:nth-child(2n) .cv-icon-badge,
.cv-card:nth-child(2n) .cv-icon-badge{background:rgba(95,124,245,.11)!important;color:#7089f5!important;border-color:rgba(95,124,245,.20)!important}

/* Soft / dark */
html[data-cv-theme="dark"] .cv-soft{background:#1d1723!important;color:#fff!important}
html[data-cv-theme="dark"] .cv-dark{background:#120e16!important}
html[data-cv-theme="dark"] .cv-dark .cv-flow div{background:#241c2b!important;border-color:#3b2e46!important}
html[data-cv-theme="dark"] .cv-dark .cv-flow div{box-shadow:inset 0 3px 0 #73509a!important}

/* Aperçu application */
.cv-app-frame{border-color:#120e16!important}
.cv-app-top{background:#18121f!important}
.cv-app-side{background:#241d2c!important;border-color:#382d43!important;color:#fff!important}
.cv-side-item{background:#30263a!important;border-color:#40334c!important}
.cv-side-item.active{background:#6a488d!important}

/* CTA final rouge */
.cv-cta-panel{background:var(--red)!important;color:#fff!important;box-shadow:0 20px 52px rgba(233,77,71,.17)!important}
.cv-cta-panel h1,.cv-cta-panel h2,.cv-cta-panel h3,.cv-cta-panel p,.cv-cta-panel .cv-kicker{color:#fff!important}
.cv-cta-panel .cv-btn{background:#fff!important;color:#241d2c!important}

/* Footer */
.cv-footer{background:#120e16!important;color:#fff!important}
.cv-footer p,.cv-footer-bottom{color:#918796!important}
.cv-footer-links a{color:#c7becd!important}
.cv-footer-links a:hover{color:#fff!important}




/* =========================================================
   v4.4 — DARK MODE : CONTRASTE GLOBAL
   Placé en dernier pour écraser les styles clairs résiduels.
   ========================================================= */

/* Fonds structurants */
html[data-cv-theme="dark"] main#content{
  background:#17131b!important;
  color:#f7f2f9!important;
}
html[data-cv-theme="dark"] .cv-home-hero,
html[data-cv-theme="dark"] .cv-page-hero,
html[data-cv-theme="dark"] .cv-section:not(.cv-red),
html[data-cv-theme="dark"] .cv-page-section:not(.cv-red),
html[data-cv-theme="dark"] .cv-generic-page,
html[data-cv-theme="dark"] .cv-legal{
  color:#f7f2f9!important;
}

/* TOUS les titres des pages et de la home */
html[data-cv-theme="dark"] main#content h1,
html[data-cv-theme="dark"] main#content h2,
html[data-cv-theme="dark"] main#content h3,
html[data-cv-theme="dark"] main#content h4,
html[data-cv-theme="dark"] main#content h5,
html[data-cv-theme="dark"] main#content h6,
html[data-cv-theme="dark"] .cv-page-display,
html[data-cv-theme="dark"] .cv-home-slogan{
  color:#fbf8fc!important;
}

/* Corps de texte */
html[data-cv-theme="dark"] main#content p,
html[data-cv-theme="dark"] main#content li{
  color:#c8bfcd!important;
}
html[data-cv-theme="dark"] .cv-lead{
  color:#c7bdcc!important;
}

/* Labels */
html[data-cv-theme="dark"] .cv-kicker,
html[data-cv-theme="dark"] .cv-feature small{
  color:#aa7fd0!important;
}
html[data-cv-theme="dark"] .cv-num{
  color:#aaa0b0!important;
}
html[data-cv-theme="dark"] .cv-home-slogan span{
  color:#a77dca!important;
}

/* Cartes et blocs */
html[data-cv-theme="dark"] .cv-card,
html[data-cv-theme="dark"] .cv-feature,
html[data-cv-theme="dark"] .cv-values div,
html[data-cv-theme="dark"] .cv-note,
html[data-cv-theme="dark"] .cv-resource,
html[data-cv-theme="dark"] .cv-flow div{
  background:#241d2b!important;
  border-color:#3a3044!important;
  color:#f7f2f9!important;
}
html[data-cv-theme="dark"] .cv-card h1,
html[data-cv-theme="dark"] .cv-card h2,
html[data-cv-theme="dark"] .cv-card h3,
html[data-cv-theme="dark"] .cv-card h4,
html[data-cv-theme="dark"] .cv-feature h1,
html[data-cv-theme="dark"] .cv-feature h2,
html[data-cv-theme="dark"] .cv-feature h3,
html[data-cv-theme="dark"] .cv-feature h4,
html[data-cv-theme="dark"] .cv-values h1,
html[data-cv-theme="dark"] .cv-values h2,
html[data-cv-theme="dark"] .cv-values h3,
html[data-cv-theme="dark"] .cv-resource strong,
html[data-cv-theme="dark"] .cv-flow b{
  color:#fcf9fd!important;
}
html[data-cv-theme="dark"] .cv-card p,
html[data-cv-theme="dark"] .cv-feature p,
html[data-cv-theme="dark"] .cv-values p,
html[data-cv-theme="dark"] .cv-resource span,
html[data-cv-theme="dark"] .cv-flow span{
  color:#c7bdcc!important;
}

/* Citations / notes */
html[data-cv-theme="dark"] .cv-quote{
  color:#f8f4fa!important;
  background:#241d2b!important;
  border-left-color:#8c62b6!important;
}
html[data-cv-theme="dark"] .cv-note strong{
  color:#fff!important;
}

/* Boutons : explicites, pas d'héritage ambigu */
html[data-cv-theme="dark"] .cv-btn-dark,
html[data-cv-theme="dark"] .cv-cta{
  background:#7650a0!important;
  color:#fff!important;
  border-color:#7650a0!important;
}
html[data-cv-theme="dark"] .cv-btn-dark:hover,
html[data-cv-theme="dark"] .cv-cta:hover{
  background:#8d63b7!important;
}
html[data-cv-theme="dark"] .cv-btn-light{
  background:#fff!important;
  color:#211728!important;
  border-color:#fff!important;
}
html[data-cv-theme="dark"] .cv-btn-light:hover{
  background:#eee9f1!important;
  color:#211728!important;
}
html[data-cv-theme="dark"] .cv-login{
  background:#2a2232!important;
  color:#e8e1eb!important;
  border-color:#3a3044!important;
}

/* Liens dans le contenu */
html[data-cv-theme="dark"] main#content a:not(.cv-btn):not(.wp-block-button__link){
  color:#b28ad4;
}
html[data-cv-theme="dark"] main#content a:not(.cv-btn):not(.wp-block-button__link):hover{
  color:#c7a5e3;
}

/* Bloc final rouge : TOUJOURS BLANC en sombre */
html[data-cv-theme="dark"] .cv-cta-panel,
html[data-cv-theme="dark"] .cv-cta-panel *{
  color:#fff!important;
}
html[data-cv-theme="dark"] .cv-cta-panel{
  background:#ef4e48!important;
}
html[data-cv-theme="dark"] .cv-cta-panel .cv-btn{
  background:#fff!important;
  color:#211728!important;
  border-color:#fff!important;
}

/* Pages WordPress génériques : FAQ / contact / accès restent lisibles sans toucher à leur contenu */
html[data-cv-theme="dark"] .cv-generic-page .entry-content,
html[data-cv-theme="dark"] .cv-generic-page .entry-content p,
html[data-cv-theme="dark"] .cv-generic-page .entry-content li,
html[data-cv-theme="dark"] .cv-generic-page .entry-content label{
  color:#d0c7d4!important;
}
html[data-cv-theme="dark"] .cv-generic-page .entry-content h1,
html[data-cv-theme="dark"] .cv-generic-page .entry-content h2,
html[data-cv-theme="dark"] .cv-generic-page .entry-content h3,
html[data-cv-theme="dark"] .cv-generic-page .entry-content h4{
  color:#fff!important;
}
html[data-cv-theme="dark"] .cv-generic-page input:not([type="submit"]):not([type="button"]),
html[data-cv-theme="dark"] .cv-generic-page select,
html[data-cv-theme="dark"] .cv-generic-page textarea{
  background:#241d2b!important;
  color:#fff!important;
  border-color:#44364f!important;
}
html[data-cv-theme="dark"] .cv-generic-page input::placeholder,
html[data-cv-theme="dark"] .cv-generic-page textarea::placeholder{
  color:#918698!important;
}

/* Séparateurs */
html[data-cv-theme="dark"] .cv-section-rule,
html[data-cv-theme="dark"] .cv-page-section{
  border-color:#342b3b!important;
}

/* Le mode clair conserve les titres noirs */
html[data-cv-theme="light"] main#content h1,
html[data-cv-theme="light"] main#content h2,
html[data-cv-theme="light"] main#content h3,
html[data-cv-theme="light"] main#content h4{
  color:#18121f!important;
}


/* =========================================================
   v4.5 — DARK MODE POUR PAGES PLUGINS
   FAQ / Contact / Demander un accès
   Aucun contenu ni comportement de plugin n'est modifié.
   ========================================================= */

/* Le conteneur générique devient réellement sombre */
html[data-cv-theme="dark"] .cv-generic-page{
  background:#17131b!important;
  color:#f7f2f9!important;
}
html[data-cv-theme="dark"] .cv-generic-page .entry-content{
  color:#d2c8d6!important;
}

/* Blocs/panneaux générés par les plugins */
html[data-cv-theme="dark"] .cv-generic-page .entry-content > div,
html[data-cv-theme="dark"] .cv-generic-page .entry-content > section,
html[data-cv-theme="dark"] .cv-generic-page .entry-content form,
html[data-cv-theme="dark"] .cv-generic-page .entry-content fieldset,
html[data-cv-theme="dark"] .cv-generic-page .entry-content .wp-block-group,
html[data-cv-theme="dark"] .cv-generic-page .entry-content .wp-block-columns{
  color:#f7f2f9;
}

/* Classes courantes des plugins : cartes, panneaux, formulaires, FAQ */
html[data-cv-theme="dark"] .cv-generic-page [class*="card"],
html[data-cv-theme="dark"] .cv-generic-page [class*="panel"],
html[data-cv-theme="dark"] .cv-generic-page [class*="box"],
html[data-cv-theme="dark"] .cv-generic-page [class*="form-section"],
html[data-cv-theme="dark"] .cv-generic-page [class*="fieldset"],
html[data-cv-theme="dark"] .cv-generic-page [class*="faq-item"],
html[data-cv-theme="dark"] .cv-generic-page [class*="accordion"],
html[data-cv-theme="dark"] .cv-generic-page [class*="choice"],
html[data-cv-theme="dark"] .cv-generic-page [class*="option"]{
  background:#241d2b!important;
  color:#f7f2f9!important;
  border-color:#3b3045!important;
}

/* Les gros panneaux blancs des plugins */
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background: #fff"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background:#fff"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background: white"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background:white"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background-color: #fff"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background-color:#fff"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background-color: white"],
html[data-cv-theme="dark"] .cv-generic-page .entry-content [style*="background-color:white"]{
  background:#241d2b!important;
  color:#f7f2f9!important;
}

/* Titres / labels / descriptions */
html[data-cv-theme="dark"] .cv-generic-page h1,
html[data-cv-theme="dark"] .cv-generic-page h2,
html[data-cv-theme="dark"] .cv-generic-page h3,
html[data-cv-theme="dark"] .cv-generic-page h4,
html[data-cv-theme="dark"] .cv-generic-page h5,
html[data-cv-theme="dark"] .cv-generic-page legend,
html[data-cv-theme="dark"] .cv-generic-page label,
html[data-cv-theme="dark"] .cv-generic-page strong,
html[data-cv-theme="dark"] .cv-generic-page b{
  color:#fbf8fc!important;
}
html[data-cv-theme="dark"] .cv-generic-page p,
html[data-cv-theme="dark"] .cv-generic-page li,
html[data-cv-theme="dark"] .cv-generic-page small,
html[data-cv-theme="dark"] .cv-generic-page [class*="description"],
html[data-cv-theme="dark"] .cv-generic-page [class*="help"],
html[data-cv-theme="dark"] .cv-generic-page [class*="subtitle"]{
  color:#c9bfce!important;
}

/* Champs */
html[data-cv-theme="dark"] .cv-generic-page input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
html[data-cv-theme="dark"] .cv-generic-page select,
html[data-cv-theme="dark"] .cv-generic-page textarea{
  background:#1d1723!important;
  color:#f9f5fa!important;
  border:1px solid #493a56!important;
  box-shadow:none!important;
}
html[data-cv-theme="dark"] .cv-generic-page input::placeholder,
html[data-cv-theme="dark"] .cv-generic-page textarea::placeholder{
  color:#8f8396!important;
}
html[data-cv-theme="dark"] .cv-generic-page input:focus,
html[data-cv-theme="dark"] .cv-generic-page select:focus,
html[data-cv-theme="dark"] .cv-generic-page textarea:focus{
  outline:2px solid rgba(95,124,245,.35)!important;
  border-color:#6e84e8!important;
}

/* Radios / checkboxes */
html[data-cv-theme="dark"] .cv-generic-page input[type="radio"],
html[data-cv-theme="dark"] .cv-generic-page input[type="checkbox"]{
  accent-color:#7650a0!important;
}

/* Boutons plugins */
html[data-cv-theme="dark"] .cv-generic-page button,
html[data-cv-theme="dark"] .cv-generic-page input[type="submit"],
html[data-cv-theme="dark"] .cv-generic-page input[type="button"],
html[data-cv-theme="dark"] .cv-generic-page [role="button"]{
  border-color:#4a3b56;
}
html[data-cv-theme="dark"] .cv-generic-page button:not([class*="secondary"]):not([class*="outline"]),
html[data-cv-theme="dark"] .cv-generic-page input[type="submit"]{
  background:#7650a0;
  color:#fff;
}

/* FAQ : barre de recherche et cartes */
html[data-cv-theme="dark"] .cv-generic-page [class*="search"] input{
  background:#241d2b!important;
  color:#fff!important;
  border-color:#4a3a57!important;
}
html[data-cv-theme="dark"] .cv-generic-page [class*="faq"] [class*="question"],
html[data-cv-theme="dark"] .cv-generic-page [class*="faq"] [class*="answer"]{
  color:#f7f2f9!important;
}
html[data-cv-theme="dark"] .cv-generic-page [class*="faq"] [class*="category"],
html[data-cv-theme="dark"] .cv-generic-page [class*="tab"],
html[data-cv-theme="dark"] .cv-generic-page [class*="filter"]{
  color:#b7aabd!important;
  border-color:#4a3a57!important;
}
html[data-cv-theme="dark"] .cv-generic-page [class*="active"],
html[data-cv-theme="dark"] .cv-generic-page [aria-selected="true"]{
  color:#fff!important;
}

/* Contact / accès : panneaux blancs des choix */
html[data-cv-theme="dark"] .cv-generic-page [class*="contact"] [class*="item"],
html[data-cv-theme="dark"] .cv-generic-page [class*="access"] [class*="item"],
html[data-cv-theme="dark"] .cv-generic-page [class*="request"] [class*="item"]{
  background:#241d2b!important;
  border-color:#3c3046!important;
  color:#f7f2f9!important;
}

/* Exceptions utiles : alertes d'indisponibilité restent visibles */
html[data-cv-theme="dark"] .cv-generic-page [class*="warning"],
html[data-cv-theme="dark"] .cv-generic-page [class*="unavailable"],
html[data-cv-theme="dark"] .cv-generic-page [class*="disabled"]{
  color:#d8b56a!important;
}

/* Aucun bloc blanc agressif dans les trois pages plugins */
html[data-cv-theme="dark"] .cv-generic-page .entry-content{
  --plugin-surface:#241d2b;
  --plugin-surface-2:#1d1723;
  --plugin-text:#f7f2f9;
  --plugin-muted:#c9bfce;
  --plugin-border:#3b3045;
  --plugin-accent:#7650a0;
  --plugin-blue:#5f7cf5;
}

/* Mode clair : on laisse les plugins reprendre leur apparence native */
html[data-cv-theme="light"] .cv-generic-page{
  background:#f7f4f7!important;
  color:#18121f!important;
}

/* Header : regrouper navigation et actions à droite */
@media (min-width: 1000px) {

  .cv-main-nav {
    margin-left: auto !important;
    margin-right: 18px !important;
  }

  .cv-header-actions {
    margin-left: 0 !important;
  }

}

/* Discord dans le menu */
.cv-nav-discord {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.cv-nav-discord svg {
  display: block;
  flex: 0 0 auto;
  fill: currentColor;
}


/* =========================================================
   v4.6 — Parcours d'accès transparents (sans changer la DA)
   ========================================================= */
.cv-access-section { scroll-margin-top: 20px; }
.cv-access-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px; }
.cv-access-heading h2 { max-width:850px;margin-bottom:18px; }
.cv-access-intro { max-width:830px;font-size:1rem;line-height:1.65; }
.cv-access-existing { display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;text-decoration:none;font-size:.88rem;font-weight:800;padding:10px 0; }
.cv-access-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch; }
.cv-access-card { min-width:0;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px; }
.cv-access-card-top { display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:35px; }
.cv-access-number { font-size:.8rem;letter-spacing:.08em;font-weight:900;color:var(--purple); }
.cv-access-status { font-size:.67rem;line-height:1.25;text-align:right;font-weight:800;padding:7px 9px;border:1px solid rgba(115,80,154,.17);border-radius:30px;background:rgba(115,80,154,.08);color:var(--purple); }
.cv-access-card.is-unavailable .cv-access-status { color:#6f6973;background:rgba(112,105,115,.10);border-color:rgba(112,105,115,.2); }
.cv-access-card h3 { font-size:1.45rem;line-height:1.17;letter-spacing:-.035em;margin:0; }
.cv-access-card > p { font-size:.89rem;line-height:1.6;margin:0; }
.cv-access-card .cv-access-hint { margin:0 0 16px;font-size:.79rem;line-height:1.5;color:var(--muted); }
.cv-access-action { margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;background:var(--purple);color:white!important;border-radius:12px;text-decoration:none;font-size:.84rem;font-weight:900;line-height:1.4; }
.cv-access-action:hover { background:var(--purple2);color:white!important; }
.cv-access-action-disabled { background:transparent;color:#6f6973!important;border:1px dashed #b8b1ba;font-weight:700; }
.cv-access-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;padding:18px 20px;border-radius:16px;background:rgba(115,80,154,.07);font-size:.86rem;line-height:1.45; }
.cv-access-steps strong { font-weight:900;color:var(--purple);margin-right:6px; }
html[data-cv-theme="dark"] .cv-access-card { background:#231c29;color:#f6f1f8;border-color:#372c40; }
html[data-cv-theme="dark"] .cv-access-card > p { color:#c2b8c7; }
html[data-cv-theme="dark"] .cv-access-card .cv-access-hint { color:#aaa0b0; }
html[data-cv-theme="dark"] .cv-access-status { background:rgba(164,121,200,.13);color:#d7b6f1;border-color:rgba(164,121,200,.25); }
html[data-cv-theme="dark"] .cv-access-card.is-unavailable .cv-access-status { color:#b7abbc;background:#332b37;border-color:#4e4353; }
html[data-cv-theme="dark"] .cv-access-steps { background:#211a28;color:#c7bdd0; }
html[data-cv-theme="dark"] .cv-access-steps strong,html[data-cv-theme="dark"] .cv-access-number { color:#b793d7; }
html[data-cv-theme="dark"] main#content .cv-access-card a.cv-access-action:not(.cv-btn) { color:#fff!important;background:#73509a; }
html[data-cv-theme="dark"] main#content .cv-access-card a.cv-access-action:not(.cv-btn):hover { background:#9369bc; }
html[data-cv-theme="dark"] .cv-access-card .cv-access-action-disabled { color:#b7abbc!important;background:transparent!important;border-color:#4e4353; }
html[data-cv-theme="light"] .cv-access-card { background:#fff;color:#18121f;border-color:#ded7e2; }
html[data-cv-theme="light"] .cv-access-card .cv-access-action-disabled { background:transparent!important;color:#6f6973!important; }
@media (max-width:1100px) {
 .cv-access-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .cv-access-heading {align-items:flex-start;flex-direction:column;gap:0;}
}
@media (max-width:650px) {
 .cv-access-grid {grid-template-columns:1fr;}
 .cv-access-card {padding:22px;}
 .cv-access-steps {grid-template-columns:1fr;gap:9px;}
}

/* v4.7 — navigation des trois services et représentation non fictive du produit. */
.cv-skip-link{position:absolute;left:16px;top:-120px;z-index:9999;background:#fff;color:#17111e;padding:12px 18px;border:2px solid #73509a;border-radius:12px;text-decoration:none;font-weight:900}
.cv-skip-link:focus{top:12px}
.cv-nav-academy{white-space:nowrap;color:var(--purple2)!important}
.cv-nav-academy:hover{text-decoration:underline;text-underline-offset:5px}
.cv-status-neutral{width:11px;height:11px;border-radius:50%;display:block;border:2px solid currentColor;opacity:.7}
.cv-method-visual{color:#f5eef8;background:radial-gradient(circle at 80% 0%,rgba(115,80,154,.28),transparent 55%),#1d1526;border:1px solid #45334f;border-radius:26px;padding:28px;box-shadow:0 26px 55px rgba(15,9,20,.18)}
.cv-method-visual-top{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:900;color:#d5b8ed}
.cv-method-spark{background:var(--red);height:10px;width:10px;display:inline-block;border-radius:50%;flex:none}
.cv-method-list{display:grid;gap:12px;list-style:none;margin:26px 0 16px;padding:0;counter-reset:none}
.cv-method-list li{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;background:#291e33;border:1px solid #43324f;border-radius:16px;padding:16px;margin:0}
.cv-method-count{font-weight:900;font-size:1rem;color:#c8a1e7}
.cv-method-list strong{font-size:1.02rem;line-height:1.35;color:#fff;display:block}
.cv-method-list p{color:#cbbfd1;font-size:.86rem;line-height:1.55;margin:6px 0 0}
.cv-method-foot{font-size:.72rem;color:#afa0ba;line-height:1.45}
.cv-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:27px}
.cv-service-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;min-width:0}
.cv-service-featured{background:#eee7f5;border-color:#d9c8e8}
.cv-service-eyebrow{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:#73509a}
.cv-service-card h3{font-size:1.38rem;line-height:1.24;margin:0}
.cv-service-card p{font-size:.9rem;line-height:1.6;margin:0 0 16px;color:#655a6d}
.cv-service-action{font-weight:900;color:var(--purple);font-size:.88rem;text-decoration:underline;text-underline-offset:4px;margin-top:auto}
.cv-service-action:hover{color:var(--red)}
.cv-resource-feature{background:#eee7f5;border:1px solid #d9c8e8;border-radius:24px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cv-resource-feature h2{margin:0 0 12px!important;font-size:clamp(1.45rem,2.8vw,2.4rem)!important}
.cv-resource-feature p:not(.cv-kicker){margin:0;max-width:660px;font-size:.92rem;line-height:1.6}
.cv-resource-feature .cv-btn{flex-shrink:0}
html[data-cv-theme="dark"] .cv-service-card{background:#231c2b;border-color:#403347}
html[data-cv-theme="dark"] .cv-service-featured,html[data-cv-theme="dark"] .cv-resource-feature{background:#30233d;border-color:#58406c}
html[data-cv-theme="dark"] .cv-service-card h3,html[data-cv-theme="dark"] .cv-resource-feature h2{color:#fff!important}
html[data-cv-theme="dark"] .cv-service-card p,html[data-cv-theme="dark"] .cv-resource-feature p:not(.cv-kicker){color:#c4b8ca!important}
html[data-cv-theme="dark"] .cv-service-eyebrow,html[data-cv-theme="dark"] .cv-service-action{color:#c8a1e7}
html[data-cv-theme="dark"] .cv-nav-academy{color:#d5b8ed!important}
@media(max-width:950px){.cv-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-service-featured{grid-column:1/-1}.cv-main-nav{gap:14px}}
@media(max-width:700px){.cv-services-grid{grid-template-columns:1fr}.cv-service-featured{grid-column:auto}.cv-method-visual{padding:17px}.cv-method-list li{padding:14px}.cv-resource-feature{flex-direction:column;align-items:stretch}.cv-resource-feature .cv-btn{width:100%}}

/* v4.8 — Header lisible et sans retours sur deux lignes ; accès aux ressources par footer/SEO. */
@media (min-width:1101px) {
  .cv-site-header .cv-header-inner {
    width:calc(100% - 32px);
    max-width:none;
    min-height:76px;
    margin-inline:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:clamp(8px,1.5vw,22px);
    padding-inline:0;
  }
  .cv-header-inner .cv-brand {flex:0 0 auto;min-width:0;}
  .cv-header-inner .cv-main-nav {
    display:flex;
    flex:0 1 auto;
    align-items:center;
    justify-content:center;
    min-width:0;
    gap:2px!important;
    margin:0 0 0 auto!important;
    padding:4px;
    white-space:nowrap;
    flex-wrap:nowrap;
  }
  .cv-header-inner .cv-main-nav a {
    display:inline-flex;
    gap:5px;
    align-items:center;
    flex:0 0 auto;
    padding:11px clamp(7px,.9vw,12px);
    white-space:nowrap;
    line-height:1.15;
    font-size:clamp(.73rem,.88vw,.83rem);
  }
  .cv-header-inner .cv-header-actions {display:flex;flex:0 0 auto;gap:7px;margin:0!important;}
  .cv-header-inner .cv-header-actions a {white-space:nowrap;padding-inline:clamp(10px,1.25vw,18px)}
}
@media (max-width:1100px){
  .cv-site-header .cv-header-inner {display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;align-items:center;}
  .cv-header-inner .cv-main-nav,.cv-header-inner .cv-header-actions{display:none!important;}
  .cv-header-inner .cv-menu-toggle{display:block;margin:0;grid-column:2;grid-row:1;}
  .cv-site-header.menu-open .cv-main-nav{
    display:flex!important;grid-column:1/-1;grid-row:auto;flex-direction:column;
    align-items:stretch;gap:4px!important;padding:8px;background:transparent!important;
    border:0!important;width:100%;margin:0!important;
  }
  .cv-site-header.menu-open .cv-main-nav a{white-space:nowrap;width:100%;padding:13px 15px;font-size:.96rem;}
  .cv-site-header.menu-open .cv-header-actions{display:flex!important;grid-column:1/-1;grid-row:auto;
    flex-direction:row;flex-wrap:wrap;width:100%;padding:4px 0 17px;justify-content:flex-start;}
}
@media (max-width:420px){.cv-site-header.menu-open .cv-header-actions{flex-direction:column;align-items:stretch}.cv-site-header.menu-open .cv-header-actions a{width:100%}}
/* v4.8 — Des captures déjà validées dans la Boîte à outils alimentent la vitrine. */
.cv-product-media {margin:24px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cv-product-media-card{margin:0;min-width:0;background:#21182b;border-radius:15px;border:1px solid #493852;overflow:hidden;position:relative}
.cv-product-media-card:first-child{grid-column:1/-1}
.cv-product-media-card a{display:block;text-decoration:none;color:#f9f5fc}
.cv-product-media-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;background:#21182b;transition:transform .25s ease}
.cv-product-media-card a:hover img{transform:scale(1.025)}
.cv-product-media-card figcaption{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.76rem;font-weight:850;line-height:1.35;background:#241a2c}
.cv-product-media-card figcaption span:last-child{color:#d5a8ed}
.cv-product-media-card a:focus-visible{outline:3px solid #cba4e3;outline-offset:-3px}
.cv-product-media-caption{color:var(--muted);font-size:.73rem;line-height:1.5;margin:12px 0 0}
.cv-product-hero-media{padding:14px;border-radius:24px;background:#1b1323;border:1px solid #42314b;box-shadow:0 22px 45px rgba(15,9,20,.16)}
.cv-product-hero-media .cv-product-media{margin:0}
.cv-product-hero-media .cv-product-media-card img{aspect-ratio:16/8.5}
.cv-product-hero-media .cv-product-media-card:first-child img{aspect-ratio:16/8.3}
.cv-product-hero-media .cv-product-media-caption{color:#c6b3d0}
.cv-platform-media-section{margin-top:30px}
.cv-platform-media-section .cv-product-media{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.cv-platform-media-section .cv-product-media-card:first-child{grid-column:auto}
.cv-platform-media-section .cv-product-media-card img{aspect-ratio:16/10}
@media(max-width:700px){.cv-platform-media-section .cv-product-media{grid-template-columns:1fr}.cv-product-media-card img{aspect-ratio:16/9}.cv-product-hero-media{padding:9px}}
@media(prefers-reduced-motion:reduce){.cv-product-media-card img{transition:none}}

/* v4.8.1 — État public vivant : vert, orange, rouge ou indéterminé. */
.cv-dock-status .cv-status-indicator{
  display:block;width:13px;height:13px;border:2px solid #91879a;border-radius:50%;
  background:transparent;opacity:.95;flex:none;transition:background-color .2s,border-color .2s,box-shadow .2s;
}
.cv-dock-status[data-status="operational"] .cv-status-indicator{
  background:#39d981;border-color:#39d981;box-shadow:0 0 0 3px rgba(57,217,129,.17);
  animation:cv-status-breathe-green 2.4s ease-in-out infinite;
}
.cv-dock-status[data-status="degraded"] .cv-status-indicator{
  background:#ffb33d;border-color:#ffb33d;box-shadow:0 0 0 3px rgba(255,179,61,.18);
  animation:cv-status-breathe-orange 1.7s ease-in-out infinite;
}
.cv-dock-status[data-status="outage"] .cv-status-indicator{
  background:#ff5571;border-color:#ff5571;box-shadow:0 0 0 3px rgba(255,85,113,.18);
  animation:cv-status-breathe-red 1.15s ease-in-out infinite;
}
@keyframes cv-status-breathe-green{
  0%,100%{box-shadow:0 0 0 3px rgba(57,217,129,.13)}
  50%{box-shadow:0 0 0 7px rgba(57,217,129,.37)}
}
@keyframes cv-status-breathe-orange{
  0%,100%{box-shadow:0 0 0 3px rgba(255,179,61,.12)}
  50%{box-shadow:0 0 0 7px rgba(255,179,61,.44)}
}
@keyframes cv-status-breathe-red{
  0%,100%{box-shadow:0 0 0 3px rgba(255,85,113,.13)}
  50%{box-shadow:0 0 0 7px rgba(255,85,113,.53)}
}
.cv-dock-academy svg{fill:#c79de7!important;width:23px;height:23px}
.cv-dock-academy:hover svg{fill:#e3befa!important}
.cv-dock-status:focus-visible,.cv-dock-academy:focus-visible{
  outline:2px solid #cba4e3;outline-offset:2px
}
@media (prefers-reduced-motion:reduce){
  .cv-dock-status .cv-status-indicator{animation:none!important}
}

/* =========================================================
   v4.9 — Accueil éditorial recentré sur les preuves produit.
   ========================================================= */
.cv-home-hero{padding:66px 0 54px}
.cv-home-hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:34px;align-items:center}
.cv-home-copy .cv-lead{line-height:1.66}
.cv-home-visual{min-width:0}
.cv-showcase{background:#1d1525;color:#fff;border:1px solid #48334f;border-radius:24px;padding:12px;overflow:hidden;box-shadow:0 25px 60px rgba(11,7,16,.22)}
.cv-showcase-top{display:flex;gap:8px;align-items:center;padding:7px 10px 14px;text-transform:uppercase;letter-spacing:.09em;color:#d8c3e6;font-size:.63rem;font-weight:850}
.cv-showcase-live{width:8px;height:8px;border-radius:50%;background:#ea514c;flex:none}
.cv-showcase-right{margin-left:auto;text-transform:none;font-weight:600;color:#aa9aaf;letter-spacing:0;font-size:.64rem;text-align:right}
.cv-showcase-stage{background:#15101c;border-radius:15px;overflow:hidden}
.cv-showcase-panel[hidden]{display:none!important}
.cv-showcase-image-link{display:block;background:#1b1422;overflow:hidden}
.cv-showcase-image-link img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;object-position:center;background:#15101c}
.cv-showcase-image-link:focus-visible,.cv-showcase-option:focus-visible{outline:3px solid #d4acee;outline-offset:-3px}
.cv-showcase-caption{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:11px 14px 13px;background:#281e31}
.cv-showcase-caption strong{font-size:.87rem;line-height:1.3;color:#fff}
.cv-showcase-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:#ccacdf;font-weight:900}
.cv-showcase-caption>a{margin-left:auto;text-decoration:none;color:#e1b6fd;font-size:.75rem;font-weight:850}
.cv-showcase-caption>a:hover{text-decoration:underline}
.cv-showcase-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.cv-showcase-option{display:flex;align-items:center;text-align:left;gap:8px;min-width:0;min-height:48px;border-radius:11px;padding:8px 10px;background:#2a2032;border:1px solid #45334d;color:#dccfe0;font:800 .69rem/1.32 'Nunito Sans',sans-serif;cursor:pointer}
.cv-showcase-option[aria-pressed="true"]{background:#76519b;border-color:#a87aca;color:#fff}
.cv-showcase-option:hover{border-color:#b183d0}
.cv-showcase-option-index{font-size:.64rem;color:#dec6f3;opacity:.8}
.cv-home-index{padding:0}
.cv-home-index-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-block:20px}
.cv-home-index-links a{display:flex;gap:10px;align-items:center;min-width:0;padding:13px 15px;background:rgba(121,82,154,.065);border:1px solid var(--line);border-radius:14px;text-decoration:none;font-size:.78rem}
.cv-home-index-links a strong{flex:1;line-height:1.4}
.cv-home-index-links a>span:first-child{font-weight:900;color:var(--purple);font-size:.71rem}
.cv-home-index-links a>span:last-child{color:var(--purple);font-weight:900}
.cv-home-index-links a:hover{border-color:var(--purple)}
.cv-method-link{margin:26px 0 0}
.cv-method-link a{color:#d8b5f5;font-weight:800;text-decoration:underline;text-underline-offset:4px;font-size:.95rem}
.cv-home-more-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.cv-home-more-heading h2{margin-bottom:0}
.cv-home-inline-link{flex:none;font-size:.86rem;font-weight:850;text-decoration:underline;text-underline-offset:4px;color:var(--purple)}
.cv-home-more-media .cv-product-media{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cv-home-more-media .cv-product-media-card:first-child{grid-column:auto}
.cv-home-more-media .cv-product-media-card img{aspect-ratio:16/11}
.cv-home-more-media .cv-product-media-caption{margin-top:12px}
.cv-access-section{scroll-margin-top:18px}
html[data-cv-theme="dark"] .cv-home-index-links a{background:#261e2c;border-color:#42344a;color:#f1eaf5}
html[data-cv-theme="dark"] .cv-home-index-links a>span{color:#d5a9ec}
html[data-cv-theme="dark"] .cv-home-inline-link{color:#dbb4f1}
@media(max-width:1020px){
 .cv-home-hero-grid{grid-template-columns:1fr;gap:26px}
 .cv-home-slogan{max-width:800px}
 .cv-home-visual{width:100%}
}
@media(max-width:720px){
 .cv-home-hero{padding-top:48px;padding-bottom:44px}
 .cv-showcase{padding:7px;border-radius:17px}
 .cv-showcase-top{flex-wrap:wrap}
 .cv-showcase-right{display:none}
 .cv-showcase-options{grid-template-columns:1fr}
 .cv-showcase-option{min-height:40px}
 .cv-showcase-image-link img{aspect-ratio:16/11}
 .cv-showcase-caption{align-items:flex-start}
 .cv-showcase-caption>a{width:100%;margin-left:0}
 .cv-home-index-links{grid-template-columns:1fr;gap:8px}
 .cv-home-more-heading{align-items:start;flex-direction:column}
 .cv-home-more-media .cv-product-media{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.cv-showcase-option{scroll-behavior:auto}}

/* v4.9.1 — Une seule apparence sombre ; dock simplifié. */
html{color-scheme:dark}
.cv-quick-dock{gap:8px!important}
.cv-quick-dock .cv-dock-link{min-height:60px;padding:7px 4px;justify-content:center;text-align:center;line-height:1.15}
.cv-quick-dock .cv-dock-primary{min-height:66px}
.cv-quick-dock .cv-dock-primary span:last-child{display:block;max-width:64px;font-size:.59rem;line-height:1.18}
.cv-quick-dock .cv-dock-link:focus-visible{outline:2px solid #dbc2ed;outline-offset:2px}

/* v4.9.2 — Héro sûr : le titre est physiquement séparé des images. */
.cv-home-hero>.cv-shell{display:block}
.cv-home-heading{display:block;position:relative;isolation:isolate;z-index:1;max-width:100%;margin-bottom:34px}
.cv-home-heading .cv-home-slogan{font-size:clamp(2.7rem,6.25vw,6.25rem);line-height:1.06;letter-spacing:-.055em;max-width:1100px;margin:0;overflow-wrap:break-word;text-wrap:balance}
.cv-home-hero .cv-home-hero-grid{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:clamp(20px,3.2vw,42px);align-items:start;position:relative;z-index:0}
.cv-home-hero .cv-home-copy{min-width:0;max-width:100%}
.cv-home-hero .cv-home-visual{min-width:0;max-width:100%;position:relative}
.cv-home-copy .cv-lead{margin-top:0;max-width:46ch}
.cv-home-visual .cv-showcase{max-width:100%}
.cv-home-visual img{max-width:100%}
@media(max-width:900px){
 .cv-home-heading{margin-bottom:24px}
 .cv-home-heading .cv-home-slogan{font-size:clamp(2.65rem,8.2vw,5.4rem)}
 .cv-home-hero .cv-home-hero-grid{grid-template-columns:minmax(0,1fr)}
 .cv-home-hero .cv-home-copy .cv-lead{max-width:75ch}
}
@media(max-width:520px){
 .cv-home-heading .cv-home-slogan{font-size:clamp(2.45rem,10vw,3.6rem);letter-spacing:-.045em;line-height:1.09}
 .cv-home-heading{margin-bottom:16px}
 .cv-home-hero{padding-top:40px}
}

/* v4.9.3 — Le slogan reste monumental à gauche, captures réelles à droite.
   Contrairement à v4.9.0, les deux colonnes ont des limites de largeur strictes. */
@media (min-width: 1011px) {
  .cv-home-hero > .cv-shell {
    display:grid;
    grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:clamp(25px,3.7vw,58px);
    row-gap:25px;
  }
  .cv-home-hero .cv-home-heading {
    grid-column:1;
    grid-row:1;
    min-width:0;
    width:100%;
    margin:0;
    position:static;
    isolation:auto;
  }
  .cv-home-hero .cv-home-heading .cv-home-slogan {
    font-size:clamp(3.2rem,5.35vw,6.1rem);
    line-height:.97;
    letter-spacing:-.064em;
    max-width:100%;
    margin:0;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:initial;
  }
  .cv-home-hero .cv-home-hero-grid {display:contents}
  .cv-home-hero .cv-home-copy {grid-column:1;grid-row:2;align-self:start;max-width:100%;min-width:0}
  .cv-home-hero .cv-home-visual {
    grid-column:2;grid-row:1 / span 2;align-self:center;
    min-width:0;width:100%;max-width:100%;overflow:hidden;
  }
  .cv-home-hero .cv-showcase {width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .cv-home-hero .cv-showcase-image-link img {max-width:100%;height:auto}
  .cv-home-hero .cv-home-copy .cv-lead {font-size:clamp(.95rem,1.25vw,1.12rem);margin:0;max-width:47ch}
  .cv-home-hero .cv-actions{margin-top:24px}
}
@media(max-width:1010px) {
  .cv-home-hero > .cv-shell {display:flex;flex-direction:column;gap:20px}
  .cv-home-hero .cv-home-heading {margin:0;width:100%;max-width:100%}
  .cv-home-hero .cv-home-heading .cv-home-slogan {max-width:100%;font-size:clamp(2.65rem,7.8vw,5.25rem);overflow-wrap:normal;text-wrap:balance}
  .cv-home-hero .cv-home-hero-grid {width:100%;display:flex;flex-direction:column;gap:28px}
  .cv-home-hero .cv-home-copy {width:100%}
  .cv-home-hero .cv-home-visual {width:100%;max-width:100%}
}
@media(max-width:520px) {
 .cv-home-hero .cv-home-heading .cv-home-slogan{font-size:clamp(2.3rem,10vw,3.65rem);line-height:1.04}
}


/* 4.9.4 — Gabarit unifié Boîte à outils : élimine la double marge du gabarit générique. */
html[data-cv-theme="dark"] .cv-toolbox-page{background:#17111e;color:#f7f2f9;padding:14px 0 68px}
.cv-toolbox-page .cv-toolbox-frame{width:min(calc(100% - 44px),1200px);max-width:1200px;border-radius:28px;overflow:hidden;border:1px solid rgba(201,169,221,.16);background:#241d2c}
.cv-toolbox-page .cv-toolbox-article,.cv-toolbox-page .cv-toolbox-content{width:100%;margin:0;padding:0}
html body.ctb-toolbox-page .cv-toolbox-page .ctb-shell{width:100%!important;max-width:none!important;padding:40px clamp(20px,3vw,44px) 64px!important;margin:0!important}
.cv-toolbox-page .ctb-hero{padding-top:0!important;margin-top:0!important;align-items:center}
.cv-toolbox-page .ctb-hero h1{margin-top:10px}
.cv-toolbox-page .ctb-hero-meta{align-self:center}
html[data-cv-theme="dark"] .cv-toolbox-page .ctb-shell{background:#241d2c}
@media(max-width:700px){.cv-toolbox-page .cv-toolbox-frame{width:calc(100% - 24px);border-radius:20px}.cv-toolbox-page{padding-top:12px!important}html body.ctb-toolbox-page .cv-toolbox-page .ctb-shell{padding:25px 16px 42px!important}}

/* 4.9.4 — Aperçu du Journal public sur la page d'accueil. */
.cv-home-updates-section{background:#17111e;color:#f8f4fa}
.cv-home-updates-heading{display:flex;gap:28px;align-items:end;justify-content:space-between;margin-bottom:28px}
.cv-home-updates-heading>div{min-width:0;flex:1}
.cv-home-updates-heading h2{font-size:clamp(2.25rem,4.4vw,4.25rem);line-height:1.02;margin:0 0 16px;max-width:850px;color:#fff}
.cv-home-updates-heading p:not(.cv-kicker){font-size:1rem;color:#c4b8ce;line-height:1.65;max-width:720px;margin:0}
.cv-home-updates-all{display:inline-flex;align-items:center;justify-content:center;flex:none;background:#73509a;border:1px solid #946ebb;border-radius:13px;padding:13px 18px;font-weight:900;text-decoration:none;color:#fff;white-space:nowrap}
.cv-home-updates-all:hover{background:#8b62af;color:#fff}
.cv-home-update-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cv-home-update{min-width:0;display:flex;flex-direction:column;padding:26px;border:1px solid rgba(217,196,231,.19);background:#241d2c;border-radius:23px}
.cv-home-update-meta{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#bcaccb;font-size:.73rem;font-weight:850}
.cv-home-update-meta span{padding:6px 8px;border-radius:8px;background:rgba(180,126,212,.14);border:1px solid rgba(180,126,212,.2);color:#e2c1f2}
.cv-home-update h3{font-size:clamp(1.16rem,1.8vw,1.43rem);line-height:1.3;letter-spacing:-.024em;margin:22px 0 12px;color:#fff}
.cv-home-update h3 a{color:inherit;text-decoration:none}
.cv-home-update h3 a:hover{text-decoration:underline;text-decoration-color:#d3aae9}
.cv-home-update p{font-size:.94rem;line-height:1.6;margin:0 0 22px;color:#c4b8ce;flex:1}
.cv-home-update-read{font-size:.83rem;color:#d9b6eb;font-weight:900;margin-top:auto;text-decoration:none}
.cv-home-update-read:hover{text-decoration:underline}
.cv-updates-empty{border:1px dashed rgba(217,196,231,.35);background:#241d2c;padding:24px;border-radius:18px;color:#c4b8ce}
.cv-nouveautes-page{background:#17111e;color:#f8f4fa;padding:24px 0 72px}
.cv-nouveautes-page .cv-nouveautes-frame{width:min(calc(100% - 44px),1200px);max-width:1200px}
.cv-nouveautes-page .cvjn-board{margin:0 auto 20px}
@media(max-width:950px){.cv-home-update-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-home-updates-heading{align-items:start;flex-direction:column}}
@media(max-width:600px){.cv-home-update-grid{grid-template-columns:1fr}.cv-home-update{padding:22px}.cv-home-updates-all{width:100%;white-space:normal}.cv-nouveautes-page .cv-nouveautes-frame{width:calc(100% - 24px)}}

/* v4.10.0 — direction artistique : captures réelles, icônes et cartes éditoriales. */
.cv-capability-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:29px}
.cv-capability-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(218,184,239,.19);border-radius:23px;background:linear-gradient(158deg,#292031,#201926);transition:border-color .2s,transform .2s,box-shadow .2s}
.cv-capability-card:hover{border-color:rgba(194,135,229,.64);transform:translateY(-4px);box-shadow:0 24px 35px rgba(4,2,8,.25)}
.cv-capability-photo{display:block;position:relative;min-height:0;aspect-ratio:16/10;overflow:hidden;background:#15101c}
.cv-capability-photo img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .4s ease}
.cv-capability-card:hover .cv-capability-photo img{transform:scale(1.035)}
.cv-capability-arrow{position:absolute;right:13px;top:13px;border-radius:12px;padding:5px 11px;background:rgba(25,13,34,.82);color:white;font-size:20px;backdrop-filter:blur(9px)}
.cv-capability-content{display:flex;flex-direction:column;flex:1;padding:21px 23px 24px}
.cv-capability-category{display:flex;align-items:center;gap:8px;color:#d1a4ef;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.cv-capability-category svg{width:18px;height:18px}
.cv-capability-content h3{font-size:clamp(1.17rem,1.8vw,1.48rem);line-height:1.2;margin:15px 0 8px;color:#fff;letter-spacing:-.028em}
.cv-capability-content h3 a{text-decoration:none}
.cv-capability-content p{margin:0 0 16px;font-size:.91rem;line-height:1.53;color:#cdc0d4;flex:1}
.cv-capability-cta{display:flex;justify-content:space-between;gap:12px;padding-top:13px;margin-top:auto;border-top:1px solid rgba(255,255,255,.1);font-size:.81rem;text-decoration:none;color:#e1b4f5;font-weight:900}
.cv-home-update{overflow:hidden;display:flex;flex-direction:column;padding:0!important;min-width:0;transition:transform .2s,border-color .2s}
.cv-home-update:hover{transform:translateY(-3px);border-color:rgba(180,122,215,.48)!important}
.cv-home-update-media{height:150px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 76% 25%,rgba(174,109,218,.27),transparent 48%),linear-gradient(120deg,#241a2e,#34213e);border-bottom:1px solid rgba(255,255,255,.09);text-decoration:none}
.cv-home-update-media img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .3s}
.cv-home-update:hover .cv-home-update-media img{transform:scale(1.035)}
.cv-update-graphic{width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(218,176,241,.25);border-radius:22px;background:rgba(255,255,255,.045);color:#e1b9f4;transform:rotate(-7deg)}
.cv-update-graphic svg{width:40px;height:40px}
.cv-update-graphic-label{position:absolute;bottom:12px;left:18px;font-size:.64rem;color:#dac0e9;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.cv-home-update-meta,.cv-home-update h3,.cv-home-update>p,.cv-home-update-read{margin-left:23px!important;margin-right:23px!important}
.cv-home-update-meta{margin-top:21px!important}
.cv-home-update-read{margin-top:auto!important;margin-bottom:23px!important}
.cv-service-card{position:relative;transition:transform .2s,border-color .2s}
.cv-service-card:hover{transform:translateY(-3px);border-color:rgba(192,137,226,.43)}
.cv-service-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;background:rgba(146,99,185,.17);border:1px solid rgba(194,142,231,.31);border-radius:16px;color:#dab5f3}
.cv-service-icon svg{width:26px;height:26px}
.cv-service-featured .cv-service-icon{background:rgba(199,147,232,.18)}
.cv-capability-photo:focus-visible,.cv-capability-content a:focus-visible,.cv-home-update-media:focus-visible{outline:3px solid #d8a7f5;outline-offset:-3px}
@media(max-width:1000px){.cv-capability-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:670px){.cv-capability-gallery{grid-template-columns:1fr}.cv-capability-photo{aspect-ratio:16/9}.cv-home-update-media{height:175px}}
@media(prefers-reduced-motion:reduce){.cv-capability-card,.cv-capability-photo img,.cv-home-update,.cv-home-update-media img,.cv-service-card{transition:none!important}.cv-capability-card:hover,.cv-home-update:hover,.cv-service-card:hover{transform:none}}

/* Dossiers de référence liés à la page Plateforme. */
.cv-dossier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.cv-dossier-link{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:24px 20px;border:1px solid #4c3a55;border-radius:20px;text-decoration:none;background:#241b2b;color:#f7f1f9;transition:transform .18s,border-color .18s}
.cv-dossier-link:hover{transform:translateY(-3px);border-color:#a473c2;color:#fff}
.cv-dossier-icon{display:grid;place-items:center;width:48px;height:48px;background:#36263f;border-radius:13px;color:#d5a6f1}
.cv-dossier-link strong{font-size:1.08rem;line-height:1.2}
.cv-dossier-link>span:not(.cv-dossier-icon):not(.cv-dossier-more){line-height:1.55;color:#ccbfd2;font-size:.87rem;flex:1}
.cv-dossier-more{font-size:.85rem;color:#dbabff;font-weight:850}
@media(max-width:1000px){.cv-dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cv-dossier-grid{grid-template-columns:1fr}}

/* v4.10.4 — Lien vers la démo : raccourci ordinateur, menu mobile et boutons contextuels. */
@media (min-width:1101px){
  .cv-main-nav .cv-nav-demo{display:none}
}
.cv-home-hero .cv-actions .cv-btn{gap:6px}
.cv-cta-panel .cv-btn.cv-demo-cta-secondary,
html[data-cv-theme="dark"] .cv-cta-panel .cv-btn.cv-demo-cta-secondary{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
}
.cv-cta-panel .cv-btn.cv-demo-cta-secondary:hover,
html[data-cv-theme="dark"] .cv-cta-panel .cv-btn.cv-demo-cta-secondary:hover{
  background:rgba(255,255,255,.14)!important;
}
.cv-dock-contact svg{fill:#d1a4ef!important}


/* v4.10.5 — La démo remplace la galerie redondante de l'accueil. */
.cv-home-demo-section{padding-block:66px!important}
.cv-home-demo-panel{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,.40fr);
  gap:clamp(28px,4vw,68px);align-items:center;
  border:1px solid rgba(218,175,239,.46);border-radius:30px;
  padding:clamp(28px,5vw,66px);
  background:linear-gradient(112deg,#402752 0%,#503062 51%,#70448d 100%);
  box-shadow:0 20px 46px rgba(15,5,27,.24);
}
.cv-home-demo-panel:before{
  content:"";pointer-events:none;position:absolute;z-index:-1;
  width:500px;height:500px;right:-170px;top:-280px;border:1px solid rgba(255,255,255,.2);
  border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025);
}
html[data-cv-theme="dark"] .cv-home-demo-panel .cv-kicker,
.cv-home-demo-panel .cv-kicker{color:#e6c6f2!important;margin-bottom:19px}
html[data-cv-theme="dark"] .cv-home-demo-panel h2,
.cv-home-demo-panel h2{
  color:#fff!important;font-size:clamp(2.5rem,4.4vw,4.4rem);
  line-height:1.06;letter-spacing:-.052em;margin:0 0 23px;max-width:710px;
}
.cv-home-demo-panel h2 span{color:#f1d4ff}
html[data-cv-theme="dark"] .cv-home-demo-panel p:not(.cv-kicker),
.cv-home-demo-panel p:not(.cv-kicker){color:#f1e6f7!important;max-width:580px;font-size:1.02rem;line-height:1.6;margin:0}
.cv-home-demo-access{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0}
.cv-btn.cv-home-demo-action,
html[data-cv-theme="dark"] .cv-btn.cv-home-demo-action{
  display:flex;justify-content:space-between;gap:15px;align-items:center;
  padding:22px 25px;min-height:72px;border:1px solid #fff!important;border-radius:17px;
  background:#fff!important;color:#342041!important;font-size:1rem;font-weight:900;
  box-shadow:0 12px 30px rgba(17,6,30,.17);text-decoration:none;
}
.cv-btn.cv-home-demo-action:hover,
html[data-cv-theme="dark"] .cv-btn.cv-home-demo-action:hover{
  background:#f1e4fa!important;color:#342041!important;transform:translateY(-2px)
}
.cv-home-demo-action span{font-size:1.45rem;line-height:1}
.cv-home-demo-domain{text-align:center;color:#eddaef;font-size:.83rem;letter-spacing:.03em;font-weight:750}
.cv-home-demo-action:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:850px){
  .cv-home-demo-panel{grid-template-columns:minmax(0,1fr);gap:28px}
  .cv-home-demo-access{align-items:flex-start}
  .cv-btn.cv-home-demo-action{min-width:min(100%,315px)}
  .cv-home-demo-domain{width:min(100%,315px)}
}
@media(max-width:600px){
  .cv-home-demo-section{padding-block:45px!important}
  .cv-home-demo-panel{padding:29px 23px;border-radius:23px;gap:25px}
  .cv-home-demo-panel h2{font-size:clamp(2.3rem,10vw,3.4rem)!important}
  .cv-home-demo-panel p:not(.cv-kicker){font-size:.95rem!important}
  .cv-home-demo-access{align-items:stretch}
  .cv-btn.cv-home-demo-action{min-width:0;width:100%}
  .cv-home-demo-domain{width:100%}
}
@media(prefers-reduced-motion:reduce){.cv-btn.cv-home-demo-action:hover{transform:none}}

/* v4.11.2 : logo et typographie identitaires alignés sur Contact. */
.cv-site-header .cv-brand{gap:12px;letter-spacing:-.045em}
.cv-site-header .cv-brand-word{font-size:23px;font-weight:800;line-height:1.15}
@media(max-width:700px){.cv-site-header .cv-brand-word{font-size:19px}}

/* Convaincre : contrat identitaire commun, fondé sur Contact.
   Point d'ancrage du logo : x = max(20px, (viewport - 1320px)/2),
   y = (93px - 42px) / 2. Le menu ne pilote jamais sa position.
   Sur écrans de 620px et moins : marge x = 14px, bande identitaire = 74px. */
.cv-uniform-header-row {
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:93px;
  gap:24px;
}
.cv-uniform-header-brand {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:12px;
  margin:0;
  padding:0;
  border:0;
  min-width:0;
  text-decoration:none;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:23px;
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1.15;
  color:#fff;
  white-space:nowrap;
}
.cv-uniform-header-logo {
  box-sizing:border-box;
  display:block;
  flex:0 0 42px;
  width:42px;
  height:42px;
  min-width:42px;
  max-width:42px;
  min-height:42px;
  max-height:42px;
  object-fit:cover;
  border-radius:12px;
  margin:0;
  padding:0;
}
.cv-uniform-header-word {
  display:inline-block;
  margin:0;
  padding:0;
  color:#fff;
  font:inherit;
  font-size:23px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.045em;
  text-transform:none;
  white-space:nowrap;
}
.cv-uniform-header-word b {font-weight:500;color:#cfb2e7;}
@media(max-width:620px){
  .cv-uniform-header-row {min-height:74px;}
  .cv-uniform-header-brand,.cv-uniform-header-word {font-size:19px;}
}
/* Thème vitrine : header à la géométrie exacte de Contact (navigation seule distincte). */
html body {padding-top:0;}
html body .cv-site-header.cv-uniform-header-shell {
  box-sizing:border-box;
  position:relative;
  z-index:100;
  width:min(calc(100% - 40px),1320px);
  max-width:1320px;
  margin:0 auto 16px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(193,164,218,.21)!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
html body .cv-site-header .cv-header-inner.cv-uniform-header-row {
  width:100%;max-width:none;margin:0;padding:0;
  min-height:92px;
  display:flex;align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cv-site-header .cv-uniform-header-brand {gap:12px;}
.cv-site-header .cv-uniform-header-word {font-size:23px;font-weight:800;}
.cv-site-header .cv-main-nav {
  background:none;border:0;border-radius:0;box-shadow:none;
  display:flex;align-items:center;gap:4px!important;
}
.cv-site-header .cv-main-nav a {
  color:#bdb1c5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:700;text-decoration:none;border-radius:10px;
}
.cv-site-header .cv-main-nav a:hover {color:white;background:rgba(255,255,255,.06)}
.cv-site-header .cv-login {min-height:43px;border:0;background:transparent;color:#bdb1c5;box-shadow:none;border-radius:11px}
.cv-site-header .cv-login:hover {color:white;background:rgba(255,255,255,.07)}
.cv-site-header .cv-cta {min-height:43px;border:0;background:#7940b6;color:#fff;border-radius:11px;box-shadow:none;font-weight:700}
.cv-site-header .cv-cta:hover {background:#8d52c9;}
@media(min-width:1101px){
  html body .cv-site-header .cv-header-inner.cv-uniform-header-row {
    width:100%;max-width:none;margin:0;padding:0;min-height:92px;
    display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,1.5vw,24px);
  }
}
@media(max-width:1100px){
  html body .cv-site-header .cv-header-inner.cv-uniform-header-row {
    display:grid;grid-template-columns:minmax(0,1fr) 44px;
    grid-template-rows:92px auto;align-items:center;
    justify-content:space-between;gap:0 12px;
    min-height:92px;
  }
  .cv-site-header .cv-uniform-header-brand{grid-column:1;grid-row:1;justify-self:start;}
  .cv-site-header .cv-menu-toggle {grid-column:2;grid-row:1;margin:0;justify-self:end;}
  .cv-site-header.menu-open .cv-main-nav{grid-column:1/-1;grid-row:2;margin:0!important;}
  .cv-site-header.menu-open .cv-header-actions{grid-column:1/-1;grid-row:3;}
}
@media(max-width:620px){
  html body .cv-site-header.cv-uniform-header-shell {width:calc(100% - 28px);}
  html body .cv-site-header .cv-header-inner.cv-uniform-header-row {grid-template-rows:73px auto;min-height:73px;}
  .cv-site-header .cv-uniform-header-word {font-size:19px;}
}


/* Supprime les mouvements latéraux du header entre pages courtes et longues. */
html {scrollbar-gutter:stable;}
/* Annule les anciennes règles importantes de la navigation en pastille :
   Contact utilise des liens sans cartouche derrière le menu. */
.cv-site-header.cv-uniform-header-shell .cv-main-nav {background:transparent!important;border:0!important;box-shadow:none!important;}
.cv-site-header.cv-uniform-header-shell .cv-main-nav a:hover {background:rgba(255,255,255,.06)!important;color:#fff!important;}
/* Surface Contact identique sur chacun des quatre headers. */
html body .cv-site-header.cv-uniform-header-shell {background:linear-gradient(110deg,#201626 0%,#1b1422 55%,#211828 100%)!important;}

/* ========================================================================
   v4.12.0 — Vitrine Convaincre : direction artistique harmonisée sur Contact.
   Référence : Contact 3.1.3 / Académie 0.20.4 / Status 0.6.7.
   Aucun changement de classe métier, de gabarit ou de géométrie de l'identité.
   ======================================================================== */
:root {
  --cc-bg:#151019;
  --cc-surface:#211a27;
  --cc-elevated:#2a2031;
  --cc-card:#251d2c;
  --cc-stroke:rgba(193,164,218,.21);
  --cc-ink:#faf6fc;
  --cc-muted:#bdb1c5;
  --cc-violet:#9c78ca;
  --cc-red:#ef766d;
  --cc-green:#88cfa5;
  --canvas:var(--cc-bg);
  --paper:var(--cc-bg);
  --paper2:var(--cc-elevated);
  --panel:var(--cc-surface);
  --panel2:var(--cc-elevated);
  --ink:var(--cc-ink);
  --ink2:var(--cc-elevated);
  --white:var(--cc-surface);
  --muted:var(--cc-muted);
  --line:var(--cc-stroke);
  --purple:#7940b6;
  --purple2:#8d52c9;
  --red:var(--cc-red);
  --green:var(--cc-green);
  --yellow:#f3bb62;
  --shadow:0 24px 70px rgba(5,3,7,.24);
  --frame:1320px;
}
html {background:var(--cc-bg);color-scheme:dark;scrollbar-gutter:stable;}
html body {
  margin:0;
  padding:0;
  min-height:100vh;
  background:radial-gradient(ellipse 65% 400px at 85% -5%,rgba(88,45,140,.29),transparent),
             radial-gradient(ellipse 45% 500px at 0 15%,rgba(153,60,117,.11),transparent),
             var(--cc-bg);
  color:var(--cc-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* Header : fond transparent comme les sous-domaines, ancrage inchangé. */
html body .cv-site-header.cv-uniform-header-shell {
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-bottom:1px solid var(--cc-stroke)!important;
}
html body .cv-site-header .cv-header-inner.cv-uniform-header-row {
  /* Aucun positionnement nouveau : x/y du logo identiques à la v4.11.3. */
  align-items:center;
}
.cv-site-header .cv-main-nav a {color:var(--cc-muted)!important;font-weight:700;}
.cv-site-header .cv-main-nav a:hover {color:#fff!important;}
.cv-site-header .cv-main-nav a:focus-visible,
.cv-site-header .cv-login:focus-visible,
.cv-site-header .cv-cta:focus-visible,
.cv-site-header .cv-menu-toggle:focus-visible {outline:2px solid #cfb2e7;outline-offset:3px;}
.cv-site-header .cv-cta,
html[data-cv-theme="dark"] .cv-site-header .cv-cta {
  background:#7940b6!important;
  border:1px solid transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  border-radius:11px;
}
.cv-site-header .cv-cta:hover,
html[data-cv-theme="dark"] .cv-site-header .cv-cta:hover {background:#8d52c9!important;}
.cv-site-header .cv-login,
html[data-cv-theme="dark"] .cv-site-header .cv-login {
  background:transparent!important;
  border:1px solid var(--cc-stroke)!important;
  color:var(--cc-muted)!important;
  box-shadow:none!important;
  border-radius:11px;
}
.cv-site-header .cv-login:hover,
html[data-cv-theme="dark"] .cv-site-header .cv-login:hover {background:rgba(255,255,255,.055)!important;color:#fff!important;}
.cv-site-header .cv-menu-toggle {background:var(--cc-elevated)!important;border:1px solid var(--cc-stroke)!important;}
.cv-site-header .cv-menu-toggle span {background:var(--cc-ink)!important;}

/* Mise en page : la matière sombre de Contact, sans un second cadre opaque. */
html[data-cv-theme="dark"] body main#content,
html body main#content {
  width:min(calc(100% - 40px),1320px);
  max-width:1320px;
  background:transparent!important;
  color:var(--cc-ink)!important;
  border:0!important;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  margin:0 auto;
}
html[data-cv-theme="dark"] .cv-home-hero,
html[data-cv-theme="dark"] .cv-page-hero,
html[data-cv-theme="dark"] .cv-section:not(.cv-red),
html[data-cv-theme="dark"] .cv-page-section:not(.cv-red),
html[data-cv-theme="dark"] .cv-generic-page,
html[data-cv-theme="dark"] .cv-legal,
html[data-cv-theme="dark"] .cv-toolbox-page,
html[data-cv-theme="dark"] .cv-home-updates-section,
html[data-cv-theme="dark"] .cv-seo-full {
  background:transparent!important;
  color:var(--cc-ink)!important;
}
html[data-cv-theme="dark"] .cv-section-rule,
html[data-cv-theme="dark"] .cv-page-section {border-color:var(--cc-stroke)!important;}
.cv-shell {width:min(calc(100% - 72px),1200px);}
.cv-narrow {width:min(calc(100% - 72px),820px);}
html[data-cv-theme="dark"] main#content h1,
html[data-cv-theme="dark"] main#content h2,
html[data-cv-theme="dark"] main#content h3 {color:var(--cc-ink)!important;letter-spacing:-.045em;}
html[data-cv-theme="dark"] main#content .cv-lead,
html[data-cv-theme="dark"] main#content p,
html[data-cv-theme="dark"] main#content li {color:var(--cc-muted)!important;}
html[data-cv-theme="dark"] main#content .cv-kicker,
html[data-cv-theme="dark"] main#content .cv-feature small,
html[data-cv-theme="dark"] main#content .cv-num {color:var(--cc-violet)!important;}
html[data-cv-theme="dark"] .cv-home-slogan span {color:#cfb2e7!important;}

/* Cartes, encarts et composants : palette Contact. */
html[data-cv-theme="dark"] .cv-card,
html[data-cv-theme="dark"] .cv-feature,
html[data-cv-theme="dark"] .cv-values div,
html[data-cv-theme="dark"] .cv-note,
html[data-cv-theme="dark"] .cv-resource,
html[data-cv-theme="dark"] .cv-flow div,
html[data-cv-theme="dark"] .cv-access-card,
html[data-cv-theme="dark"] .cv-service-card,
html[data-cv-theme="dark"] .cv-home-index-links a {
  background:linear-gradient(145deg,#28202f,#211a27)!important;
  color:var(--cc-ink)!important;
  border:1px solid var(--cc-stroke)!important;
  border-radius:22px;
  box-shadow:none;
}
html[data-cv-theme="dark"] .cv-card:hover,
html[data-cv-theme="dark"] .cv-feature:hover,
html[data-cv-theme="dark"] .cv-resource:hover,
html[data-cv-theme="dark"] .cv-home-index-links a:hover {
  background:#2d2435!important;
  border-color:rgba(167,125,202,.52)!important;
  box-shadow:0 16px 38px rgba(5,3,7,.19)!important;
}
html[data-cv-theme="dark"] .cv-card p,
html[data-cv-theme="dark"] .cv-feature p,
html[data-cv-theme="dark"] .cv-note p,
html[data-cv-theme="dark"] .cv-access-card > p,
html[data-cv-theme="dark"] .cv-service-card p,
html[data-cv-theme="dark"] .cv-home-index-links a span {color:var(--cc-muted)!important;}
html[data-cv-theme="dark"] .cv-home-index-links a span:last-child {color:#cfb2e7!important;}
html[data-cv-theme="dark"] .cv-service-featured,
html[data-cv-theme="dark"] .cv-resource-feature {
  background:var(--cc-elevated)!important;
  border-color:var(--cc-stroke)!important;
  border-radius:22px;
}
html[data-cv-theme="dark"] .cv-quote,
html[data-cv-theme="dark"] .cv-method-visual,
html[data-cv-theme="dark"] .cv-home-updates-card,
html[data-cv-theme="dark"] .cv-home-demo-panel {
  border-color:var(--cc-stroke)!important;
}
html[data-cv-theme="dark"] .cv-soft,
html[data-cv-theme="dark"] .cv-dark {background:var(--cc-surface)!important;}
html[data-cv-theme="dark"] .cv-dark .cv-flow div {background:var(--cc-elevated)!important;border-color:var(--cc-stroke)!important;}
html[data-cv-theme="dark"] .cv-method-visual {background:var(--cc-surface);}
html[data-cv-theme="dark"] .cv-method-list li {background:var(--cc-elevated);border-color:var(--cc-stroke);}

/* Boutons : la même grammaire violette, sans perturber leurs URLs et actions. */
html[data-cv-theme="dark"] main#content .cv-btn,
html[data-cv-theme="dark"] main#content .cv-access-action,
html[data-cv-theme="dark"] main#content .cv-home-updates-all {
  border-radius:11px;
  font-family:inherit;
  font-weight:750;
  transition:background-color .18s,border-color .18s,transform .18s;
}
html[data-cv-theme="dark"] main#content .cv-btn-dark,
html[data-cv-theme="dark"] main#content .cv-access-action:not(.cv-access-action-disabled),
html[data-cv-theme="dark"] main#content .cv-btn-red {
  background:#7940b6!important;
  color:#fff!important;
  border-color:#7940b6!important;
  box-shadow:none!important;
}
html[data-cv-theme="dark"] main#content .cv-btn-dark:hover,
html[data-cv-theme="dark"] main#content .cv-access-action:not(.cv-access-action-disabled):hover,
html[data-cv-theme="dark"] main#content .cv-btn-red:hover {
  background:#8d52c9!important;
  border-color:#8d52c9!important;
}
html[data-cv-theme="dark"] main#content .cv-btn-light {
  background:var(--cc-surface)!important;
  color:var(--cc-ink)!important;
  border-color:var(--cc-stroke)!important;
}
html[data-cv-theme="dark"] main#content .cv-btn-light:hover {
  background:var(--cc-elevated)!important;
  color:#fff!important;
  border-color:#79548f!important;
}
html[data-cv-theme="dark"] main#content .cv-btn:focus-visible,
html[data-cv-theme="dark"] main#content .cv-access-action:focus-visible {
  outline:2px solid #cfb2e7;outline-offset:3px;
}
/* Les panneaux d'appel spéciaux restent contrastés, comme les CTA du MOOC. */
html[data-cv-theme="dark"] .cv-cta-panel {
  background:linear-gradient(120deg,#40254f,#592e74)!important;
  box-shadow:none!important;
  border:1px solid var(--cc-stroke)!important;
}
html[data-cv-theme="dark"] .cv-cta-panel p,
html[data-cv-theme="dark"] .cv-home-demo-panel p:not(.cv-kicker) {color:#f1e6f7!important;}
html[data-cv-theme="dark"] .cv-cta-panel .cv-btn,
html[data-cv-theme="dark"] .cv-home-demo-panel .cv-btn.cv-home-demo-action {
  background:#fff!important;
  color:#342041!important;
  border-color:#fff!important;
}
html[data-cv-theme="dark"] .cv-cta-panel .cv-btn:hover,
html[data-cv-theme="dark"] .cv-home-demo-panel .cv-btn.cv-home-demo-action:hover {
  background:#f1e4fa!important;
  color:#342041!important;
}
/* Ne pas recolorer les états réels de supervision. */
.cv-status-dot {background:#48d8a0!important;box-shadow:0 0 0 4px rgba(72,216,160,.13)!important;}

/* Formulaires natifs du thème : même aspect que les formulaires Contact. */
html[data-cv-theme="dark"] .cv-generic-page input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
html[data-cv-theme="dark"] .cv-generic-page select,
html[data-cv-theme="dark"] .cv-generic-page textarea {
  background:#18121e!important;
  border:1px solid #53425c!important;
  border-radius:11px;
  color:var(--cc-ink)!important;
  font-family:inherit;
}
html[data-cv-theme="dark"] .cv-generic-page input:focus,
html[data-cv-theme="dark"] .cv-generic-page select:focus,
html[data-cv-theme="dark"] .cv-generic-page textarea:focus {
  outline:0;
  border-color:#b58ce0!important;
  box-shadow:0 0 0 3px rgba(155,103,218,.15)!important;
}

/* Boîte à outils : une seule surface de carte, pas de panneau global superposé. */
html[data-cv-theme="dark"] .cv-toolbox-page .cv-toolbox-frame {
  max-width:1200px;
  background:var(--cc-surface);
  border:1px solid var(--cc-stroke);
  border-radius:22px;
  box-shadow:none;
}
html[data-cv-theme="dark"] .cv-toolbox-page .ctb-shell {
  background:var(--cc-surface);
}

/* Pied de page comme Contact : filet discret, pas de plaque sombre. */
html body .cv-footer {
  width:min(calc(100% - 40px),1320px);
  max-width:1320px;
  margin:24px auto 0;
  padding-top:40px;
  border-top:1px solid var(--cc-stroke);
  border-radius:0;
  background:transparent!important;
  color:var(--cc-ink)!important;
  box-shadow:none;
  overflow:visible;
}
html body .cv-footer p,
html body .cv-footer-bottom {color:var(--cc-muted)!important;}
html body .cv-footer-links a {color:#d8bcec!important;}
html body .cv-footer-links a:hover {color:#fff!important;}
html body .cv-footer-bottom {border-top:1px solid var(--cc-stroke);}

/* Dock flottant : les mêmes bordures et surfaces que les encarts Contact. */
html body .cv-quick-dock {
  background:var(--cc-surface)!important;
  border:1px solid var(--cc-stroke)!important;
  box-shadow:0 16px 38px rgba(5,3,7,.25)!important;
}
html body .cv-dock-link:hover {background:var(--cc-elevated)!important;}
html body .cv-dock-primary {background:#7940b6!important;}
html body .cv-dock-primary:hover {background:#8d52c9!important;}

@media(max-width:700px) {
  html body main#content,html body .cv-footer {width:calc(100% - 28px);}
  .cv-shell,.cv-narrow {width:calc(100% - 28px);}
  html body .cv-footer {padding-top:29px;margin-top:10px;}
}
@media(prefers-reduced-motion:reduce){
  html[data-cv-theme="dark"] main#content .cv-btn {transition:none!important;}
}
/* Lisibilité des panneaux contrastés : le style des liens prime sur le style générique des boutons. */
html[data-cv-theme="dark"] main#content .cv-cta-panel .cv-btn,
html[data-cv-theme="dark"] main#content .cv-cta-panel .cv-btn-light,
html[data-cv-theme="dark"] main#content .cv-home-demo-panel .cv-btn.cv-home-demo-action {
  background:#fff!important;
  color:#342041!important;
  border-color:#fff!important;
  font-weight:800;
}
html[data-cv-theme="dark"] main#content .cv-cta-panel .cv-btn:hover,
html[data-cv-theme="dark"] main#content .cv-home-demo-panel .cv-btn.cv-home-demo-action:hover {
  background:#f1e4fa!important;
  color:#342041!important;
}
html[data-cv-theme="dark"] main#content .cv-cta-panel p,
html[data-cv-theme="dark"] main#content .cv-home-demo-panel p:not(.cv-kicker),
html[data-cv-theme="dark"] main#content .cv-red p {color:#f1e6f7!important;}
html[data-cv-theme="dark"] main#content .cv-cta-panel .cv-kicker,
html[data-cv-theme="dark"] main#content .cv-home-demo-panel .cv-kicker {color:#e6c6f2!important;}

/* 4.13.0 — repère partagé (vitrine, Contact, Académie, Status).
   La marque est ancrée directement au bord du cadre 1200px. */
:root{--frame:1200px;--cv-layout-width:1200px;--cv-dock-gap:18px}
html body .cv-site-header.cv-uniform-header-shell,
html body main#content,
html body .cv-footer {width:min(calc(100% - 40px),var(--cv-layout-width));max-width:var(--cv-layout-width)}
html body .cv-site-header .cv-header-inner.cv-uniform-header-row{width:100%;max-width:none;margin:0;padding:0;min-height:93px}
html body .cv-site-header .cv-uniform-header-brand{margin:0;padding:0;gap:12px}
html body .cv-site-header .cv-uniform-header-logo{width:42px;height:42px;min-width:42px;max-width:42px;min-height:42px;max-height:42px;flex:0 0 42px}
/* Le dock se trouve à l'extérieur du cadre, séparé par 18 px.
   Ce sélecteur simple sert aussi lorsque le dock est rendu dans un Shadow DOM. */
.cv-quick-dock {right:max(16px,calc((100vw - var(--frame))/2 - 102px))!important}
@media(min-width:1021px) and (max-width:1390px){.cv-quick-dock{display:none!important}}
@media(max-width:1020px){.cv-quick-dock{display:none!important}}
@media(max-width:620px){
  html body .cv-site-header.cv-uniform-header-shell,
  html body main#content,html body .cv-footer {width:calc(100% - 28px)}
  html body .cv-site-header .cv-header-inner.cv-uniform-header-row {min-height:73px}
  html body .cv-site-header .cv-uniform-header-word {font-size:19px}
}

/* Les anciennes règles full-width du thème portent !important : la borne commune gagne. */
html body main#content, html[data-cv-theme="dark"] body main#content {
 width:min(calc(100% - 40px),1200px)!important;
 max-width:1200px!important;
}
@media(max-width:620px){html body main#content,html[data-cv-theme="dark"] body main#content{width:calc(100% - 28px)!important}}

/* Calage vertical exact de l'icône et du mot Convaincre. */
@media(min-width:621px) and (max-width:1100px){html body .cv-site-header .cv-header-inner.cv-uniform-header-row{grid-template-rows:93px auto;min-height:93px}}
