@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');
:root{--primary:#6621BA;--secondary:#FF9C00;--hover:#9554E5;--heading:#32355D;--body:#666666;--surface:#F2F0F9;--background:#FFFFFF;--light:#ebeefc;--outline:#E5E7EB;--neutral:#9CA3AF;--foreground:#111827;--font-body:"Manrope",sans-serif;--fs-small:clamp(11px,1.4vw,13px);--fs-small:clamp(13px,1.6vw,15px);--fs-medium:clamp(15px,1.8vw,17px);--fs-large:clamp(17px,2.1vw,19px);--fs-xlarge:clamp(22px,2.8vw,26px);--fs-xxlarge:clamp(26px,3.4vw,34px);--fs-xxxlarge:clamp(32px,4.5vw,46px);--sp-xxs:.4rem;--sp-xs:.9rem;--sp-s:1.4rem;--sp-m:2rem;--sp-l:3rem;--sp-xl:4rem;--sp-xxl:6rem;--br-s:6px;--br-m:10px;--br-l:14px;--br-xl:18px;--br-xxl:22px;--br-full:999px;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--background);color:var(--body);font-size:var(--fs-medium);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}a:hover{color:var(--hover)}ul{list-style:none;padding:0}
h1,h2,h3,h4{font-family:var(--font-body);color:var(--heading);font-weight:var(--fw-semibold);line-height:1.15;margin:0 0 var(--sp-xs)}
h1{font-size:var(--fs-xxxlarge);letter-spacing:-1.5px}h2{font-size:var(--fs-xxlarge);letter-spacing:-1px}h3{font-size:var(--fs-xlarge);letter-spacing:-.5px}h4{font-size:var(--fs-large)}
p{font-size:var(--fs-small);color:var(--body);line-height:1.75}
.container{max-width:1170px;margin:0 auto;padding:0 28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:var(--fs-small);font-weight:var(--fw-medium);padding:13px 26px;border-radius:30px;border:none;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,transform .2s,box-shadow .2s;line-height:1;white-space:nowrap}
.btn-primary{background:var(--secondary);color:#fff}.btn-primary:hover{background:var(--hover);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(102,33,186,.25)}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--hover);color:#fff;border-color:var(--hover)}
.btn-lg{padding:16px 32px;font-size:var(--fs-medium)}.btn-sm{padding:9px 18px;font-size:var(--fs-small)}
.eyebrow{display:inline-block;font-size:var(--fs-small);font-weight:var(--fw-bold);letter-spacing:2px;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.site-nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--outline)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;gap:var(--sp-m)}
.nav-logo{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-large);font-weight:var(--fw-bold);color:var(--heading);letter-spacing:-.5px;flex-shrink:0}
.nav-logo img{width:30px;height:30px;object-fit:contain;border-radius:6px}
.nav-logo span{color:var(--primary)}
.nav-links{display:flex;align-items:center;gap:var(--sp-m)}
.nav-links a{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--heading);opacity:.65;transition:opacity .2s,color .2s}
.nav-links a:hover,.nav-links a.active{opacity:1;color:var(--primary)}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-toggle span{width:24px;height:2px;background:var(--heading);border-radius:2px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:var(--fs-small);color:var(--neutral);margin-bottom:var(--sp-s)}
.breadcrumb a{color:var(--neutral)}.breadcrumb a:hover{color:var(--primary)}
.section{padding:var(--sp-xxl) 0}.section-sm{padding:var(--sp-xl) 0}.section-alt{background:var(--surface)}
.section-intro{text-align:center;max-width:640px;margin:0 auto var(--sp-xl)}
.section-intro p{font-size:var(--fs-medium)}
.sep{border:none;border-bottom:1px solid var(--outline);margin:var(--sp-xl) auto;width:80px;opacity:.5}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);font-weight:var(--fw-medium);padding:6px 14px;border-radius:var(--br-full);border:1px solid var(--outline);color:var(--body);background:var(--background)}
.badge-green{border-color:#D1FAE5;color:#065F46;background:#ECFDF5}.badge-orange{border-color:rgba(255,156,0,.25);color:#92400E;background:#FEF3C7}
.stat-card{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-s) var(--sp-m);display:flex;align-items:center;gap:var(--sp-s);transition:border-color .2s,transform .2s}
.stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.stat-icon{width:46px;height:46px;border-radius:var(--br-m);background:var(--light);display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif;flex-shrink:0}
.stat-text strong{display:block;font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--heading);margin-bottom:3px}
.stat-text span{font-size:var(--fs-small);color:#4A5B79}
.temos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-s)}
.temo{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-m);transition:border-color .25s}.temo:hover{border-color:var(--primary)}
.temo-stars{display:flex;gap:3px;margin-bottom:var(--sp-s);color:var(--secondary);font-size:14px}
.temo-text{font-size:var(--fs-small);line-height:1.75;font-style:italic;margin-bottom:var(--sp-s);font-weight:var(--fw-light)}
.temo-text strong{color:var(--heading);font-style:normal;font-weight:var(--fw-semibold)}
.temo-author{display:flex;align-items:center;gap:12px}
.temo-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--hover));display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-small);color:#fff;flex-shrink:0}
.temo-name{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--heading)}
.temo-role{font-size:var(--fs-small);color:var(--neutral)}
.faq-inner{display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-xxl);align-items:start}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xl);overflow:hidden;transition:border-color .25s}
.faq-item.open{border-color:var(--primary)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-s) var(--sp-m);cursor:pointer;gap:16px}
.faq-q span{font-size:var(--fs-medium);font-weight:var(--fw-semibold);color:var(--heading)}
.faq-icon{width:26px;height:26px;border-radius:50%;background:var(--light);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--primary);flex-shrink:0;transition:transform .3s,background .3s}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--primary);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;padding:0 var(--sp-m)}
.faq-item.open .faq-a{max-height:220px;padding:0 var(--sp-m) var(--sp-s)}
.faq-a p{font-size:var(--fs-small);line-height:1.75;font-weight:var(--fw-light);color:#150f3f}
.cta-box{background:var(--heading);border-radius:var(--br-xxl);padding:var(--sp-xxl);text-align:center;position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(102,33,186,.3) 0%,transparent 60%)}
.cta-box>*{position:relative;z-index:2}
.cta-box h2{color:#fff;margin-bottom:var(--sp-xs)}.cta-box p{color:rgba(255,255,255,.6);font-size:var(--fs-large);margin-bottom:var(--sp-m)}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.site-footer{background:var(--heading);padding:var(--sp-xl) 0 var(--sp-m)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-xl);padding-bottom:var(--sp-l);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:var(--sp-m)}
.footer-brand p{font-size:var(--fs-small);color:rgba(255,255,255,.4);line-height:1.7;margin-top:var(--sp-xs)}
.footer-logo-txt{font-size:var(--fs-large);font-weight:var(--fw-bold);color:#fff;letter-spacing:-.5px}
.footer-logo-txt span{color:var(--hover)}
.footer-col h5{font-size:var(--fs-small);font-weight:var(--fw-bold);color:rgba(255,255,255,.5);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:var(--sp-s)}
.footer-col ul{display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:var(--fs-small);color:rgba(255,255,255,.45);transition:color .2s}.footer-col a:hover{color:#fff}
.linkedin-picto{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;border-radius:3px;background:#0A66C2;color:#fff;font-size:10px;font-weight:700;line-height:1;font-family:Arial,sans-serif;vertical-align:middle}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p,.footer-bottom a{font-size:11px;color:rgba(255,255,255,.2)}.footer-bottom a:hover{color:rgba(255,255,255,.5)}
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.fade-up.visible{opacity:1;transform:none}

/* ── PAGE HERO ── */
.page-hero{background:var(--surface);padding:var(--sp-xxl) 0 var(--sp-xl);border-bottom:1px solid var(--outline)}
.page-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xxl);align-items:center}
.hero-lead{font-size:var(--fs-large);font-weight:var(--fw-light);line-height:1.75;margin-bottom:var(--sp-m)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:var(--sp-m)}
.hero-stats{display:flex;flex-direction:column;gap:var(--sp-s)}

/* ── PROFILS ── */
.profiles-layout{display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-xxl);align-items:start}
.profils-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-s)}
.profil{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-m);transition:border-color .25s,transform .25s}
.profil:hover{border-color:var(--primary);transform:translateY(-3px)}
.profil-emoji{font-size:26px;margin-bottom:var(--sp-xs);display:block}
.profil h4{font-size:var(--fs-large);margin-bottom:4px}

/* ── PROGRAMMES ── */
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-s);margin-top:var(--sp-l)}
.prog-card{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);overflow:hidden;transition:transform .25s,box-shadow .25s}
.prog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(50,53,93,.1)}
.prog-card{border-bottom:5px solid var(--secondary)}.prog-card.featured{border-color:var(--primary);border-bottom-color:var(--primary)}
.prog-header{padding:var(--sp-m) var(--sp-m) var(--sp-s);background:var(--surface);position:relative}
.prog-card.featured .prog-header{background:var(--light)}
.prog-badge{position:absolute;top:12px;right:12px;background:var(--secondary);color:#fff;font-size:10px;font-weight:var(--fw-bold);letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:var(--br-full)}
.prog-level{display:inline-block;font-size:10px;font-weight:var(--fw-semibold);letter-spacing:1.5px;text-transform:uppercase;padding:3px 10px;border-radius:var(--br-full);margin-bottom:var(--sp-xs)}
.level-debutant{background:#D1FAE5;color:#065F46}.level-avance{background:var(--light);color:var(--primary)}.level-all{background:rgba(102,33,186,.1);color:var(--primary)}
.prog-title{font-size:var(--fs-xlarge);font-weight:var(--fw-semibold);color:var(--heading);margin-bottom:4px}
.prog-duration{font-size:var(--fs-small)}
.prog-body{padding:var(--sp-s) var(--sp-m) var(--sp-m)}
.prog-desc{font-size:var(--fs-small);line-height:1.65;margin-bottom:var(--sp-s);font-weight:var(--fw-light)}
.prog-modules{display:flex;flex-direction:column;gap:9px;margin-bottom:var(--sp-s)}
.prog-modules li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-small);color:var(--foreground)}
.prog-modules li::before{content:'→';color:var(--primary);font-weight:var(--fw-bold);flex-shrink:0;margin-top:1px}
.prog-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-s);border-top:1px solid var(--outline);gap:12px;flex-wrap:wrap}
.prog-format{font-size:var(--fs-small)}
.programme-note{text-align:center;margin-top:var(--sp-m);font-size:var(--fs-small);color:var(--neutral)}
.programme-note-link{color:var(--primary);font-weight:var(--fw-semibold)}

/* ── MODALITÉS ── */
.modalites-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-s);margin-bottom:var(--sp-m)}
.modalite{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-m) var(--sp-s);text-align:center;transition:border-color .25s,transform .25s}
.modalite:hover{border-color:var(--primary);transform:translateY(-3px)}
.modalite-icon{font-size:32px;margin-bottom:var(--sp-s);display:block}
.modalite h4{font-size:var(--fs-large);margin-bottom:6px}
.opco-block{background:var(--primary);border-radius:var(--br-xxl);padding:var(--sp-xl) var(--sp-xxl);display:grid;grid-template-columns:1fr auto;gap:var(--sp-l);align-items:center}
.opco-text h3{font-size:var(--fs-xxlarge);color:#fff;margin-bottom:var(--sp-xs)}
.opco-text p{color:rgba(255,255,255,.7);font-size:var(--fs-medium)}
.opco-highlight{color:#fff}
.qualiopi-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--br-xl);padding:var(--sp-s) var(--sp-m);text-align:center;flex-shrink:0}
.qualiopi-logo{font-size:32px;margin-bottom:6px;display:block}
.qualiopi-label{font-size:var(--fs-small);font-weight:var(--fw-bold);color:#fff;letter-spacing:1px;display:block;text-transform:uppercase}
.qualiopi-sub{font-size:var(--fs-small);color:rgba(255,255,255,.45);margin-top:4px;display:block}

/* ── ÉTAPES ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:var(--sp-xl)}
.steps::before{content:'';position:absolute;top:26px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--primary),var(--hover),var(--secondary));z-index:0}
.step{text-align:center;position:relative;z-index:1;padding:0 var(--sp-xs)}
.step-num{width:52px;height:52px;border-radius:50%;background:var(--background);border:2px solid var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-s);font-size:var(--fs-xlarge);font-weight:var(--fw-bold);color:var(--primary);transition:background .25s,color .25s}
.step:hover .step-num{background:var(--primary);color:#fff}
.step h4{font-size:var(--fs-medium);margin-bottom:6px}
.cta-eyebrow{color:var(--secondary)}
.cta-email-btn{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.2)}
.cta-note{margin-top:var(--sp-s)}
.footer-address{margin-top:.8rem}
.footer-links-inline{display:flex;gap:20px}

@media(max-width:860px){
  .page-hero-inner,.opco-block,.profiles-layout{grid-template-columns:1fr}
  .prog-grid,.steps{grid-template-columns:1fr}
  .modalites-grid,.profils-grid,.temos-grid,.faq-inner{grid-template-columns:1fr}
  .steps::before{display:none}
  .cta-box{padding:var(--sp-xl) var(--sp-m)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-m)}
  .nav-links,.nav-cta{display:none}.nav-toggle{display:flex}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--outline);padding:var(--sp-m) var(--sp-m) var(--sp-s);gap:var(--sp-s);z-index:199}
  .nav-cta.open{display:flex;padding:0 var(--sp-m) var(--sp-m)}
}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* --- INDEX SPECIFIQUE --- */
.badge-violet{border-color:rgba(102,33,186,.2);color:var(--primary);background:var(--light)}
/* ── LANDING SPÉCIFIQUE ── */
.hero{background:var(--surface);padding:var(--sp-xxl) 0;border-bottom:1px solid var(--outline)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-xxl);align-items:center}
.hero-desc{font-size:var(--fs-large);font-weight:var(--fw-light);line-height:1.7;margin-bottom:var(--sp-m);color:var(--body)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:var(--sp-l)}
.hero-right{display:flex;flex-direction:column;gap:var(--sp-s)}
.constat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-s);margin-top:var(--sp-xl)}
.constat-card{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-m);border-bottom:4px solid var(--secondary);transition:transform .25s}
.constat-card:hover{transform:translateY(-3px)}
.constat-icon{font-size:32px;margin-bottom:var(--sp-s);display:block}
.constat-card h3{font-size:var(--fs-large);margin-bottom:var(--sp-xxs)}
.philo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xxl);align-items:center}
.philo-quote{background:var(--heading);border-radius:var(--br-xxl);padding:var(--sp-xl);position:relative;overflow:hidden}
.philo-quote::before{content:'"';position:absolute;top:-20px;left:20px;font-size:120px;font-weight:800;color:rgba(255,255,255,.06);line-height:1;font-family:var(--font-body)}
.philo-quote p{font-size:var(--fs-xlarge);font-weight:var(--fw-semibold);color:#fff;line-height:1.4;position:relative;z-index:1}
.philo-quote p em{font-style:normal;color:var(--secondary)}
.philo-points{display:flex;flex-direction:column;gap:var(--sp-s)}
.philo-point{display:flex;gap:16px;align-items:flex-start;padding:var(--sp-s);background:var(--surface);border-radius:var(--br-xl)}
.philo-point-icon{width:40px;height:40px;border-radius:var(--br-m);background:var(--light);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.philo-point h4{font-size:var(--fs-medium);margin-bottom:4px}
.offres-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-s);margin-top:var(--sp-xl)}
.offre{border-radius:var(--br-xxl);padding:var(--sp-xl);transition:transform .3s}.offre:hover{transform:translateY(-4px)}
.offre-a{background:var(--primary)}.offre-b{background:var(--heading)}
.offre-badge{display:inline-block;font-size:var(--fs-small);font-weight:var(--fw-bold);letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:var(--br-full);margin-bottom:var(--sp-s)}
.offre-a .offre-badge{background:rgba(255,255,255,.15);color:rgba(255,255,255,.8)}
.offre-b .offre-badge{background:rgba(255,156,0,.2);color:var(--secondary)}
.offre h3{color:#fff;font-size:var(--fs-xxlarge);margin-bottom:var(--sp-xs)}
.offre>p{color:rgba(255,255,255,.65);font-size:var(--fs-medium);margin-bottom:var(--sp-m)}
.offre ul{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--sp-m)}
.offre ul li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-small);color:rgba(255,255,255,.75)}
.offre ul li::before{content:'✓';color:var(--secondary);font-weight:700;flex-shrink:0;margin-top:1px}
.btn-offre{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-small);font-weight:var(--fw-medium);padding:12px 24px;border-radius:30px;text-decoration:none;transition:all .2s}
.offre-a .btn-offre{background:#fff;color:var(--primary)}.offre-a .btn-offre:hover{background:var(--secondary);color:#fff}
.offre-b .btn-offre{background:var(--secondary);color:#fff}.offre-b .btn-offre:hover{background:var(--hover)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-s);text-align:center}
.stat-num{font-size:var(--fs-xxxlarge);font-weight:var(--fw-bold);color:var(--primary);line-height:1}
.stat-label{font-size:var(--fs-small);color:var(--neutral);margin-top:6px}
.contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:var(--sp-m)}
.contact-detail-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.contact-detail h4{font-size:var(--fs-medium);margin-bottom:4px}
.contact-detail p{font-size:var(--fs-small);color:var(--neutral)}
.contact-detail a{color:var(--primary)}
.hero-emphasis{font-style:normal;color:var(--primary)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xxl);align-items:start}
.contact-lead{margin-bottom:var(--sp-l)}
.contact-card{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-xl)}
.contact-card-title{margin-bottom:var(--sp-xs)}
.contact-card-desc{color:var(--neutral);margin-bottom:var(--sp-m)}
.contact-form{display:flex;flex-direction:column;gap:var(--sp-xs)}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--heading)}
.form-input,.form-textarea{width:100%;font-family:var(--font-body);font-size:var(--fs-small);color:var(--foreground);background:var(--background);border:1px solid var(--outline);border-radius:var(--br-m);padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.form-textarea{min-height:110px;resize:vertical}
.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,33,186,.12)}
.contact-feedback{min-height:1.2em;font-size:var(--fs-small);margin-top:4px}
.contact-feedback.success{color:#065F46}
.contact-feedback.error{color:#B91C1C}
.btn[disabled]{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}
.btn-block-center{width:100%;justify-content:center}
.btn-block-top{margin-top:var(--sp-xs)}
.contact-card-note{text-align:center;margin-top:var(--sp-s);font-size:var(--fs-small);color:var(--neutral)}
.footer-address{margin-top:.8rem}
.footer-links-inline{display:flex;gap:20px}
@media(max-width:860px){.hero-inner,.philo-grid,.offres-grid,.contact-layout{grid-template-columns:1fr}.constat-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.temos-grid{grid-template-columns:1fr}.contact-card{padding:var(--sp-m) 15px}.cta-box{border-radius:var(--br-xxl);padding:var(--sp-xl) var(--sp-m)}.footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-m)}.nav-links,.nav-cta{display:none}.nav-toggle{display:flex}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--outline);padding:var(--sp-m) var(--sp-m) var(--sp-s);gap:var(--sp-s);z-index:199}.nav-cta.open{display:flex;padding:0 var(--sp-m) var(--sp-m)}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* --- DIAGNOSTIC SPECIFIQUE --- */
.eyebrow-orange{color:var(--secondary)}
.diag-hero .breadcrumb{color:rgba(255,255,255,.35)}
.diag-hero .breadcrumb a{color:rgba(255,255,255,.35)}
.diag-hero .breadcrumb a:hover{color:rgba(255,255,255,.7)}
/* ── HERO DARK ── */
.diag-hero{background:var(--heading);padding:var(--sp-xxl) 0 var(--sp-xl);position:relative;overflow:hidden}
.diag-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 65% at 100% 40%,rgba(102,33,186,.5) 0%,transparent 55%),radial-gradient(ellipse 35% 40% at 0% 70%,rgba(255,156,0,.1) 0%,transparent 50%)}
.diag-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:55% 45%;gap:var(--sp-xxl);align-items:center}
.diag-hero h1{color:#fff}.diag-hero h1 em{font-style:normal;color:var(--secondary)}
.hero-desc-dark{font-size:var(--fs-large);font-weight:var(--fw-light);color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:var(--sp-m)}
.hero-proof{display:flex;align-items:center;gap:var(--sp-s);flex-wrap:wrap;padding-top:var(--sp-m);border-top:1px solid rgba(255,255,255,.08)}
.proof-item{display:flex;align-items:center;gap:8px;font-size:var(--fs-small);color:rgba(255,255,255,.45)}
.proof-dot{width:5px;height:5px;border-radius:50%;background:var(--secondary);flex-shrink:0}

/* Carte diagnostic */
.diag-preview{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--br-xxl);padding:var(--sp-m)}
.diag-preview-badge{display:inline-block;background:var(--secondary);color:#fff;font-size:11px;font-weight:var(--fw-bold);letter-spacing:1px;text-transform:uppercase;padding:6px 16px;border-radius:var(--br-full);margin-bottom:var(--sp-m)}
.diag-items{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--sp-m)}
.diag-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:rgba(255,255,255,.04);border-radius:var(--br-l);border:1px solid rgba(255,255,255,.06)}
.diag-item-icon{width:34px;height:34px;border-radius:var(--br-m);background:rgba(255,156,0,.15);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.diag-item-text strong{display:block;font-size:var(--fs-small);font-weight:var(--fw-semibold);color:#fff;margin-bottom:3px}
.diag-item-text span{font-size:var(--fs-small);color:rgba(255,255,255,.7)}
.diag-footer-row{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-s);border-top:1px solid rgba(255,255,255,.08);font-size:var(--fs-small);color:rgba(255,255,255,.35)}
.diag-footer-row strong{color:var(--secondary)}

/* Scénarios */
.scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-s)}
.scenario{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-m);border-left:4px solid transparent;transition:border-color .25s,transform .25s}
.scenario:hover{border-left-color:var(--primary);transform:translateX(4px)}
.scenario-emoji{font-size:28px;margin-bottom:var(--sp-s);display:block}
.scenario h3{font-size:var(--fs-large);margin-bottom:8px}
.scenario-solution{margin-top:var(--sp-s);padding-top:var(--sp-s);border-top:1px solid var(--outline);font-size:var(--fs-small);color:var(--primary);font-weight:var(--fw-semibold)}

/* Livrables */
.livrables{display:flex;flex-direction:column;gap:14px;margin-top:var(--sp-l)}
.livrable{display:flex;align-items:flex-start;gap:16px;padding:var(--sp-s);background:var(--surface);border-radius:var(--br-xl)}
.livrable-num{width:34px;height:34px;border-radius:var(--br-m);background:linear-gradient(135deg,var(--primary),var(--hover));display:flex;align-items:center;justify-content:center;font-size:var(--fs-small);font-weight:var(--fw-bold);color:#fff;flex-shrink:0}
.livrable h4{font-size:var(--fs-medium);margin-bottom:4px}

/* Steps diagnostic dark */
.diag-steps-card{background:var(--heading);border-radius:var(--br-xxl);padding:var(--sp-xl);position:relative;overflow:hidden}
.diag-steps-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 80% 20%,rgba(102,33,186,.35) 0%,transparent 55%)}
.diag-steps-card-inner{position:relative;z-index:2}
.diag-steps-card h3{color:#fff;margin-bottom:6px}
.diag-steps-card>.diag-steps-card-inner>p{font-size:var(--fs-small);color:rgba(255,255,255,.4);margin-bottom:var(--sp-m)}
.diag-step-list{display:flex;flex-direction:column}
.diag-step-row{display:flex;gap:16px;padding:var(--sp-s) 0;border-bottom:1px solid rgba(255,255,255,.06)}
.diag-step-row:last-child{border-bottom:none}
.diag-step-circle{width:30px;height:30px;border-radius:50%;background:rgba(255,156,0,.15);border:1.5px solid rgba(255,156,0,.3);display:flex;align-items:center;justify-content:center;font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--secondary);flex-shrink:0}
.diag-step-content h4{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:#fff;margin-bottom:4px}
.diag-step-content p{font-size:var(--fs-small);color:rgba(255,255,255,.4);line-height:1.5}
.diag-cta-inline{margin-top:var(--sp-m);padding:var(--sp-s);background:rgba(255,156,0,.1);border:1px solid rgba(255,156,0,.2);border-radius:var(--br-l);text-align:center}
.diag-cta-inline .price{font-size:2rem;font-weight:var(--fw-bold);color:var(--secondary);display:block;margin-bottom:4px}
.diag-cta-inline .price-sub{font-size:var(--fs-small);color:rgba(255,255,255,.35);display:block;margin-bottom:var(--sp-s)}

/* Agents */
.agents-section{background:var(--heading)}
.agents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-s)}
.agent-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--br-xxl);padding:var(--sp-m);transition:background .3s,border-color .3s,transform .3s}
.agent-card:hover{background:rgba(255,255,255,.07);border-color:rgba(102,33,186,.4);transform:translateY(-3px)}
.agent-icon{width:48px;height:48px;border-radius:var(--br-l);background:rgba(102,33,186,.2);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:var(--sp-s)}
.agent-card h3{font-size:var(--fs-large);color:#fff;margin-bottom:8px}
.agent-card p{font-size:var(--fs-small);color:rgba(255,255,255,.70);line-height:1.65;font-weight:var(--fw-light)}
.agent-example{margin-top:var(--sp-s);padding:10px 14px;background:rgba(255,255,255,.04);border-radius:var(--br-m);font-size:12px;color:rgba(255,255,255,.65);border-left:2px solid rgba(102,33,186,.4);font-style:italic}

/* Souveraine */
.souveraine-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xxl);align-items:center}
.secteurs{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--sp-m)}
.secteur{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);font-weight:var(--fw-medium);padding:7px 16px;background:var(--surface);border-radius:var(--br-full);color:var(--heading)}
.security-card{background:var(--heading);border-radius:var(--br-xxl);padding:var(--sp-xl) 15px;position:relative;overflow:hidden}
.security-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(102,33,186,.25) 0%,transparent 60%)}
.security-points{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--sp-s)}
.security-point{display:flex;align-items:flex-start;gap:14px;padding:var(--sp-s);background:rgba(255,255,255,.04);border-radius:var(--br-xl);border:1px solid rgba(255,255,255,.06)}
.security-icon{width:38px;height:38px;border-radius:var(--br-m);background:rgba(102,33,186,.2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.security-point h4{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:#fff;margin-bottom:4px}
.security-point p{font-size:var(--fs-small);color:rgba(255,255,255,.4);line-height:1.5}

/* Cas concrets */
.cas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-s)}
.cas-card{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xxl);padding:var(--sp-m);transition:border-color .25s,transform .25s}
.cas-card:hover{border-color:var(--primary);transform:translateY(-3px)}
.cas-sector{display:inline-block;font-size:10px;font-weight:var(--fw-bold);letter-spacing:1.5px;text-transform:uppercase;padding:3px 10px;border-radius:var(--br-full);background:rgba(102,33,186,.08);color:var(--primary);margin-bottom:var(--sp-s)}
.cas-card h3{font-size:var(--fs-large);margin-bottom:8px}
.cas-card p{font-size:var(--fs-small);line-height:1.65;margin-bottom:var(--sp-s);font-weight:var(--fw-light)}
.cas-result{display:flex;align-items:center;gap:10px;padding:12px;background:var(--surface);border-radius:var(--br-l)}
.cas-result-num{font-size:var(--fs-xxlarge);font-weight:var(--fw-bold);color:var(--primary);flex-shrink:0;line-height:1}
.cas-result-label{font-size:var(--fs-small);color:#3F36AD;line-height:1.4}

/* Témoignage big */
.temo-big{background:var(--heading);border-radius:var(--br-xxl);padding:var(--sp-xxl);position:relative;overflow:hidden;max-width:800px;margin:0 auto}
.temo-big::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 20% 50%,rgba(102,33,186,.25) 0%,transparent 55%)}
.temo-big-content{position:relative;z-index:2}
.quote-mark{font-size:70px;font-weight:800;color:rgba(255,156,0,.2);line-height:.7;display:block;margin-bottom:var(--sp-m)}
.temo-big-text{font-size:var(--fs-xlarge);font-weight:var(--fw-light);color:rgba(255,255,255,.8);line-height:1.65;font-style:italic;margin-bottom:var(--sp-m)}
.temo-big-text strong{font-style:normal;font-weight:var(--fw-semibold);color:#fff}
.temo-big-author{display:flex;align-items:center;gap:14px}
.temo-big-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--hover));display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-medium);color:#fff}
.temo-big-name{font-size:var(--fs-medium);font-weight:var(--fw-semibold);color:#fff}
.temo-big-role{font-size:var(--fs-small);color:rgba(255,255,255,.35)}
.breadcrumb-current{color:rgba(255,255,255,.5)}
.hero-actions-dark{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:var(--sp-m)}
.hero-btn-ghost{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border:1.5px solid rgba(255,255,255,.12)}
.hero-btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25)}
.diag-preview-note{font-size:var(--fs-small);color:rgba(255,255,255,.4);margin-bottom:var(--sp-m)}
.diagnostic-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xxl);align-items:start}
.paragraph-spaced{margin-bottom:var(--sp-s)}
.btn-block-center{width:100%;justify-content:center}
.section-intro-light{color:#fff}
.section-intro-light-muted{color:rgba(255,255,255,.5)}
.section-intro-light-title{color:#fff}
.section-intro-light-text{color:rgba(255,255,255,.5)}
.cta-call-btn{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.2)}
.cta-disclaimer{font-size:var(--fs-small);color:rgba(255,255,255,.25);margin-top:var(--sp-s)}
.footer-address{margin-top:.8rem}
.footer-links-inline{display:flex;gap:20px}

/* Mentions legales */
.legal-layout{max-width:920px;display:flex;flex-direction:column;gap:var(--sp-m)}
.legal-block{background:var(--background);border:1px solid var(--outline);border-radius:var(--br-xl);padding:var(--sp-m)}
.legal-block h2{font-size:var(--fs-xlarge);margin-bottom:var(--sp-xs)}
.legal-block h3{font-size:var(--fs-medium);margin-bottom:10px;color:var(--heading)}
.legal-block p,.legal-block li{font-size:var(--fs-small);line-height:1.8;color:var(--body)}
.legal-list{display:flex;flex-direction:column;gap:8px}
.legal-block a{color:var(--primary);font-weight:var(--fw-semibold)}
.legal-block a:hover{color:var(--hover)}
.error-code{font-size:clamp(64px,14vw,140px);line-height:1;color:var(--primary);margin-bottom:var(--sp-s)}

@media(max-width:860px){
  .diag-hero-inner,.souveraine-grid,.diagnostic-layout{grid-template-columns:1fr}
  .scenarios,.agents-grid,.cas-grid{grid-template-columns:1fr}
  .diag-steps-card{padding:var(--sp-m) 15px}
  .diag-steps-card h3{font-size:var(--fs-large);line-height:1.25}
  .diag-step-row{gap:10px}
  .diag-step-content{min-width:0}
  .diag-step-content h4,.diag-step-content p{overflow-wrap:anywhere;word-break:break-word}
  .diag-cta-inline .btn{white-space:normal}
  .temo-big{padding:var(--sp-m)}
  .faq-inner{grid-template-columns:1fr}
  .cta-box{padding:var(--sp-xl) var(--sp-m)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-m)}
  .nav-links,.nav-cta{display:none}.nav-toggle{display:flex}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--outline);padding:var(--sp-m) var(--sp-m) var(--sp-s);gap:var(--sp-s);z-index:199}
  .nav-cta.open{display:flex;padding:0 var(--sp-m) var(--sp-m)}
}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.diag-step-circle{width:28px;height:28px}}
