/**
 * Feuille reprise telle quelle depuis plusquune-landing-B2C.html (lignes 12 à 224).
 * Ne pas réécrire : c'est la référence.
 */

#colophon{display:none}.scroll-top{display:none}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --v:#1E0D35;--v2:#2D1547;
  --r:#C96B8A;--rd:rgba(201,107,138,.35);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --text:#1A0D2E;--text2:#5A4A6A;
  --cream:#FAF7F4;--cream2:#F2EDE8
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
nav.sc{padding:14px 48px;background:rgba(250,248,244,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(26,13,46,.1)}
.nl{font-size:11px;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);text-decoration:none;transition:color .25s}
.nl:hover{color:#fff}
nav.sc .nl{color:var(--text2)}
nav.sc .nl:hover{color:var(--text)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;letter-spacing:.04em;color:#fff;text-decoration:none;transition:color .5s;white-space:nowrap}
nav.sc .nav-logo{color:var(--text)}
.nc{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#fff;text-decoration:none;background:var(--r);padding:10px 24px;border-radius:1px;transition:all .3s}
.nc:hover{background:#b55a79;transform:translateY(-1px)}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 40px 80px;overflow:hidden;background:var(--v)}
.hbg{position:absolute;inset:0}
.hbg img{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.2}
.hbg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 90% at 50% 50%,rgba(30,13,53,.9) 0%,rgba(30,13,53,.6) 65%,transparent 100%)}
.hc{position:relative;z-index:1}
.hey{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--r);margin-bottom:28px;opacity:0;animation:rise 1s var(--ease) .3s forwards}
.ht{font-family:var(--sans);font-size:clamp(60px,11vw,120px);font-weight:600;line-height:.9;letter-spacing:-.03em;color:#fff;opacity:0;animation:rise 1s var(--ease) .5s forwards}
.hts{font-family:var(--serif);font-size:clamp(54px,9.5vw,108px);font-weight:300;font-style:italic;color:var(--r);display:block;opacity:0;animation:rise 1s var(--ease) .65s forwards}
.hrule{width:1px;height:48px;background:linear-gradient(to bottom,transparent,var(--rd),transparent);margin:28px auto;opacity:0;animation:rise 1s var(--ease) .85s forwards}
.hl{font-family:var(--serif);font-size:clamp(18px,2.5vw,26px);font-style:italic;font-weight:300;color:#fff;line-height:1.55;max-width:600px;margin:0 auto 16px;opacity:0;animation:rise 1s var(--ease) 1s forwards}
.hl em{color:var(--r);font-style:italic}
.hm{display:flex;align-items:center;justify-content:center;gap:20px;font-size:10px;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-bottom:40px;opacity:0;animation:rise 1s var(--ease) 1.1s forwards}
.dot{width:3px;height:3px;border-radius:50%;background:var(--rd)}
.hb{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-decoration:none;padding:15px 42px;background:var(--r);border:1px solid var(--r);border-radius:1px;transition:all .3s;opacity:0;animation:rise 1s var(--ease) 1.25s forwards}
.hb:hover{background:#b55a79;transform:translateY(-2px)}

/* SECTIONS */
.sec{padding:88px 52px;border-top:1px solid rgba(26,13,46,.07)}
.sec-dark{background:var(--v);border-top:none}
.sec-mid{background:var(--v2);border-top:none}
.sec-alt{background:var(--cream2);border-top:1px solid rgba(26,13,46,.06)}
.inn{max-width:880px;margin:0 auto}
.lbl{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:rgba(26,13,46,.3);margin-bottom:48px}
.lbl-w{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:48px}
.big{font-family:var(--serif);font-size:clamp(24px,3.8vw,44px);font-weight:300;line-height:1.4;color:var(--text)}
.big em{font-style:italic;color:var(--r)}
.big-w{font-family:var(--serif);font-size:clamp(24px,3.8vw,44px);font-weight:300;line-height:1.4;color:#fff}
.big-w em{font-style:italic;color:var(--r)}
.sub{font-size:14px;font-weight:300;color:var(--text2);line-height:1.8;max-width:480px;margin-top:16px}
.sub-w{font-size:14px;font-weight:300;color:rgba(255,255,255,.45);line-height:1.8;max-width:480px;margin-top:16px}

/* PILLARS */
.pl{list-style:none;margin-top:48px}
.pi{display:grid;grid-template-columns:40px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid rgba(26,13,46,.07);align-items:start;transition:opacity .3s}
.pl:hover .pi{opacity:.35}
.pl:hover .pi:hover{opacity:1}
.pn{font-family:var(--serif);font-size:12px;font-style:italic;color:var(--r);opacity:.7;padding-top:2px}
.pt{font-size:15px;font-weight:500;color:var(--text);margin-bottom:4px}
.pd{font-size:13px;font-weight:300;color:var(--text2);line-height:1.65}

/* FULLIMG */
.fullimg{position:relative;height:440px;overflow:hidden}
.fullimg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.fullimg-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(30,13,53,.88) 0%,rgba(30,13,53,.45) 55%,rgba(30,13,53,.15) 100%)}
.fullimg-txt{position:absolute;inset:0;display:flex;align-items:center;padding:0 52px}
.fullimg-label{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--r);margin-bottom:18px}
.fullimg-quote{font-family:var(--serif);font-size:clamp(22px,3vw,36px);font-weight:300;font-style:italic;color:#fff;line-height:1.45;max-width:500px}
.fullimg-quote em{color:var(--r)}

/* FORMAT */
.fmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.fmt-item{background:#fff;border:1px solid rgba(26,13,46,.06);border-radius:8px;padding:28px 22px;transition:all .3s}
.fmt-item:hover{background:var(--cream2);transform:translateY(-2px)}
.fmt-icon{font-size:20px;color:var(--r);margin-bottom:14px;opacity:.8}
.fmt-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:5px}
.fmt-desc{font-size:12px;font-weight:300;color:var(--text2);line-height:1.65}

/* BOOTCAMPS */
.bc{display:grid;grid-template-columns:1fr 1fr}
.bci{position:relative;height:380px;overflow:hidden}
.bci img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.bci:hover img{transform:scale(1.04)}
.bov{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,6,30,.92) 0%,rgba(18,6,30,.3) 55%,rgba(18,6,30,.1) 100%)}
.bin{position:absolute;bottom:0;left:0;right:0;padding:28px 36px;z-index:2}
.bd{font-size:10px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--r);display:block;margin-bottom:7px}
.bt{font-family:var(--serif);font-size:24px;font-weight:400;color:#fff;margin-bottom:5px;line-height:1.2}
.bp{font-size:12px;font-weight:300;color:rgba(255,255,255,.45);line-height:1.6;margin-bottom:8px}
.btag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.22)}

/* IMPACT */
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ic{background:#fff;border-radius:12px;padding:40px 36px;position:relative;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.25)}
.ic::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--r),transparent)}
.ia{font-size:clamp(36px,5vw,52px);font-weight:700;color:var(--r);line-height:1;margin-bottom:4px;white-space:nowrap}
.ilb{font-size:13px;font-weight:400;color:var(--text2);line-height:1.6;margin-bottom:20px}
.idv{width:32px;height:1px;background:rgba(26,13,46,.1);margin-bottom:16px}
.inote{font-size:13px;font-weight:300;color:var(--text2);line-height:1.75;margin-bottom:20px}
.itags{display:flex;flex-wrap:wrap;gap:7px}
.itags span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--r);padding:5px 12px;border:1px solid var(--rd);border-radius:20px;background:rgba(201,107,138,.06)}

/* SELECTION */
.sel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.sel-item{background:#fff;border:1px solid rgba(26,13,46,.06);border-radius:8px;padding:28px 24px;transition:background .3s}
.sel-item:hover{background:var(--cream2)}
.sel-num{font-family:var(--serif);font-size:11px;font-style:italic;color:var(--r);opacity:.7;margin-bottom:12px}
.sel-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:5px}
.sel-desc{font-size:12px;font-weight:300;color:var(--text2);line-height:1.65}

/* CTA */
.cta-wrap{max-width:460px;margin:40px auto 0;display:flex;flex-direction:column;gap:12px}
.btn-main{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px 28px;background:var(--r);color:#fff;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border-radius:1px;transition:all .3s;border:none;cursor:pointer;width:100%}
.btn-main:hover{background:#b55a79;transform:translateY(-2px)}
.cta-note{text-align:center;font-size:11px;font-weight:300;color:rgba(255,255,255,.25);margin-top:8px;line-height:1.7;font-style:italic}

/* FORMULAIRE CANDIDATURE */
.cand-form{max-width:520px;margin:40px auto 0;text-align:left}
.cand-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cand-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.cand-label{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.cand-input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:2px;padding:13px 16px;color:#fff;font-family:var(--sans);font-size:13px;font-weight:300;outline:none;transition:border-color .25s,background .25s;width:100%}
.cand-input::placeholder{color:rgba(255,255,255,.18)}
.cand-input:focus{border-color:rgba(201,107,138,.55);background:rgba(255,255,255,.09)}
.cand-textarea{resize:vertical;min-height:110px}
.cand-success{display:none;text-align:center;padding:48px 20px}
.cand-success-icon{width:48px;height:48px;border-radius:50%;background:rgba(201,107,138,.15);border:1px solid rgba(201,107,138,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--r)}
.cand-success-title{font-family:var(--serif);font-size:1.8rem;font-weight:300;color:#fff;margin-bottom:10px}
.cand-success-sub{font-size:13px;color:rgba(255,255,255,.35);line-height:1.7}

footer{background:#160d1e;padding:60px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05)}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:#fff;letter-spacing:.04em}
.footer-tagline{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-top:6px}
.footer-info{font-size:.75rem;letter-spacing:.1em;color:rgba(255,255,255,.3)}
.footer-info a{color:rgba(255,255,255,.3);text-decoration:none;transition:color .3s}
.footer-info a:hover{color:var(--r)}

@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ── MOBILE COMPLET ─────────────────────────────── */
@media(max-width:720px){
  nav{padding:16px 20px}
  nav.sc{padding:12px 20px}
  .nc{font-size:10px;padding:8px 16px;letter-spacing:.1em}

  .hero{padding:100px 24px 64px;min-height:100svh}
  .ht{font-size:clamp(52px,16vw,80px)}
  .hts{font-size:clamp(46px,14vw,72px)}
  .hl{font-size:clamp(17px,4.5vw,22px);max-width:100%}
  .hsub{font-size:10px}
  .hm{gap:12px;font-size:9px;flex-wrap:wrap;justify-content:center}
  .hb{padding:13px 32px;font-size:10px;width:100%;text-align:center}
  .hrule{height:36px;margin:20px auto}

  .sec{padding:56px 20px}
  .inn{max-width:100%}

  .big,.big-w{font-size:clamp(22px,6vw,32px)}
  .sub,.sub-w{font-size:13px;max-width:100%}
  .lbl,.lbl-w{margin-bottom:32px}

  .pl{margin-top:32px}
  .pi{grid-template-columns:32px 1fr;gap:16px;padding:18px 0}
  .pt{font-size:14px}
  .pd{font-size:12px}

  .fullimg{height:280px}
  .fullimg-txt{padding:0 20px}
  .fullimg-quote{font-size:clamp(18px,5vw,24px)}

  .fmt-grid{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .fmt-item{padding:20px 18px}

  .bc{grid-template-columns:1fr}
  .bci{height:240px}
  .bin{padding:20px 24px}
  .bt{font-size:20px}

  .impact-grid{grid-template-columns:1fr !important;gap:28px !important}
  .ic{padding:28px 24px}
  .ia{font-size:clamp(32px,8vw,44px)}

  .sel-grid{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .sel-item{padding:20px 18px}

  .roi-grid{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .roi-card{padding:22px 18px}

  .what-grid{grid-template-columns:1fr;gap:32px}
  .what-list{margin-top:20px}

  .fmt-grid.three{grid-template-columns:1fr}

  .proc-grid{grid-template-columns:1fr;gap:20px;margin-top:32px}

  .cta-grid{grid-template-columns:1fr;gap:12px;max-width:100%;margin-top:28px}
  .cta-wrap{max-width:100%}
  .btn-main,.cta-primary,.cta-secondary{padding:15px 20px;font-size:10px}

  footer{padding:20px;flex-direction:column;text-align:center;gap:8px}
  .fi{text-align:center}
}

@media(max-width:400px){
  .ht{font-size:48px}
  .hts{font-size:42px}
  .hm{display:none}
}
