/* ═══════════════════════════════════════════════════════
   BISHOP INVEST — main.css
   Design premium noir/blanc/vert · Montserrat
═══════════════════════════════════════════════════════ */

:root {
  --black: #000;
  --black-soft: #0A0A0A;
  --black-card: #111;
  --white: #FFF;
  --green: #006C5A;
  --green-mid: #008066;
  --green-deep: #002E28;
  --cream: #F7F4EF;
  --cream-dark: #EDE9E3;
  --gray-border: #1C1C1C;
  --gray-border-light: #D8D5D0;
  --gray-mid: #6F6F6F;
  --gray-light: #A8A8A8;
  --font: "Montserrat", sans-serif;
  --xs: 11px; --sm: 13px; --base: 15px; --md: 16px; --lg: 18px;
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background:var(--black); color:var(--white);
  font-family:var(--font); font-size:var(--base); line-height:1.65;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
ul,ol { list-style:none; }
button { cursor:pointer; font-family:var(--font); }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.5; transform:scale(1.5); }
}

/* ── MASTERCLASS BANNER ── */
.mc-fixed {
  position:fixed; top:0; left:0; right:0; z-index:300;
  background:var(--green-deep); border-bottom:0.5px solid rgba(255,255,255,.08);
  padding:10px 48px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.mc-left { display:flex; align-items:center; gap:18px; }
.mc-dot { width:7px; height:7px; border-radius:50%; background:#4ADE80; animation:pulse 2s ease-in-out infinite; flex-shrink:0; }
.mc-label { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); white-space:nowrap; }
.mc-text { font-size:var(--base); font-weight:400; color:var(--white); }
.mc-text em { font-weight:300; color:rgba(255,255,255,.55); font-style:normal; margin-left:12px; font-size:var(--sm); }
.btn-mc { background:transparent; color:var(--white); border:0.5px solid rgba(255,255,255,.4); padding:8px 20px; font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; border-radius:2px; transition:all .2s; }
.btn-mc:hover { border-color:var(--white); background:rgba(255,255,255,.07); }

/* ── NAV ── */
.bishop-nav {
  position:fixed; top:40px; left:0; right:0; z-index:200;
  background:rgba(0,0,0,.93); backdrop-filter:blur(16px);
  border-bottom:0.5px solid var(--gray-border);
  height:64px; display:flex; align-items:center;
  padding:0 48px; justify-content:space-between;
}
.logo {
  font-size:18px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--white); display:inline-flex; align-items:center;
}
.logo-i { position:relative; display:inline-block; }
.logo-i .chess { position:absolute; top:-14px; left:50%; transform:translateX(-50%); display:block; }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-links a { font-size:var(--xs); font-weight:500; letter-spacing:.07em; color:var(--gray-light); text-transform:uppercase; transition:color .2s; }
.nav-links a:hover { color:var(--white); }
.nav-links a.nav-blog { font-weight:700; color:var(--white); }
.nav-cta { background:var(--green); color:var(--white); border:none; padding:10px 24px; font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; border-radius:2px; transition:background .2s; }
.nav-cta:hover { background:var(--green-mid); }
.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:4px; }
.nav-toggle span { display:block; width:22px; height:1.5px; background:var(--white); transition:all .2s; }

/* MOBILE MENU */
.mobile-menu { display:none; position:fixed; top:104px; left:0; right:0; bottom:0; background:var(--black); z-index:150; padding:40px 32px; overflow-y:auto; }
.mobile-menu:not([hidden]) { display:flex; flex-direction:column; }
.mobile-menu ul { display:flex; flex-direction:column; gap:4px; }
.mobile-menu a { font-size:22px; font-weight:300; color:var(--white); padding:14px 0; border-bottom:0.5px solid var(--gray-border); display:block; transition:color .2s; }
.mobile-menu a:hover { color:var(--green); }
.mobile-menu .mobile-cta { color:var(--green); font-weight:600; border:none; }

/* ── HERO ── */
.hero {
  display:grid; grid-template-columns:1fr 1fr;
  min-height:100vh; padding-top:104px;
  border-bottom:0.5px solid var(--gray-border);
}
.hero-left {
  background:var(--black); padding:72px 56px 64px;
  display:flex; flex-direction:column; justify-content:center;
}
.hero-eyebrow {
  display:flex; align-items:center; gap:10px;
  font-size:var(--xs); font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--green);
  margin-bottom:28px; animation:fadeUp .7s ease both;
}
.hero-eyebrow::before { content:""; display:block; width:22px; height:1px; background:var(--green); flex-shrink:0; }
.hero-title { font-size:clamp(36px,4vw,58px); font-weight:300; line-height:1.08; letter-spacing:-.02em; color:var(--white); margin-bottom:22px; animation:fadeUp .7s .1s ease both; }
.hero-title .accent { color:var(--green); font-style:italic; }
.hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.65); max-width:440px; line-height:1.85; margin-bottom:32px; animation:fadeUp .7s .2s ease both; }
.hero-what { background:var(--black-card); border:0.5px solid var(--gray-border); border-left:2px solid var(--green); border-radius:2px; padding:20px 24px; margin-bottom:36px; animation:fadeUp .7s .25s ease both; }
.hero-what-title { font-size:var(--xs); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.hero-what-text { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.7); line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; animation:fadeUp .7s .3s ease both; }
.hero-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.28); letter-spacing:.04em; margin-bottom:36px; animation:fadeUp .7s .32s ease both; }
.hero-bottom-stats { display:flex; gap:36px; flex-wrap:wrap; padding-top:28px; border-top:0.5px solid var(--gray-border); animation:fadeUp .7s .4s ease both; }
.hstat-num { font-size:20px; font-weight:200; color:var(--white); letter-spacing:-.02em; line-height:1; margin-bottom:5px; }
.hstat-label { font-size:var(--xs); font-weight:500; letter-spacing:.09em; text-transform:uppercase; color:var(--gray-mid); }
.hero-right { position:relative; overflow:hidden; background:#0D0D0D; }
.hero-right img { width:100%; height:100%; object-fit:cover; object-position:center 10%; display:block; }
.hero-photo-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,.78) 68%, rgba(0,0,0,.96) 100%); }
.hero-photo-stats { position:absolute; bottom:0; left:0; right:0; padding:28px 32px; }
.photo-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; margin-bottom:20px; }
.pstat-num { font-size:26px; font-weight:300; color:var(--white); letter-spacing:-.01em; line-height:1; margin-bottom:5px; }
.pstat-label { font-size:var(--sm); font-weight:400; color:rgba(255,255,255,.65); line-height:1.4; }
.photo-identity { padding-top:16px; border-top:0.5px solid rgba(255,255,255,.15); }
.photo-name { font-size:var(--md); font-weight:700; color:var(--white); letter-spacing:.08em; text-transform:uppercase; margin-bottom:3px; }
.photo-role { font-size:var(--sm); font-weight:300; color:var(--green); letter-spacing:.04em; margin-bottom:6px; }
.photo-tagline { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.5); line-height:1.5; }
.linkedin-link { display:inline-flex; align-items:center; gap:7px; font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--green); margin-top:8px; transition:color .2s; }
.linkedin-link:hover { color:var(--green-mid); }
.linkedin-icon { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; background:var(--green); color:var(--white); font-size:10px; font-weight:700; border-radius:2px; }

/* ── BTNS ── */
.btn-primary { background:var(--green); color:var(--white); border:none; padding:15px 28px; font-size:var(--sm); font-weight:600; letter-spacing:.08em; text-transform:uppercase; border-radius:2px; transition:background .2s,transform .15s; display:inline-flex; align-items:center; }
.btn-primary:hover { background:var(--green-mid); transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--white); border:0.5px solid rgba(255,255,255,.28); padding:15px 28px; font-size:var(--sm); font-weight:400; letter-spacing:.08em; text-transform:uppercase; border-radius:2px; transition:all .2s; display:inline-flex; align-items:center; }
.btn-ghost:hover { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.04); }

/* ── ORIENTATION ── */
.orientation { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.section-eyebrow { display:flex; align-items:center; gap:10px; font-size:var(--xs); font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-bottom:16px; }
.section-eyebrow::before { content:""; display:block; width:22px; height:1px; background:var(--green); flex-shrink:0; }
.orient-title { font-size:clamp(26px,3vw,40px); font-weight:300; color:var(--black); margin-bottom:10px; letter-spacing:-.01em; line-height:1.2; }
.orient-sub { font-size:var(--base); font-weight:300; color:#444; margin-bottom:44px; max-width:500px; line-height:1.7; }
.orient-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.orient-card { background:var(--white); border:0.5px solid #C0BDB8; border-radius:4px; padding:32px 24px 28px; cursor:pointer; transition:transform .2s,box-shadow .2s,border-color .2s; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.orient-card::after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--green); transform:scaleX(0); transform-origin:left; transition:transform .28s; }
.orient-card:hover { transform:translateY(-4px); box-shadow:0 14px 44px rgba(0,0,0,.12); border-color:#999; }
.orient-card:hover::after { transform:scaleX(1); }
.orient-num { font-size:36px; font-weight:200; color:#C8C5C0; line-height:1; margin-bottom:20px; letter-spacing:-.02em; }
.orient-name { font-size:var(--md); font-weight:600; color:#111; margin-bottom:10px; line-height:1.35; }
.orient-desc { font-size:var(--base); font-weight:300; color:#555; line-height:1.7; margin-bottom:24px; flex:1; }
.orient-link { font-size:var(--xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:7px; border-top:0.5px solid #E8E5E0; padding-top:16px; margin-top:auto; transition:gap .2s; }
.orient-link::after { content:"→"; }
.orient-card:hover .orient-link { gap:11px; }

/* ── OFFRES ── */
.offres { background:var(--black); padding:88px 48px; border-bottom:0.5px solid var(--gray-border); }
.offres-header { margin-bottom:52px; }
.offres-title { font-size:clamp(28px,3.2vw,44px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.15; }
.offres-grid { display:grid; grid-template-columns:1fr 1fr; border:0.5px solid var(--gray-border); }
.offre-card { padding:48px 44px; border-right:0.5px solid var(--gray-border); transition:background .2s; position:relative; display:flex; flex-direction:column; }
.offre-card:last-child { border-right:none; }
.offre-card:hover { background:var(--black-card); }
.offre-tag { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:20px; display:flex; align-items:center; gap:8px; }
.offre-tag::before { content:""; display:block; width:14px; height:1px; background:var(--green); }
.offre-name { font-size:36px; font-weight:200; color:var(--white); letter-spacing:-.01em; margin-bottom:16px; }
.offre-desc { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.65); line-height:1.8; margin-bottom:28px; max-width:400px; }
.offre-list { list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.offre-list li { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.6); display:flex; align-items:flex-start; gap:12px; line-height:1.6; }
.offre-list li::before { content:""; display:block; width:16px; height:1px; background:var(--green); margin-top:10px; flex-shrink:0; }
.offre-list li strong { font-weight:500; color:rgba(255,255,255,.85); }
.offre-reseau { background:rgba(0,108,90,.1); border:0.5px solid rgba(0,108,90,.3); border-radius:2px; padding:16px 20px; margin-bottom:36px; font-size:var(--base); font-weight:300; color:rgba(255,255,255,.6); line-height:1.65; flex:1; }
.offre-reseau-title { font-size:var(--xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#9FE1CB; margin-bottom:6px; }
.offre-reseau-extra { font-size:var(--sm); font-weight:400; color:#9FE1CB; margin-top:8px; font-style:italic; }
.offre-cta-wrap { display:flex; flex-direction:column; gap:7px; }
.offre-cta { display:inline-flex; align-items:center; gap:10px; font-size:var(--base); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--white); border:none; border-bottom:0.5px solid rgba(255,255,255,.25); padding-bottom:4px; transition:color .2s,border-color .2s; background:none; }
.offre-cta::after { content:"→"; }
.offre-cta:hover { color:var(--green); border-color:var(--green); }
.offre-cta-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.25); letter-spacing:.04em; }
.offre-card.featured { background:var(--green-deep); }
.offre-card.featured:hover { background:#003830; }
.offre-card.featured .offre-desc,.offre-card.featured .offre-list li { color:rgba(255,255,255,.65); }
.offre-card.featured .offre-list li strong { color:rgba(255,255,255,.9); }
.offre-card.featured .offre-reseau { background:rgba(0,0,0,.25); border-color:rgba(255,255,255,.12); }
.offre-card.featured .offre-cta { color:var(--white); border-color:rgba(255,255,255,.3); }
.offre-card.featured .offre-cta:hover { color:#9FE1CB; border-color:#9FE1CB; }
.featured-badge { position:absolute; top:20px; right:20px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.7); font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; padding:5px 11px; border-radius:1px; border:0.5px solid rgba(255,255,255,.15); }

/* ── AUTORITÉ ── */
.autorite { background:var(--cream); border-bottom:0.5px solid var(--gray-border-light); }
.autorite-top { display:grid; grid-template-columns:1fr 1fr; border-bottom:0.5px solid var(--gray-border-light); }
.autorite-quote-block { background:var(--black); padding:64px 56px; display:flex; flex-direction:column; justify-content:center; border-right:0.5px solid var(--gray-border); }
.autorite-quote { font-size:clamp(17px,1.8vw,22px); font-weight:200; font-style:italic; color:var(--white); line-height:1.6; margin-bottom:36px; border-left:2px solid var(--green); padding-left:28px; }
.autorite-sig { padding-left:28px; }
.autorite-name { font-size:var(--md); font-weight:700; color:var(--white); letter-spacing:.1em; text-transform:uppercase; margin-bottom:3px; }
.autorite-role { font-size:var(--sm); font-weight:300; color:var(--green); letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; }
.autorite-linkedin { display:inline-flex; align-items:center; gap:8px; font-size:var(--sm); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--green); transition:color .2s; }
.autorite-linkedin:hover { color:var(--green-mid); }
.autorite-chiffres { background:var(--cream); padding:56px 52px; display:flex; flex-direction:column; justify-content:center; }
.chiffre-row { display:flex; align-items:center; gap:24px; padding:22px 0; border-bottom:0.5px solid #D0CCC7; }
.chiffre-row:first-child { border-top:0.5px solid #D0CCC7; }
.chiffre-num { font-size:30px; font-weight:200; color:var(--black); letter-spacing:-.02em; min-width:120px; line-height:1; }
.chiffre-title { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:3px; }
.chiffre-sub { font-size:var(--sm); font-weight:300; color:var(--gray-mid); line-height:1.5; }
.autorite-parcours { padding:72px 48px; }
.parcours-title { font-size:clamp(26px,3vw,38px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:40px; }
.parcours-title em { font-style:italic; color:var(--green); }
.parcours-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); margin-bottom:48px; }
.parcours-item { background:var(--cream); padding:32px 28px; transition:background .15s; }
.parcours-item:hover { background:var(--cream-dark); }
.parcours-period { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:14px; display:flex; align-items:center; gap:7px; }
.parcours-period::before { content:""; display:block; width:14px; height:1px; background:var(--green); }
.parcours-event { font-size:var(--lg); font-weight:600; color:var(--black); margin-bottom:12px; line-height:1.3; }
.parcours-detail { font-size:var(--base); font-weight:300; color:#555; line-height:1.8; }
.pourquoi-valeurs { display:grid; grid-template-columns:2fr 1fr; border:0.5px solid var(--gray-border); border-radius:3px; overflow:hidden; }
.pourquoi-block { background:var(--black); padding:52px 56px; }
.pourquoi-label { font-size:var(--xs); font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--green); margin-bottom:24px; }
.pourquoi-text { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.82); line-height:1.95; }
.pourquoi-text strong { font-weight:600; color:var(--white); }
.pourquoi-text .finale { display:block; margin-top:24px; font-size:var(--lg); font-weight:400; color:var(--white); font-style:italic; letter-spacing:-.01em; line-height:1.5; }
.valeurs-block { background:var(--green-deep); padding:52px 36px; border-left:0.5px solid rgba(255,255,255,.06); display:flex; flex-direction:column; justify-content:center; gap:30px; }
.valeur-name { font-size:22px; font-weight:300; color:var(--white); letter-spacing:-.01em; margin-bottom:6px; }
.valeur-desc { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.5); line-height:1.6; }

/* ── DOUBLE COLS ── */
.double-cols { display:grid; grid-template-columns:1fr 1fr; border-bottom:0.5px solid var(--gray-border); }
.col-block { padding:72px 52px; border-right:0.5px solid var(--gray-border); transition:background .2s; }
.col-block:last-child { border-right:none; }
.col-block:hover { background:var(--black-card); }
.col-eyebrow { display:flex; align-items:center; gap:8px; font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:24px; }
.col-eyebrow::before { content:""; display:block; width:14px; height:1px; background:var(--green); }
.col-title { font-size:clamp(24px,2.8vw,36px); font-weight:300; color:var(--white); letter-spacing:-.01em; line-height:1.2; margin-bottom:16px; }
.col-body { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:32px; max-width:380px; }
.link-cta { display:inline-flex; align-items:center; gap:8px; font-size:var(--base); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--white); border-bottom:0.5px solid rgba(255,255,255,.22); padding-bottom:4px; transition:color .2s,border-color .2s; }
.link-cta::after { content:"→"; }
.link-cta:hover { color:var(--green); border-color:var(--green); }

/* ── BLOG ── */
.blog { background:var(--cream); padding:88px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.blog-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; flex-wrap:wrap; gap:16px; }
.blog-eyebrow-row { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.blog-badge { background:var(--black); color:var(--white); font-size:var(--xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:6px 14px; border-radius:2px; }
.blog-live { display:inline-flex; align-items:center; gap:6px; font-size:var(--xs); font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--green); }
.blog-live::before { content:""; display:block; width:7px; height:7px; border-radius:50%; background:var(--green); animation:pulse 2.5s ease-in-out infinite; }
.blog-title { font-size:clamp(28px,3.2vw,42px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; }
.blog-title em { font-style:italic; color:var(--green); }
.blog-sub { font-size:var(--md); font-weight:300; color:#555; margin-top:10px; line-height:1.7; max-width:440px; }
.blog-all { font-size:var(--sm); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:7px; background:none; border:none; align-self:flex-end; transition:gap .2s; }
.blog-all::after { content:"→"; }
.blog-all:hover { gap:12px; }
.articles-grid { display:grid; grid-template-columns:2fr 1fr 1fr; border:0.5px solid #C8C5C0; }
.article-card { padding:30px 28px 36px; border-right:0.5px solid #C8C5C0; transition:background .15s; background:var(--cream); }
.article-card:last-child { border-right:none; }
.article-card:hover { background:var(--cream-dark); }
.article-new { display:inline-block; background:var(--black); color:var(--white); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:3px 9px; border-radius:1px; margin-bottom:12px; }
.article-cat { font-size:var(--xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--green); margin-bottom:12px; }
.article-title { font-size:18px; font-weight:400; color:var(--black); line-height:1.35; margin-bottom:10px; letter-spacing:-.01em; }
.article-title a { color:inherit; }
.article-title a:hover { color:var(--green); }
.article-card.featured .article-title { font-size:22px; }
.article-excerpt { font-size:var(--base); font-weight:300; color:#555; line-height:1.7; margin-bottom:16px; display:none; }
.article-card.featured .article-excerpt { display:block; }
.article-meta { font-size:var(--sm); font-weight:300; color:#A8A8A8; margin-top:14px; }

/* ── PARTNERS ── */
.partners { background:var(--black); padding:88px 48px; border-bottom:0.5px solid var(--gray-border); }
.partners-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:64px; }
.partners-text { max-width:560px; }
.partners-title { font-size:clamp(26px,3vw,40px); font-weight:300; color:var(--white); letter-spacing:-.01em; line-height:1.2; margin-bottom:14px; }
.partners-body { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:32px; }

/* ── FOOTER ── */
.bishop-footer { background:var(--black); border-top:0.5px solid var(--gray-border); padding:60px 48px 36px; }
.footer-top { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:48px; margin-bottom:52px; padding-bottom:52px; border-bottom:0.5px solid var(--gray-border); }
.footer-logo { font-size:18px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--white); display:inline-flex; align-items:center; margin-bottom:14px; }
.footer-tagline { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.45); line-height:1.75; max-width:260px; }
.footer-col-title { font-size:var(--xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--gray-mid); margin-bottom:16px; }
.footer-col a { display:block; font-size:var(--base); font-weight:300; color:rgba(255,255,255,.5); margin-bottom:12px; transition:color .15s; }
.footer-col a:hover { color:var(--white); }
.footer-col a.footer-blog { font-weight:700; color:rgba(255,255,255,.8); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-legal { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.4); display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.footer-legal a { color:rgba(255,255,255,.4); transition:color .15s; }
.footer-legal a:hover { color:var(--white); }
.footer-legal .sep { color:#2A2A2A; }
.rgpd { display:flex; align-items:center; gap:7px; font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.4); }
.rgpd-dot { width:7px; height:7px; border-radius:50%; background:var(--green); flex-shrink:0; }

/* ── SINGLE ARTICLE ── */
.single-post { background:var(--cream); }
.article-header { background:var(--black); padding:80px 48px 64px; border-bottom:0.5px solid var(--gray-border); }
.article-header-inner { max-width:800px; }
.article-cat-tag { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:20px; display:flex; align-items:center; gap:7px; }
.article-cat-tag::before { content:""; display:block; width:14px; height:1px; background:var(--green); }
.article-h1 { font-size:clamp(28px,4vw,52px); font-weight:300; color:var(--white); line-height:1.15; letter-spacing:-.02em; margin-bottom:20px; }
.article-meta-bar { font-size:var(--sm); font-weight:300; color:var(--gray-mid); display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.article-meta-bar .sep { color:var(--gray-border); }
.article-body { display:grid; grid-template-columns:1fr 280px; gap:64px; max-width:1200px; margin:0 auto; padding:64px 48px; align-items:start; }
.article-content { font-size:var(--md); line-height:1.85; color:#333; }
.article-content h2 { font-size:26px; font-weight:600; color:var(--black); margin:48px 0 16px; letter-spacing:-.01em; }
.article-content h3 { font-size:20px; font-weight:600; color:var(--black); margin:36px 0 12px; }
.article-content p { margin-bottom:20px; }
.article-content ul,.article-content ol { margin:20px 0 20px 20px; }
.article-content li { margin-bottom:8px; }
.article-content strong { font-weight:600; color:var(--black); }
.article-content a { color:var(--green); border-bottom:0.5px solid var(--green); transition:opacity .2s; }
.article-content a:hover { opacity:.7; }
.article-sidebar { position:sticky; top:120px; }
.sidebar-cta-box { background:var(--black); padding:28px 24px; border-radius:3px; }
.sidebar-cta-label { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.sidebar-cta-title { font-size:17px; font-weight:300; color:var(--white); line-height:1.4; }

/* ── ARCHIVE BLOG ── */
.archive-blog { background:var(--cream); }
.archive-header { background:var(--black); padding:80px 48px 64px; border-bottom:0.5px solid var(--gray-border); }
.archive-title { font-size:clamp(32px,5vw,60px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; }
.archive-title em { font-style:italic; color:var(--green); }
.archive-sub { font-size:var(--md); font-weight:300; color:var(--gray-light); max-width:480px; line-height:1.8; margin-top:16px; }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); margin:48px 48px 0; }
.archive-card { background:var(--cream); padding:32px 28px 36px; transition:background .15s; }
.archive-card:hover { background:var(--cream-dark); }
.archive-card--featured { background:var(--white); }
.archive-card-title { font-size:20px; font-weight:400; color:var(--black); line-height:1.35; margin-bottom:10px; }
.archive-card-title a { color:inherit; }
.archive-card-title a:hover { color:var(--green); }
.archive-card-excerpt { font-size:var(--base); font-weight:300; color:#555; line-height:1.7; margin-bottom:16px; }
.archive-pagination { padding:40px 48px; }
.archive-pagination .nav-links { display:flex; gap:8px; }
.archive-pagination a,.archive-pagination span { padding:8px 14px; border:0.5px solid var(--gray-border-light); font-size:var(--sm); color:var(--black); transition:all .2s; border-radius:2px; }
.archive-pagination a:hover { background:var(--green); color:var(--white); border-color:var(--green); }

/* ── PAGE STATIQUE ── */
.static-page { max-width:800px; margin:0 auto; padding:80px 48px; color:var(--black); }
.static-page h1 { font-size:clamp(28px,4vw,44px); font-weight:300; margin-bottom:32px; color:var(--black); letter-spacing:-.01em; }
.static-page h2 { font-size:22px; font-weight:600; margin:36px 0 12px; }
.static-page p { margin-bottom:18px; font-size:var(--md); line-height:1.8; color:#444; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-right { height:60vw; min-height:400px; }
  .hero-left { padding:60px 32px 48px; }
  .orient-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .offres-grid { grid-template-columns:1fr; }
  .offre-card { border-right:none; border-bottom:0.5px solid var(--gray-border); }
  .autorite-top { grid-template-columns:1fr; }
  .autorite-chiffres { display:grid; grid-template-columns:1fr 1fr; gap:0; }
  .parcours-grid { grid-template-columns:1fr; }
  .pourquoi-valeurs { grid-template-columns:1fr; }
  .double-cols { grid-template-columns:1fr; }
  .col-block { border-right:none; border-bottom:0.5px solid var(--gray-border); }
  .articles-grid { grid-template-columns:1fr; }
  .article-card { border-right:none; border-bottom:0.5px solid #C8C5C0; }
  .article-card:last-child { border-bottom:none; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
  .article-body { grid-template-columns:1fr; }
  .article-sidebar { display:none; }
}

@media (max-width: 768px) {
  .mc-fixed { padding:8px 16px; gap:10px; }
  .mc-text em { display:none; }
  .mc-label { display:none; }
  .mc-text { font-size:12px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .mc-left { gap:10px; min-width:0; flex:1; }
  .btn-mc { padding:7px 12px; font-size:10px; white-space:nowrap; flex-shrink:0; }
  .bishop-nav { padding:0 16px; }
  .nav-links { display:none; }
  .nav-cta { display:none; }
  .nav-toggle { display:flex; }
  /* Padding-top des heros ajusté pour le header mobile (~114px) */
  .batir-hero, .romain-hero, .trans-hero, .inv-hero, .form-hero, .mep-hero, .reseau-hero { padding-top:172px; }
  .cand-hero { padding-top:172px; }
  .hero-left { padding:48px 24px 40px; }
  .orientation, .offres, .autorite-parcours, .partners, .blog { padding-left:24px; padding-right:24px; }
  .orient-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .bishop-footer { padding:40px 24px 24px; }
  .archive-grid { margin:32px 24px 0; grid-template-columns:1fr; }
  .archive-header { padding:60px 24px 48px; }
}

/* ═══════════════════════════════════════════════════════
   BÂTIR SON PROJET
═══════════════════════════════════════════════════════ */

.page-batir { background:var(--black); padding-top:104px; }

/* HERO */
.batir-hero { background:var(--black); padding:80px 48px 80px; border-bottom:0.5px solid var(--gray-border); }
.batir-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.batir-hero-title { font-size:clamp(32px,4vw,52px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; margin-bottom:20px; }
.batir-hero-title em { font-style:italic; color:var(--green); }
.batir-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.65); line-height:1.8; margin-bottom:32px; max-width:480px; }
.batir-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.batir-hero-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.28); letter-spacing:.04em; }
.batir-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); margin-bottom:20px; }
.batir-stat { background:var(--black-card); padding:28px 24px; }
.batir-stat-num { font-size:36px; font-weight:200; color:var(--white); letter-spacing:-.02em; line-height:1; margin-bottom:6px; }
.batir-stat-label { font-size:var(--xs); font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-mid); }
.batir-promise { background:var(--green-deep); border:0.5px solid rgba(0,108,90,.3); border-radius:2px; padding:20px 24px; }
.batir-promise-label { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9FE1CB; margin-bottom:8px; }
.batir-promise-text { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.75); line-height:1.7; font-style:italic; }

/* MASTERCLASS */
.batir-masterclass { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.batir-masterclass-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.mc-title { font-size:clamp(28px,3.5vw,44px); font-weight:300; color:var(--black); letter-spacing:-.02em; line-height:1.15; margin-bottom:16px; }
.mc-sub { font-size:var(--md); font-weight:300; color:#555; line-height:1.8; margin-bottom:28px; }
.mc-list { list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:32px; }
.mc-list li { font-size:var(--base); font-weight:300; color:#444; display:flex; align-items:flex-start; gap:10px; line-height:1.6; }
.mc-list li::before { content:""; display:block; width:14px; height:1px; background:var(--green); margin-top:10px; flex-shrink:0; }
.mc-meta { display:flex; gap:24px; flex-wrap:wrap; margin-bottom:28px; padding:20px 0; border-top:0.5px solid #D8D5D0; border-bottom:0.5px solid #D8D5D0; }
.mc-meta-label { font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--green); margin-bottom:4px; }
.mc-meta-val { font-size:var(--base); font-weight:400; color:var(--black); }
.mc-form-block { background:var(--black); padding:36px 32px; border-radius:3px; }
.mc-form-title { font-size:20px; font-weight:300; color:var(--white); margin-bottom:6px; }
.mc-form-sub { font-size:var(--sm); font-weight:300; color:var(--green); margin-bottom:28px; }
.bishop-form { display:flex; flex-direction:column; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-light); }
.form-group input, .form-group textarea, .form-group select {
  background:var(--black-card); border:0.5px solid var(--gray-border);
  color:var(--white); padding:12px 14px; font-family:var(--font);
  font-size:var(--base); border-radius:2px; transition:border-color .2s; width:100%;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
  outline:none; border-color:var(--green);
}
.form-group input::placeholder { color:rgba(255,255,255,.3); }
.form-rgpd { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.25); line-height:1.6; margin-top:4px; }

/* MÉTHODE BISHOP */
.batir-methode { background:var(--black); padding:88px 48px; border-bottom:0.5px solid var(--gray-border); }
.batir-methode-title { font-size:clamp(28px,3.5vw,44px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.15; margin-bottom:16px; }
.batir-methode-title em { font-style:italic; color:var(--green); }
.batir-methode-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); max-width:560px; line-height:1.75; margin-bottom:52px; }
.piliers-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.pilier-card { background:var(--black-card); padding:36px 32px; transition:background .2s; }
.pilier-card:hover { background:#161616; }
.pilier-letter { font-size:48px; font-weight:200; color:var(--green); letter-spacing:-.02em; line-height:1; margin-bottom:16px; }
.pilier-name { font-size:var(--lg); font-weight:600; color:var(--white); margin-bottom:10px; line-height:1.3; }
.pilier-desc { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.55); line-height:1.75; }

/* LIVRABLES */
.batir-livrables { background:var(--cream); padding:88px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.batir-livrables-inner { display:grid; grid-template-columns:1fr 2fr; gap:80px; align-items:start; }
.livrables-title { font-size:clamp(26px,3vw,40px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:16px; }
.livrables-sub { font-size:var(--md); font-weight:300; color:#555; line-height:1.8; }
.livrables-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); }
.livrable-item { background:var(--cream); padding:28px 24px; transition:background .15s; }
.livrable-item:hover { background:var(--cream-dark); }
.livrable-icon { font-size:28px; font-weight:200; color:#C8C5C0; line-height:1; margin-bottom:12px; }
.livrable-name { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:6px; line-height:1.35; }
.livrable-desc { font-size:var(--sm); font-weight:300; color:var(--gray-mid); line-height:1.6; }

/* DEUX FORMULES */
.batir-offres { background:var(--black); padding:88px 48px; border-bottom:0.5px solid var(--gray-border); }
.batir-offres-title { font-size:clamp(28px,3.5vw,44px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.15; margin-bottom:52px; }
.batir-offres-grid { display:grid; grid-template-columns:1fr 1fr; border:0.5px solid var(--gray-border); }
.batir-offre-card { padding:48px 44px; border-right:0.5px solid var(--gray-border); display:flex; flex-direction:column; transition:background .2s; position:relative; }
.batir-offre-card:last-child { border-right:none; }
.batir-offre-card:hover { background:var(--black-card); }
.batir-offre-card.featured { background:var(--green-deep); }
.batir-offre-card.featured:hover { background:#003830; }
.offre-for { background:rgba(255,255,255,.04); border:0.5px solid rgba(255,255,255,.08); border-radius:2px; padding:16px 18px; margin-bottom:24px; }
.batir-offre-card.featured .offre-for { background:rgba(0,0,0,.2); border-color:rgba(255,255,255,.1); }
.offre-for-title { font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.offre-for-list { list-style:none; display:flex; flex-direction:column; gap:7px; }
.offre-for-list li { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.6); display:flex; align-items:flex-start; gap:8px; line-height:1.5; }
.offre-for-list li::before { content:"✓"; color:var(--green); font-size:11px; flex-shrink:0; margin-top:1px; }
.batir-offre-card.featured .offre-desc,
.batir-offre-card.featured .offre-list li,
.batir-offre-card.featured .offre-for-list li { color:rgba(255,255,255,.65); }
.batir-offre-card.featured .offre-cta { color:var(--white); border-color:rgba(255,255,255,.3); }
.batir-offre-card.featured .offre-cta:hover { color:#9FE1CB; border-color:#9FE1CB; }
.batir-offre-card.featured .offre-reseau { background:rgba(0,0,0,.25); border-color:rgba(255,255,255,.12); }

/* FAQ */
.batir-faq { background:var(--cream); padding:88px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.batir-faq-inner { max-width:1200px; }
.batir-faq-title { font-size:clamp(26px,3vw,40px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:48px; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); }
.faq-item { background:var(--cream); padding:28px 28px; transition:background .15s; }
.faq-item:hover { background:var(--cream-dark); }
.faq-q { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:10px; line-height:1.4; }
.faq-a { font-size:var(--base); font-weight:300; color:#555; line-height:1.8; }

/* CTA FINAL */
.batir-cta-final { background:var(--black); padding:96px 48px; border-bottom:0.5px solid var(--gray-border); }
.batir-cta-inner { max-width:680px; margin:0 auto; text-align:center; }
.batir-cta-title { font-size:clamp(28px,3.5vw,44px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.15; margin-bottom:16px; }
.batir-cta-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.75; margin-bottom:36px; }
.batir-cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-large { padding:18px 36px; font-size:var(--base); }

/* RESPONSIVE */
@media (max-width:1024px) {
  .batir-hero-inner, .batir-masterclass-inner, .batir-livrables-inner { grid-template-columns:1fr; gap:40px; }
  .piliers-grid { grid-template-columns:1fr 1fr; }
  .batir-offres-grid { grid-template-columns:1fr; }
  .batir-offre-card { border-right:none; border-bottom:0.5px solid var(--gray-border); }
  .faq-grid { grid-template-columns:1fr; }
  .livrables-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .batir-hero, .batir-masterclass, .batir-methode, .batir-livrables, .batir-offres, .batir-faq, .batir-cta-final { padding-left:24px; padding-right:24px; }
  .piliers-grid { grid-template-columns:1fr; }
  .batir-stat-grid { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════
   CSS — TOUTES LES PAGES INTÉRIEURES
═══════════════════════════════════════════════════════ */

/* ── CANDIDATURE ── */
.page-candidature { background:var(--black); padding-top:104px; }
.cand-hero { background:var(--black); padding:80px 48px 56px; border-bottom:0.5px solid var(--gray-border); }
.cand-hero-inner { max-width:680px; }
.cand-hero-title { font-size:clamp(32px,4vw,52px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; margin-bottom:16px; }
.cand-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; }
.cand-main { padding:64px 48px; }
.cand-main-inner { display:grid; grid-template-columns:2fr 1fr; gap:64px; align-items:start; }
.cand-form-block { background:var(--black-card); border:0.5px solid var(--gray-border); border-radius:3px; padding:40px; }
.cand-form-title { font-size:22px; font-weight:300; color:var(--white); margin-bottom:32px; }
.form-section-title { font-size:var(--xs); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin:28px 0 16px; padding-top:20px; border-top:0.5px solid var(--gray-border); }
.form-section-title:first-of-type { margin-top:0; padding-top:0; border-top:none; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-checkbox { display:flex; align-items:flex-start; gap:10px; font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.5); line-height:1.6; cursor:pointer; margin-bottom:16px; }
.form-checkbox input { flex-shrink:0; margin-top:3px; accent-color:var(--green); }
.form-checkbox a { color:var(--green); }
.form-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.28); letter-spacing:.04em; text-align:center; margin-top:10px; }
.cand-sidebar { display:flex; flex-direction:column; gap:16px; }
.cand-sidebar-block { background:var(--black-card); border:0.5px solid var(--gray-border); border-radius:3px; padding:28px; }
.cand-sidebar-title { font-size:var(--xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:20px; }
.cand-steps { display:flex; flex-direction:column; gap:0; }
.cand-step { display:flex; gap:16px; padding:16px 0; border-bottom:0.5px solid var(--gray-border); }
.cand-step:last-child { border-bottom:none; }
.cand-step-num { width:28px; height:28px; border-radius:50%; background:var(--green-deep); border:0.5px solid var(--green); display:flex; align-items:center; justify-content:center; font-size:var(--xs); font-weight:700; color:var(--green); flex-shrink:0; }
.cand-step-name { font-size:var(--base); font-weight:600; color:var(--white); margin-bottom:4px; }
.cand-step-desc { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.55); line-height:1.6; }
.cand-quote { background:var(--green-deep); border-radius:3px; padding:24px; }
.cand-quote-text { font-size:var(--base); font-weight:200; font-style:italic; color:var(--white); line-height:1.65; margin-bottom:12px; }
.cand-quote-sig { font-size:var(--xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--green); }

/* ── TRANSMETTRE ── */
.page-transmettre { background:var(--black); padding-top:104px; }
.trans-hero { background:var(--black); padding:80px 48px 80px; border-bottom:0.5px solid var(--gray-border); }
.trans-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.trans-hero-title { font-size:clamp(30px,4vw,50px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; margin-bottom:18px; }
.trans-hero-title em { font-style:italic; color:var(--green); }
.trans-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:32px; }
.trans-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.trans-stats { display:flex; flex-direction:column; gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.trans-stat-item { background:var(--black-card); padding:24px 28px; }
.trans-stat-num { font-size:28px; font-weight:200; color:var(--white); letter-spacing:-.01em; margin-bottom:4px; }
.trans-stat-label { font-size:var(--sm); font-weight:600; color:var(--white); margin-bottom:3px; }
.trans-stat-detail { font-size:var(--xs); font-weight:300; color:var(--gray-mid); }
.trans-pourquoi { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.trans-section-title { font-size:clamp(26px,3vw,38px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:16px; }
.trans-section-title em { font-style:italic; color:var(--green); }
.trans-section-sub { font-size:var(--md); font-weight:300; color:#555; line-height:1.8; margin-bottom:44px; max-width:600px; }
.trans-raisons { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); }
.trans-raison { background:var(--cream); padding:32px 28px; }
.trans-raison-num { font-size:28px; font-weight:200; color:#C8C5C0; margin-bottom:14px; }
.trans-raison-title { font-size:var(--lg); font-weight:600; color:var(--black); margin-bottom:10px; line-height:1.3; }
.trans-raison-desc { font-size:var(--base); font-weight:300; color:#555; line-height:1.75; }
.trans-actifs { background:var(--black); padding:80px 48px; border-bottom:0.5px solid var(--gray-border); }
.trans-actifs .trans-section-title { color:var(--white); }
.actifs-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); margin-top:40px; }
.actif-card { background:var(--black-card); padding:28px 20px; text-align:center; transition:background .15s; }
.actif-card:hover { background:#161616; }
.actif-icon { font-size:28px; margin-bottom:12px; }
.actif-name { font-size:var(--base); font-weight:600; color:var(--white); margin-bottom:8px; }
.actif-desc { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.5); line-height:1.6; }
.trans-processus { background:var(--green-deep); padding:80px 48px; border-bottom:0.5px solid rgba(255,255,255,.06); }
.trans-processus-inner { display:grid; grid-template-columns:1fr 2fr; gap:80px; align-items:start; }
.trans-etapes { display:flex; flex-direction:column; gap:0; }
.trans-etape { display:flex; gap:20px; padding:20px 0; border-bottom:0.5px solid rgba(255,255,255,.1); }
.trans-etape:first-child { border-top:0.5px solid rgba(255,255,255,.1); }
.trans-etape-num { font-size:13px; font-weight:600; color:var(--green); width:28px; flex-shrink:0; padding-top:2px; }
.trans-etape-name { font-size:var(--base); font-weight:600; color:var(--white); margin-bottom:5px; }
.trans-etape-desc { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.6); line-height:1.6; }
.trans-faq { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.trans-cta { background:var(--black); padding:88px 48px; }
.trans-cta-inner { max-width:560px; margin:0 auto; text-align:center; }
.trans-cta-title { font-size:clamp(26px,3vw,38px); font-weight:300; color:var(--white); letter-spacing:-.01em; line-height:1.2; margin-bottom:14px; }
.trans-cta-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.75; margin-bottom:32px; }

/* ── INVESTISSEURS ── */
.page-investisseurs { background:var(--black); padding-top:104px; }
.inv-hero { background:var(--black); padding:80px 48px 80px; border-bottom:0.5px solid var(--gray-border); max-width:800px; }
.inv-hero-title { font-size:clamp(30px,4.5vw,58px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.08; margin-bottom:20px; }
.inv-hero-title em { font-style:italic; color:var(--green); }
.inv-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:32px; max-width:540px; }
.inv-section-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:16px; }
.inv-section-title em { font-style:italic; color:var(--green); }
.inv-section-sub { font-size:var(--md); font-weight:300; color:#555; line-height:1.8; margin-bottom:44px; max-width:580px; }
.inv-pourquoi { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.inv-arguments { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); margin-top:40px; }
.inv-arg { background:var(--cream); padding:32px 28px; }
.inv-arg-num { font-size:36px; font-weight:200; color:var(--green); letter-spacing:-.02em; margin-bottom:10px; }
.inv-arg-title { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:8px; }
.inv-arg-desc { font-size:var(--sm); font-weight:300; color:#555; line-height:1.7; }
.inv-opportunites { background:var(--black); padding:80px 48px; border-bottom:0.5px solid var(--gray-border); }
.inv-opp-inner { display:grid; grid-template-columns:1fr 2fr; gap:64px; align-items:start; }
.inv-opp-types { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.inv-opp-type { background:var(--black-card); padding:28px 24px; transition:background .15s; }
.inv-opp-type:hover { background:#161616; }
.inv-opp-icon { font-size:24px; margin-bottom:12px; }
.inv-opp-name { font-size:var(--base); font-weight:600; color:var(--white); margin-bottom:8px; }
.inv-opp-desc { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.55); line-height:1.65; }
.inv-selection { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.inv-criteres { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); margin-top:40px; }
.inv-critere { background:var(--cream); padding:28px 24px; }
.inv-critere-title { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:8px; }
.inv-critere-desc { font-size:var(--sm); font-weight:300; color:#555; line-height:1.65; }
.inv-faq { background:var(--black); padding:80px 48px; border-bottom:0.5px solid var(--gray-border); }
.inv-faq .faq-item { background:var(--black-card); }
.inv-faq .faq-q { color:var(--white); }
.inv-faq .faq-a { color:rgba(255,255,255,.6); }
.inv-faq .faq-grid { background:var(--gray-border); }
.inv-faq .inv-section-title { color:var(--white); }
.inv-cta { background:var(--cream); padding:80px 48px; }
.inv-cta-inner { max-width:680px; margin:0 auto; }
.inv-cta-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:14px; }
.inv-cta-sub { font-size:var(--md); font-weight:300; color:#555; line-height:1.75; margin-bottom:36px; }
.inv-form .form-group input, .inv-form .form-group select, .inv-form .form-group textarea { background:var(--white); border:0.5px solid #D0CCC7; color:var(--black); }
.inv-form .form-group input::placeholder { color:#999; }
.inv-form .form-group label { color:#444; }
.inv-form .form-checkbox { color:#555; }

/* ── BISHOP RÉSEAU ── */
.page-reseau { background:var(--black); padding-top:104px; }
.reseau-hero { background:var(--black); padding:80px 48px 80px; border-bottom:0.5px solid var(--gray-border); max-width:800px; }
.reseau-hero-title { font-size:clamp(28px,4vw,52px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; margin-bottom:18px; }
.reseau-hero-title em { font-style:italic; color:var(--green); }
.reseau-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:32px; max-width:540px; }
.reseau-section-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:16px; }
.reseau-pour-qui { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.reseau-profils { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); margin-top:40px; }
.reseau-profil { background:var(--cream); padding:28px 24px; }
.reseau-profil-title { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:8px; }
.reseau-profil-desc { font-size:var(--sm); font-weight:300; color:#555; line-height:1.65; }
.reseau-remuneration { background:var(--black); padding:80px 48px; border-bottom:0.5px solid var(--gray-border); }
.reseau-remu-inner { max-width:900px; }
.reseau-remu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.reseau-remu-item { background:var(--black-card); padding:28px 24px; }
.reseau-remu-label { font-size:var(--lg); font-weight:300; color:var(--green); margin-bottom:10px; }
.reseau-remu-desc { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.55); line-height:1.65; }
.reseau-fonctionnement { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.reseau-etapes { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); margin-top:40px; }
.reseau-etape { background:var(--cream); padding:28px 20px; }
.reseau-etape-num { font-size:28px; font-weight:200; color:#C8C5C0; margin-bottom:12px; }
.reseau-etape-name { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:8px; }
.reseau-etape-desc { font-size:var(--sm); font-weight:300; color:#555; line-height:1.65; }
.reseau-form-section { background:var(--black); padding:80px 48px; }
.reseau-form-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }

/* ── FORMATION ── */
.page-formation { background:var(--black); padding-top:104px; }
.form-hero { background:var(--black); padding:80px 48px 80px; border-bottom:0.5px solid var(--gray-border); }
.form-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.form-hero-title { font-size:clamp(28px,3.8vw,50px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; margin-bottom:18px; }
.form-hero-title em { font-style:italic; color:var(--green); }
.form-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:28px; }
.form-hero-price { background:var(--green-deep); border:0.5px solid rgba(0,108,90,.3); border-radius:3px; padding:20px 24px; margin-bottom:28px; }
.form-hero-valeur { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.5); margin-bottom:6px; }
.form-hero-prix { font-size:40px; font-weight:200; color:var(--white); letter-spacing:-.02em; line-height:1; margin-bottom:4px; }
.form-hero-prix-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.4); }
.form-contenu-box { background:var(--black-card); border:0.5px solid var(--gray-border); border-radius:3px; padding:28px 24px; }
.form-contenu-title { font-size:var(--xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:16px; }
.form-contenu-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.form-contenu-list li { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.7); display:flex; align-items:flex-start; gap:10px; line-height:1.55; }
.form-contenu-list li::before { content:"✓"; color:var(--green); font-size:12px; flex-shrink:0; margin-top:1px; }
.form-section-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:36px; }
.form-pour-qui { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.form-cibles { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.form-cible { display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border-radius:3px; font-size:var(--base); font-weight:300; line-height:1.5; }
.form-cible.oui { background:rgba(0,108,90,.08); color:var(--black); border:0.5px solid rgba(0,108,90,.2); }
.form-cible.non { background:rgba(255,255,255,.5); color:#888; border:0.5px solid #D8D5D0; }
.form-cible-icon { font-weight:700; flex-shrink:0; }
.form-cible.oui .form-cible-icon { color:var(--green); }
.form-cible.non .form-cible-icon { color:#bbb; }
.form-programme { background:var(--black); padding:80px 48px; border-bottom:0.5px solid var(--gray-border); }
.form-programme .form-section-title { color:var(--white); }
.form-piliers { display:flex; flex-direction:column; gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.form-pilier { background:var(--black-card); padding:24px 28px; display:flex; gap:24px; align-items:flex-start; transition:background .15s; }
.form-pilier:hover { background:#161616; }
.form-pilier-letter { font-size:36px; font-weight:200; color:var(--green); line-height:1; min-width:40px; }
.form-pilier-name { font-size:var(--lg); font-weight:600; color:var(--white); margin-bottom:6px; }
.form-pilier-desc { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.55); line-height:1.65; }
.form-bonus { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.form-bonus-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:40px; }
.form-bonus-item { background:var(--white); border:0.5px solid #D0CCC7; border-radius:3px; padding:24px 20px; position:relative; }
.form-bonus-item.featured { background:var(--black); border-color:var(--green); }
.form-bonus-item.featured .form-bonus-name { color:var(--white); }
.form-bonus-item.featured .form-bonus-desc { color:rgba(255,255,255,.6); }
.form-bonus-item.featured .form-bonus-valeur { color:#9FE1CB; }
.form-bonus-valeur { font-size:22px; font-weight:200; color:var(--green); text-decoration:line-through; opacity:.6; margin-bottom:10px; }
.form-bonus-name { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:8px; }
.form-bonus-desc { font-size:var(--sm); font-weight:300; color:#555; line-height:1.65; }
.form-total { background:var(--green-deep); border-radius:3px; padding:20px 24px; margin-top:20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.form-total-valeur { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.65); }
.form-total-prix { font-size:var(--lg); font-weight:300; color:var(--white); }
.form-achat { background:var(--black); padding:80px 48px; }
.form-achat-inner { max-width:480px; margin:0 auto; text-align:center; }
.form-achat-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--white); letter-spacing:-.01em; margin-bottom:10px; }
.form-achat-sub { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.55); margin-bottom:32px; }
.form-achat-card { background:var(--black-card); border:0.5px solid var(--gray-border); border-radius:3px; padding:32px; margin-bottom:24px; }
.form-achat-name { font-size:22px; font-weight:300; color:var(--white); margin-bottom:6px; }
.form-achat-desc { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.5); margin-bottom:16px; }
.form-achat-prix { font-size:48px; font-weight:200; color:var(--green); letter-spacing:-.02em; margin-bottom:24px; }
.form-achat-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.3); }
.form-achat-separator { font-size:var(--sm); font-weight:300; color:rgba(255,255,255,.3); margin:20px 0 12px; }
.form-achat-link { font-size:var(--sm); font-weight:600; color:var(--green); }
.form-achat-link:hover { color:var(--green-mid); }

/* ── ROMAIN PETIT ── */
.page-romain { background:var(--black); padding-top:104px; }
.romain-hero { background:var(--black); padding:80px 48px 80px; border-bottom:0.5px solid var(--gray-border); }
.romain-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.romain-hero-title { font-size:clamp(36px,5vw,64px); font-weight:200; color:var(--white); letter-spacing:-.02em; line-height:1; margin-bottom:10px; }
.romain-hero-role { font-size:var(--sm); font-weight:400; color:var(--green); letter-spacing:.06em; text-transform:uppercase; margin-bottom:20px; }
.romain-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:28px; }
.romain-hero-chiffres { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.romain-chiffre { background:var(--black-card); padding:28px 24px; }
.romain-chiffre-num { font-size:28px; font-weight:200; color:var(--white); letter-spacing:-.01em; margin-bottom:5px; }
.romain-chiffre-label { font-size:var(--xs); font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-mid); }
.romain-section-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:40px; }
.romain-section-title em { font-style:italic; color:var(--green); }
.romain-parcours { background:var(--cream); padding:80px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.romain-timeline { display:flex; flex-direction:column; gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); }
.romain-tl-item { background:var(--cream); padding:32px 36px; display:grid; grid-template-columns:140px 1fr; gap:32px; transition:background .15s; }
.romain-tl-item:hover { background:var(--cream-dark); }
.romain-tl-period { font-size:var(--xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); padding-top:4px; }
.romain-tl-title { font-size:var(--lg); font-weight:600; color:var(--black); margin-bottom:10px; }
.romain-tl-content { font-size:var(--base); font-weight:300; color:#555; line-height:1.8; }
.romain-autorite { background:var(--black); padding:80px 48px; border-bottom:0.5px solid var(--gray-border); }
.romain-autorite-inner { max-width:900px; }
.romain-quote { font-size:clamp(16px,1.8vw,22px); font-weight:200; font-style:italic; color:var(--white); line-height:1.65; border-left:2px solid var(--green); padding-left:32px; margin-bottom:48px; }
.romain-quote strong { font-weight:600; font-style:normal; color:var(--white); }
.romain-valeurs { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-border); border:0.5px solid var(--gray-border); }
.romain-valeur { background:var(--green-deep); padding:28px 24px; }
.romain-valeur-name { font-size:22px; font-weight:300; color:var(--white); margin-bottom:8px; }
.romain-valeur-desc { font-size:var(--base); font-weight:300; color:rgba(255,255,255,.5); line-height:1.6; }
.romain-cta { background:var(--cream); padding:80px 48px; }
.romain-cta-inner { max-width:560px; margin:0 auto; text-align:center; }
.romain-cta-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; line-height:1.2; margin-bottom:14px; }
.romain-cta-sub { font-size:var(--md); font-weight:300; color:#555; line-height:1.75; margin-bottom:32px; }
.romain-cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── LA MISE EN PLACE ── */
.page-mep { background:var(--black); padding-top:104px; }
.mep-hero { background:var(--black); padding:80px 48px 64px; border-bottom:0.5px solid var(--gray-border); }
.mep-hero-title { font-size:clamp(32px,5vw,62px); font-weight:300; color:var(--white); letter-spacing:-.02em; line-height:1.1; margin-bottom:16px; }
.mep-hero-title em { font-style:italic; color:var(--green); }
.mep-hero-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); max-width:540px; line-height:1.8; }
.mep-categories { background:var(--cream); padding:64px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.mep-cats-inner {}
.mep-cats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:32px; }
.mep-cat-card { background:var(--white); border:0.5px solid #C8C5C0; border-radius:3px; padding:24px 20px; transition:all .2s; display:block; text-decoration:none; }
.mep-cat-card:hover { border-color:var(--green); transform:translateY(-2px); }
.mep-cat-name { font-size:var(--base); font-weight:600; color:var(--black); margin-bottom:6px; }
.mep-cat-desc { font-size:var(--sm); font-weight:300; color:#666; margin-bottom:14px; }
.mep-cat-link { font-size:var(--xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green); }
.mep-articles { background:var(--cream); padding:64px 48px; border-bottom:0.5px solid var(--gray-border-light); }
.mep-articles-header { margin-bottom:40px; }
.mep-articles-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--black); letter-spacing:-.01em; }
.mep-articles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-border-light); border:0.5px solid var(--gray-border-light); }
.mep-article-card { background:var(--cream); padding:28px 24px; transition:background .15s; }
.mep-article-card:hover { background:var(--cream-dark); }
.mep-article-card.featured { grid-column:1/-1; }
.mep-article-title { font-size:18px; font-weight:400; color:var(--black); line-height:1.35; margin-bottom:10px; }
.mep-article-card.featured .mep-article-title { font-size:24px; }
.mep-article-title a { color:inherit; }
.mep-article-title a:hover { color:var(--green); }
.mep-article-excerpt { font-size:var(--base); font-weight:300; color:#555; line-height:1.7; margin-bottom:14px; }
.mep-empty { padding:40px; text-align:center; color:#888; font-size:var(--base); }
.mep-empty a { color:var(--green); }
.mep-pagination { margin-top:32px; }
.mep-glossaire-cta { background:var(--black); padding:64px 48px; border-bottom:0.5px solid var(--gray-border); }
.mep-cta { background:var(--green-deep); padding:72px 48px; }
.mep-cta-inner { max-width:600px; margin:0 auto; text-align:center; }
.mep-cta-title { font-size:clamp(24px,3vw,36px); font-weight:300; color:var(--white); letter-spacing:-.01em; line-height:1.2; margin-bottom:14px; }
.mep-cta-sub { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.65); line-height:1.75; margin-bottom:32px; }

/* ── RESPONSIVE GLOBAL PAGES ── */
@media (max-width:1024px) {
  .cand-main-inner, .trans-hero-inner, .form-hero-inner, .romain-hero-inner, .reseau-form-inner, .inv-opp-inner, .trans-processus-inner { grid-template-columns:1fr; gap:40px; }
  .trans-raisons, .inv-arguments { grid-template-columns:1fr; }
  .actifs-grid { grid-template-columns:repeat(3,1fr); }
  .reseau-profils, .inv-criteres, .reseau-etapes { grid-template-columns:1fr 1fr; }
  .form-bonus-grid { grid-template-columns:1fr 1fr; }
  .romain-tl-item { grid-template-columns:1fr; gap:8px; }
  .mep-cats-grid, .mep-articles-grid { grid-template-columns:1fr 1fr; }
  .mep-article-card.featured { grid-column:auto; }
}
@media (max-width:768px) {
  .cand-hero, .trans-hero, .inv-hero, .reseau-hero, .form-hero, .romain-hero, .mep-hero { padding-left:24px; padding-right:24px; }
  .cand-main, .trans-pourquoi, .trans-actifs, .trans-processus, .trans-faq, .trans-cta { padding-left:24px; padding-right:24px; }
  .inv-pourquoi, .inv-opportunites, .inv-selection, .inv-faq, .inv-cta { padding-left:24px; padding-right:24px; }
  .reseau-pour-qui, .reseau-remuneration, .reseau-fonctionnement, .reseau-form-section { padding-left:24px; padding-right:24px; }
  .form-pour-qui, .form-programme, .form-bonus, .form-achat { padding-left:24px; padding-right:24px; }
  .romain-parcours, .romain-autorite, .romain-cta { padding-left:24px; padding-right:24px; }
  .mep-categories, .mep-articles, .mep-glossaire-cta, .mep-cta { padding-left:24px; padding-right:24px; }
  .form-row { grid-template-columns:1fr; }
  .reseau-profils, .inv-criteres, .reseau-etapes, .form-bonus-grid { grid-template-columns:1fr; }
  .actifs-grid { grid-template-columns:1fr 1fr; }
  .faq-grid, .mep-cats-grid, .mep-articles-grid { grid-template-columns:1fr; }
  .reseau-remu-grid { grid-template-columns:1fr; }
  .form-cibles { grid-template-columns:1fr; }
  .romain-valeurs { grid-template-columns:1fr; }
}

/* ── FIXES BANDEAU + NAV + LOGO ── */
.mc-fixed {
  height: 38px;
  padding: 0 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.bishop-nav {
  top: 38px;
  height: 72px;
}
/* Logo image HD */
.logo {
  display: inline-flex;
  align-items: center;
  height: 44px;
}
.logo img.logo-img {
  height: 32px;
  width: auto;
  filter: brightness(0) invert(1); /* blanc sur fond noir */
  display: block;
}
/* Padding top hero pour tenir compte bandeau + nav */
.hero { padding-top: 110px; }
.page-batir, .page-transmettre, .page-investisseurs,
.page-reseau, .page-candidature, .page-romain,
.page-formation, .page-mep { padding-top: 110px; }

/* Nav link - La Mise en Place : style blog vivant */
.nav-links a.nav-blog {
  font-weight: 400;
  color: var(--white);
  position: relative;
  padding: 4px 10px;
  border: 0.5px solid rgba(0,108,90,.5);
  border-radius: 2px;
  background: rgba(0,108,90,.08);
  transition: all .2s;
}
.nav-links a.nav-blog:hover {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}
.nav-links a.nav-blog::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  margin-right: 6px;
  animation: pulse 2.5s ease-in-out infinite;
  vertical-align: middle;
  margin-bottom: 1px;
}
/* Nav active state - blanc gras seulement sur page courante */
.nav-links a.nav-active {
  color: var(--white);
  font-weight: 700;
}

/* Section eyebrow espace — dégage le header fixe (masterclass 40px + nav 64px = 104px) + respiration */
.batir-hero, .trans-hero, .inv-hero, .reseau-hero,
.cand-hero, .romain-hero, .form-hero, .mep-hero {
  padding-top: 150px;
}
@media (max-width: 768px) {
  .batir-hero, .trans-hero, .inv-hero, .reseau-hero,
  .cand-hero, .romain-hero, .form-hero, .mep-hero {
    padding-top: 132px;
  }
}

/* Piliers BISHOP - horizontal scrollable */
.piliers-grid-horizontal {
  display: flex;
  gap: 0;
  border: 0.5px solid var(--gray-border);
  overflow-x: auto;
}
.pilier-card-h {
  background: var(--black-card);
  padding: 36px 28px;
  flex: 1;
  min-width: 160px;
  border-right: 0.5px solid var(--gray-border);
  transition: background .2s;
}
.pilier-card-h:last-child { border-right: none; }
.pilier-card-h:hover { background: #161616; }
.pilier-letter-h {
  font-size: 52px;
  font-weight: 200;
  color: var(--green);
  line-height: 1;
  margin-bottom: 12px;
}
.pilier-name-h {
  font-size: var(--base);
  font-weight: 600;
  color: var(--white);
  margin-bottom: 8px;
  line-height: 1.3;
}
.pilier-desc-h {
  font-size: var(--sm);
  font-weight: 300;
  color: rgba(255,255,255,.5);
  line-height: 1.65;
}

/* 3 offres - grid */
.offres-3-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 0.5px solid var(--gray-border);
}
.offre-3-card {
  padding: 40px 36px;
  border-right: 0.5px solid var(--gray-border);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: background .2s;
}
.offre-3-card:last-child { border-right: none; }
.offre-3-card:hover { background: var(--black-card); }
.offre-3-card.featured-3 { background: var(--green-deep); }
.offre-3-card.featured-3:hover { background: #003830; }
.offre-3-name {
  font-size: 26px;
  font-weight: 200;
  color: var(--white);
  margin-bottom: 10px;
  letter-spacing: -.01em;
}
.offre-3-label {
  font-size: var(--xs);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.offre-3-label::before { content:""; display:block; width:12px; height:1px; background:var(--green); }
.offre-3-desc {
  font-size: var(--base);
  font-weight: 300;
  color: rgba(255,255,255,.6);
  line-height: 1.75;
  margin-bottom: 24px;
}
.offre-3-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-bottom: 24px;
  flex: 1;
}
.offre-3-list li {
  font-size: var(--sm);
  font-weight: 300;
  color: rgba(255,255,255,.6);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.55;
}
.offre-3-list li::before { content:""; display:block; width:14px; height:1px; background:var(--green); margin-top:8px; flex-shrink:0; }
.offre-3-list li strong { font-weight:500; color:rgba(255,255,255,.85); }
.offre-3-card.featured-3 .offre-3-desc,
.offre-3-card.featured-3 .offre-3-list li { color: rgba(255,255,255,.65); }

/* Réassurance section */
.reassurance {
  background: var(--cream);
  padding: 72px 48px;
  border-bottom: 0.5px solid var(--gray-border-light);
}
.reassurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--gray-border-light);
  border: 0.5px solid var(--gray-border-light);
  margin-top: 40px;
}
.reassurance-item {
  background: var(--cream);
  padding: 28px 24px;
  transition: background .15s;
}
.reassurance-item:hover { background: var(--cream-dark); }
.reassurance-icon { font-size: 24px; margin-bottom: 12px; }
.reassurance-title { font-size: var(--base); font-weight: 600; color: var(--black); margin-bottom: 8px; }
.reassurance-desc { font-size: var(--sm); font-weight: 300; color: #555; line-height: 1.65; }

/* CTA centré unique */
.cta-unique {
  background: var(--black);
  padding: 96px 48px;
  text-align: center;
}
.cta-unique-title {
  font-size: clamp(28px,3.5vw,44px);
  font-weight: 300;
  color: var(--white);
  letter-spacing: -.02em;
  line-height: 1.15;
  margin-bottom: 16px;
}
.cta-unique-sub {
  font-size: var(--md);
  font-weight: 300;
  color: rgba(255,255,255,.6);
  line-height: 1.75;
  margin-bottom: 36px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

/* Responsive fixes */
@media (max-width: 1024px) {
  .offres-3-grid { grid-template-columns: 1fr; }
  .offre-3-card { border-right: none; border-bottom: 0.5px solid var(--gray-border); }
  .piliers-grid-horizontal { flex-wrap: wrap; }
  .pilier-card-h { min-width: calc(50% - 1px); }
  .reassurance-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .mc-fixed { padding: 0 20px; }
  .bishop-nav { padding: 0 20px; }
}

/* Logo blanc sur fond noir — invert trick */
.logo img.logo-img {
  height: 28px;
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
}
.bishop-footer .footer-logo img {
  height: 24px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: .9;
}
/* Accès sur sélection — blanc lisible */
.offre-cta-note {
  font-size: var(--xs);
  font-weight: 400;
  color: rgba(255,255,255,.55) !important;
  letter-spacing: .04em;
}
/* Fix décalage haut de page intérieure */
.page-inner { padding-top: 110px; }
/* Romain CTA centré */
.romain-cta-inner {
  text-align: center;
}
.romain-cta-actions {
  justify-content: center;
}

/* Logo blanc natif — pas de filter */
.logo img.logo-img { height: 32px; width: auto; display: block; filter: none; }
.bishop-footer .footer-logo img { height: 26px; width: auto; filter: none; opacity:.9; }
/* Accès sur sélection lisible */
.offre-cta-note { font-size: var(--xs); font-weight: 400; color: rgba(255,255,255,.55) !important; }
/* Page inner padding */
.page-inner { padding-top: 110px; }
/* Romain CTA centré */
.romain-cta-inner { text-align: center; }
.romain-cta-actions { justify-content: center; }
/* 3 accompagnements grid */
.accompagnements-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:0.5px solid var(--gray-border); }
.accomp-card { padding:44px 40px; border-right:0.5px solid var(--gray-border); display:flex; flex-direction:column; position:relative; transition:background .2s; }
.accomp-card:last-child { border-right:none; }
.accomp-card:hover { background:var(--black-card); }
.accomp-card.accomp-featured { background:var(--green-deep); }
.accomp-card.accomp-featured:hover { background:#003830; }
.accomp-label { font-size:var(--xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:20px; display:flex; align-items:center; gap:8px; }
.accomp-label::before { content:""; display:block; width:14px; height:1px; background:var(--green); }
.accomp-name { font-size:28px; font-weight:200; color:var(--white); letter-spacing:-.01em; margin-bottom:14px; line-height:1.2; }
.accomp-desc { font-size:var(--md); font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:32px; flex:1; }
.accomp-card.accomp-featured .accomp-desc { color:rgba(255,255,255,.65); }
.accomp-cta { display:inline-flex; align-items:center; gap:8px; font-size:var(--sm); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--white); border-bottom:0.5px solid rgba(255,255,255,.25); padding-bottom:4px; transition:color .2s,border-color .2s; }
.accomp-cta::after { content:"→"; }
.accomp-cta:hover { color:var(--green); border-color:var(--green); }
.accomp-note { font-size:var(--xs); font-weight:300; color:rgba(255,255,255,.35); margin-top:8px; }
/* Legal pages */
.legal-page { background:var(--cream); padding-top:110px; min-height:100vh; }
.legal-inner { max-width:800px; margin:0 auto; padding:64px 48px; }
.legal-inner h1 { font-size:clamp(28px,4vw,42px); font-weight:300; color:var(--black); margin-bottom:8px; letter-spacing:-.01em; }
.legal-date { font-size:var(--sm); color:var(--gray-mid); margin-bottom:48px; padding-bottom:24px; border-bottom:0.5px solid var(--gray-border-light); }
.legal-inner h2 { font-size:16px; font-weight:700; color:var(--black); margin:40px 0 12px; padding-top:28px; border-top:0.5px solid var(--gray-border-light); text-transform:uppercase; letter-spacing:.06em; }
.legal-inner h3 { font-size:15px; font-weight:600; color:var(--black); margin:20px 0 8px; }
.legal-inner p { font-size:var(--base); font-weight:300; color:#444; line-height:1.85; margin-bottom:14px; }
.legal-inner ul { list-style:disc; margin-left:24px; margin-bottom:14px; }
.legal-inner li { font-size:var(--base); font-weight:300; color:#444; line-height:1.75; margin-bottom:6px; }
.legal-inner a { color:var(--green); }
.legal-inner strong { font-weight:600; color:var(--black); }
.legal-alert { background:rgba(0,108,90,.06); border-left:3px solid var(--green); padding:16px 20px; margin:20px 0; border-radius:0 2px 2px 0; }
.legal-alert p { margin:0; font-size:var(--sm); color:#333; }
.legal-info-block { background:var(--white); border:0.5px solid var(--gray-border-light); border-radius:3px; padding:20px 24px; margin:16px 0 24px; }
.legal-info-block p { margin:0; line-height:2; }
@media (max-width:1024px) {
  .accompagnements-grid { grid-template-columns:1fr; }
  .accomp-card { border-right:none; border-bottom:0.5px solid var(--gray-border); }
}


/* ── ARTICLES BLOG ─────────────────────── */
.single-article { background: var(--cream); padding-top: 110px; }
.article-header-section { background: var(--black); padding: 80px 48px 64px; border-bottom: 0.5px solid var(--gray-border); }
.article-header-inner { max-width: 800px; margin: 0 auto; }
.article-cat-tag { font-size: var(--xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 20px; display: flex; align-items: center; gap: 7px; }
.article-cat-tag::before { content: ""; display: block; width: 14px; height: 1px; background: var(--green); }
.article-h1 { font-size: clamp(26px, 4vw, 48px); font-weight: 300; color: var(--white); line-height: 1.15; letter-spacing: -.02em; margin-bottom: 20px; }
.article-meta-bar { font-size: var(--sm); font-weight: 300; color: var(--gray-mid); display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.article-meta-bar .sep { color: var(--gray-border); }
.article-body-wrap { display: grid; grid-template-columns: 1fr 280px; gap: 64px; max-width: 1100px; margin: 0 auto; padding: 64px 48px; align-items: start; }
.article-content { font-size: var(--md); line-height: 1.85; color: #333; }
.article-content h2 { font-size: 22px; font-weight: 700; color: var(--black); margin: 48px 0 16px; letter-spacing: -.01em; border-left: 3px solid var(--green); padding-left: 14px; }
.article-content h3 { font-size: 18px; font-weight: 600; color: var(--black); margin: 32px 0 10px; }
.article-content p { margin-bottom: 20px; }
.article-content ul, .article-content ol { margin: 16px 0 20px 20px; }
.article-content li { margin-bottom: 8px; line-height: 1.7; }
.article-content strong { font-weight: 700; color: var(--black); }
.article-content a { color: var(--green); border-bottom: 0.5px solid var(--green); }
.article-quote-break { background: var(--black); border-left: 3px solid var(--green); padding: 28px 32px; margin: 44px 0; border-radius: 0 3px 3px 0; }
.article-quote-break p { font-size: 20px; font-weight: 200; font-style: italic; color: var(--white); line-height: 1.6; margin: 0; }
.article-quote-break .quote-author { font-size: var(--xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--green); margin-top: 12px; font-style: normal; display: block; }
.article-theorie { background: rgba(0,108,90,.07); border: 0.5px solid rgba(0,108,90,.3); border-radius: 3px; padding: 24px 28px; margin: 36px 0; }
.article-theorie-title { font-size: var(--xs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 10px; }
.article-theorie p { font-size: var(--base); font-weight: 300; color: #333; line-height: 1.75; margin: 0; }
.article-resume { background: var(--black); border-radius: 3px; padding: 28px 32px; margin: 44px 0 0; }
.article-resume-title { font-size: var(--xs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 14px; }
.article-resume ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.article-resume li { font-size: var(--base); font-weight: 300; color: rgba(255,255,255,.75); display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; margin: 0; }
.article-resume li::before { content: "—"; color: var(--green); flex-shrink: 0; }
.article-sidebar { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 16px; }
.sidebar-cta-box { background: var(--black); padding: 28px 24px; border-radius: 3px; }
.sidebar-cta-label { font-size: var(--xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 10px; }
.sidebar-cta-title { font-size: 17px; font-weight: 300; color: var(--white); line-height: 1.4; margin-bottom: 18px; }
.sidebar-sommaire { background: var(--white); border: 0.5px solid var(--gray-border-light); border-radius: 3px; padding: 20px 24px; }
.sidebar-sommaire-title { font-size: var(--xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--black); margin-bottom: 14px; }
.sidebar-sommaire ul { list-style: none; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
.sidebar-sommaire li { font-size: var(--sm); font-weight: 300; margin: 0; }
.sidebar-sommaire a { color: var(--green); border: none; }
@media (max-width: 1024px) {
  .article-body-wrap { grid-template-columns: 1fr; }
  .article-sidebar { display: none; }
  .article-header-section, .article-body-wrap { padding-left: 24px; padding-right: 24px; }
}

/* CTA fin article — pleine largeur */
.article-cta-fin {
  display: block;
  width: 100%;
  background: var(--black) !important;
  padding: 64px 48px !important;
  margin-top: 0 !important;
  border-top: 0.5px solid var(--gray-border) !important;
}

/* ── PARCOURS AUTORITÉ ────────────────────────────── */
.autorite-parcours { padding:72px 48px; background:var(--cream); }
.autorite-parcours-title { font-size:clamp(24px,3vw,38px); font-weight:300; color:var(--black); letter-spacing:-.02em; line-height:1.2; margin-bottom:48px; }
.autorite-parcours-title em { color:var(--green); font-style:italic; }
.autorite-parcours-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-bottom:40px; }
.autorite-parcours-col { border-top:2px solid var(--green); padding-top:20px; }
.parcours-col-label { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.parcours-col-title { font-size:18px; font-weight:600; color:var(--black); margin-bottom:14px; }
.parcours-col-desc { font-size:14px; font-weight:300; color:#555; line-height:1.8; }
.autorite-link { display:inline-flex; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--green); text-decoration:none; }
@media (max-width:768px) { .autorite-parcours-grid { grid-template-columns:1fr; } .autorite-parcours { padding:48px 24px; } }

/* ── STAT AUTORITÉ ────────────────────────────────── */
.autorite-stat { padding:24px 0; border-bottom:0.5px solid var(--gray-border-light); }
.autorite-stat:last-child { border-bottom:none; }
.hstat-num { font-size:clamp(28px,3vw,42px); font-weight:300; color:var(--black); letter-spacing:-.02em; }
.hstat-label { font-size:13px; font-weight:600; color:var(--black); margin-top:2px; }
.hstat-sub { font-size:12px; font-weight:300; color:#888; margin-top:2px; }


/* ── FAQ (questions fréquentes visibles) ──────────── */
.faq-section { background:var(--cream); padding:80px 48px; border-top:0.5px solid var(--gray-border-light); }
.faq-inner { max-width:820px; margin:0 auto; }
.faq-title { font-size:clamp(26px,3vw,40px); font-weight:300; color:var(--black); letter-spacing:-.02em; line-height:1.2; margin-bottom:40px; }
.faq-title em { color:var(--green); font-style:italic; }
.faq-list { display:flex; flex-direction:column; gap:0; }
.faq-item { border-bottom:0.5px solid #ddd; padding:0; }
.faq-item summary { list-style:none; cursor:pointer; padding:22px 0; font-size:16px; font-weight:500; color:var(--black); display:flex; justify-content:space-between; align-items:center; gap:24px; transition:color .15s; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; font-size:22px; font-weight:300; color:var(--green); flex-shrink:0; transition:transform .2s; }
.faq-item[open] summary::after { content:"−"; }
.faq-item summary:hover { color:var(--green); }
.faq-a { font-size:14px; font-weight:300; color:#555; line-height:1.8; padding:0 0 22px; max-width:680px; }
@media (max-width:768px) { .faq-section { padding:56px 24px; } .faq-item summary { font-size:15px; } }


/* ── BLOC "EN RÉSUMÉ" (GEO/LLMO) ──────────────────── */
.resume-section { background:var(--green-deep); padding:48px; border-bottom:0.5px solid rgba(255,255,255,.1); }
.resume-inner { max-width:820px; margin:0 auto; }
.resume-label { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:14px; }
.resume-intro { font-size:17px; font-weight:300; color:#fff; line-height:1.7; margin-bottom:20px; }
.resume-points { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.resume-points li { font-size:14px; font-weight:300; color:rgba(255,255,255,.75); line-height:1.6; padding-left:22px; position:relative; }
.resume-points li::before { content:"—"; position:absolute; left:0; color:var(--green); }
@media (max-width:768px) { .resume-section { padding:36px 24px; } .resume-intro { font-size:15px; } }


/* ── MESSAGES FORMULAIRE ──────────────────────────── */
.form-success { background:var(--green-deep); border:0.5px solid var(--green); border-radius:3px; padding:36px 32px; text-align:center; }
.form-success-icon { width:48px; height:48px; border-radius:50%; background:var(--green); color:#fff; font-size:24px; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.form-success-title { font-size:22px; font-weight:400; color:#fff; margin-bottom:10px; }
.form-success-text { font-size:14px; font-weight:300; color:rgba(255,255,255,.7); line-height:1.7; max-width:380px; margin:0 auto; }
.form-error { background:rgba(200,40,40,.12); border:0.5px solid rgba(200,40,40,.4); border-radius:3px; padding:14px 18px; font-size:13px; color:#ffb4b4; margin-bottom:20px; line-height:1.6; }


/* ── FACILITÉ DE PAIEMENT (formation) ─────────────── */
.form-achat-facilite { margin-top:18px; padding-top:18px; border-top:0.5px solid rgba(255,255,255,.12); text-align:center; }
.form-achat-facilite span { display:block; font-size:13px; color:rgba(255,255,255,.5); margin-bottom:4px; }
.form-achat-facilite a { font-size:13px; font-weight:600; color:var(--green); text-decoration:none; letter-spacing:.02em; }
.form-achat-facilite a:hover { text-decoration:underline; }


/* ── GALERIE RÉALISATIONS (preuve d'autorité) ─────── */
.realisations { background:#0a0a0a; padding:90px 48px; border-top:0.5px solid var(--gray-border); }
.real-header { max-width:1200px; margin:0 auto 48px; }
.real-title { font-size:clamp(28px,3.5vw,44px); font-weight:300; letter-spacing:-.02em; line-height:1.15; margin-bottom:16px; color:var(--white); }
.real-title em { color:var(--green); font-style:italic; }
.real-sub { font-size:16px; font-weight:300; color:rgba(255,255,255,.55); line-height:1.7; max-width:560px; }
.real-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr; gap:14px; align-items:stretch; }
.real-main { position:relative; border-radius:4px; overflow:hidden; margin:0; min-height:100%; }
.real-col { display:grid; grid-template-rows:1fr 1fr; gap:14px; }
.real-cell { position:relative; border-radius:4px; overflow:hidden; margin:0; aspect-ratio:4/3; }
.real-cell img, .real-main img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.real-main { display:flex; }
.real-cell:hover img, .real-main:hover img { transform:scale(1.04); }
.real-caption { position:absolute; bottom:0; left:0; right:0; padding:20px; background:linear-gradient(transparent,rgba(0,0,0,.85)); margin:0; }
.real-caption-label { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green); margin-bottom:4px; }
.real-caption-text { display:block; font-size:14px; font-weight:400; color:#fff; }
.real-secondrow { max-width:1200px; margin:14px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.real-wide { position:relative; border-radius:4px; overflow:hidden; aspect-ratio:16/8; margin:0; }
.real-wide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.real-wide:hover img { transform:scale(1.04); }
.real-stats { background:var(--green-deep); border-radius:4px; display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:16/8; text-align:center; padding:24px; }
.real-stats-num { font-size:clamp(28px,3vw,36px); font-weight:200; color:#fff; margin-bottom:6px; letter-spacing:-.01em; }
.real-stats-label { font-size:12px; color:rgba(255,255,255,.6); letter-spacing:.04em; line-height:1.5; }
@media (max-width:768px) {
  .realisations { padding:56px 24px; }
  .real-grid { grid-template-columns:1fr; }
  .real-main { aspect-ratio:16/11; }
  .real-col { grid-template-rows:auto auto; }
  .real-cell { aspect-ratio:16/10; }
  .real-secondrow { grid-template-columns:1fr; }
  .real-wide { aspect-ratio:16/9; }
  .real-stats { aspect-ratio:16/7; }
}

/* ── BANDEAU PRESSE "ILS EN PARLENT" ──────────────── */
.presse-typo { background:var(--green-deep); padding:60px 48px; }
.presse-inner { max-width:1100px; margin:0 auto; text-align:center; }
.presse-label { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#9FE1CB; margin-bottom:32px; }
.presse-names { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 40px; }
.presse-name { font-size:clamp(16px,1.8vw,22px); font-weight:300; color:rgba(255,255,255,.85); letter-spacing:.02em; text-decoration:none; transition:color .2s; white-space:nowrap; }
.presse-name:hover { color:#fff; }
.presse-name strong { font-weight:600; }
@media (max-width:768px) { .presse-typo { padding:44px 24px; } .presse-names { gap:12px 24px; } }


/* ── RANGÉE CUISINE (galerie) ─────────────────────── */
.real-cuisine-row { max-width:1200px; margin:14px auto 0; display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.real-cuisine-cell { position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/3; margin:0; }
.real-cuisine-cell img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.real-cuisine-cell:hover img { transform:scale(1.04); }
.real-cuisine-text { background:#141414; border-radius:4px; padding:28px 26px; display:flex; flex-direction:column; justify-content:center; }
.real-cuisine-text p { font-size:14px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.7; margin-top:10px; }
@media (max-width:768px) {
  .real-cuisine-row { grid-template-columns:1fr; }
  .real-cuisine-cell { aspect-ratio:16/10; }
}


/* ── INTRO CUISINE (au-dessus de la rangée plats) ── */
.real-cuisine-intro { max-width:1200px; margin:32px auto 14px; }
.real-cuisine-intro p { font-size:15px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.7; margin-top:8px; max-width:620px; }
