/* ── TOKENS ── */
:root {
  --bg:      #F5F8FC;
  --bg-2:    #EBF1F9;
  --dark:    #080C12;
  --dark-2:  #0E1825;
  --white:   #fafafa;
  --ink:     #0D1B2A;
  --muted:   #5C6F82;
  --accent:  #2B60A8;
  --accent-2:#4A9FD4;
  --teal:    #3DCECE;
  --gold:    #C4A44A;
  --gold-2:  #D4B86A;
  --border:  rgba(13,27,42,0.08);
  --bd:      rgba(255,255,255,0.07);
  --r:       10px;
  --r-sm:    6px;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior: smooth }
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--ink); font-weight:300; line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; padding-top:72px }

/* ── SCROLL ANIMATION ── */
.fade-up { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease, transform 0.7s ease }
.fade-up.visible { opacity:1; transform:none }
.fade-up.delay-1 { transition-delay:0.1s }
.fade-up.delay-2 { transition-delay:0.2s }
.fade-up.delay-3 { transition-delay:0.3s }

/* ── NAVIGATION ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 56px; height:72px;
  background:rgba(245,248,252,0.92);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid var(--border);
  transition:background 0.3s;
}
.logo { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:600; letter-spacing:0.06em; color:var(--ink); text-decoration:none }
.logo em { color:var(--accent); font-style:normal }
.nav-links { display:flex; gap:32px; list-style:none; align-items:center }
.nav-links a { font-size:12px; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color 0.2s }
.nav-links a:hover { color:var(--ink) }
.nav-links a.active { color:var(--ink); font-weight:500 }
.nav-cta {
  background:var(--ink) !important; color:var(--white) !important;
  padding:8px 20px !important; border-radius:6px;
  font-weight:500 !important; letter-spacing:0.05em !important;
  transition:background 0.2s, transform 0.15s !important;
}
.nav-cta:hover { background:var(--accent) !important; transform:translateY(-1px) }
.lang-btn {
  background:transparent; border:1px solid var(--border);
  color:var(--muted); font-family:'Inter',sans-serif; font-size:11px;
  font-weight:500; letter-spacing:0.12em; text-transform:uppercase;
  padding:6px 14px; border-radius:6px; cursor:pointer;
  transition:border-color 0.2s, color 0.2s;
}
.lang-btn:hover { border-color:var(--accent); color:var(--accent) }

/* ── COMMON ── */
.container { max-width:1180px; margin:0 auto; padding:0 56px }
.section { padding:96px 0 }
.section-sm { padding:72px 0 }

.tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:10px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px;
}
.tag::before { content:''; width:24px; height:1px; background:var(--gold); flex-shrink:0 }
.tag-gold { color:var(--gold) }
.tag-gold2 { color:var(--gold-2) }

.tag-pill {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(184,150,90,0.1); border:1px solid rgba(184,150,90,0.25);
  color:var(--gold); font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase;
  padding:5px 14px; border-radius:100px;
}
.tag-pill-dark {
  background:rgba(184,150,90,0.12); border:1px solid rgba(184,150,90,0.2);
  color:var(--gold-2);
}
.tag-pill-centered {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(184,150,90,0.1); border:1px solid rgba(184,150,90,0.25);
  color:var(--gold); font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase;
  padding:5px 14px; border-radius:100px;
  margin:0 auto 20px; width:fit-content; text-align:center;
}

h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(38px,5.5vw,72px); font-weight:300; line-height:1.05; letter-spacing:-0.01em; margin-bottom:24px }
h1 em { color:var(--accent); font-style:italic }
h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(26px,4vw,48px); font-weight:300; line-height:1.1; letter-spacing:-0.01em; margin-bottom:18px }
h2 em { color:var(--accent); font-style:italic }
h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.2vw,26px); font-weight:400; line-height:1.25; margin-bottom:10px }
h4 { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:400; line-height:1.3; margin-bottom:8px }

.lead { font-size:15px; color:var(--muted); line-height:1.85; max-width:560px; margin-bottom:36px }
.lead-dark { color:rgba(250,250,250,0.55) }

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 28px; border-radius:8px;
  font-family:'Inter',sans-serif; font-size:13px; font-weight:500; letter-spacing:0.02em;
  text-decoration:none; transition:all 0.2s; cursor:pointer; border:none;
}
.btn-primary { background:var(--accent); color:#fff }
.btn-primary:hover { background:var(--accent-2); transform:translateY(-1px); box-shadow:0 8px 24px rgba(43,96,168,0.3) }
.btn-dark { background:var(--ink); color:#fff }
.btn-dark:hover { background:#222; transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,0.2) }
.btn-outline { background:transparent; color:var(--ink); border:1px solid var(--border) }
.btn-outline:hover { border-color:var(--ink); transform:translateY(-1px) }
.btn-outline-dark { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.15) }
.btn-outline-dark:hover { border-color:rgba(255,255,255,0.5); transform:translateY(-1px) }
.btn-ghost { background:none; color:var(--muted); font-size:13px; font-weight:400; padding:0; letter-spacing:0; gap:6px }
.btn-ghost:hover { color:var(--ink) }
.btn-ghost::after { content:'→'; transition:transform 0.2s }
.btn-ghost:hover::after { transform:translateX(3px) }

/* ── FOOTER ── */
footer { background:var(--dark); color:rgba(255,255,255,0.9); padding:40px 56px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px }
.fl { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:400; color:#fff; letter-spacing:0.08em; text-decoration:none }
.fl em { color:var(--teal); font-style:normal }
footer p { font-size:11px; letter-spacing:0.05em; color:rgba(255,255,255,0.85) }
.flinks { display:flex; gap:24px }
.flinks a { font-size:11px; color:rgba(255,255,255,0.8); text-decoration:none; letter-spacing:0.1em; text-transform:uppercase; transition:color 0.2s }
.flinks a:hover { color:#fff }
.nav-logo { height:44px; width:auto; display:block }

/* ── MENTIONS LÉGALES ── */
.ml-wrap { max-width:780px; margin:0 auto; padding:60px 32px 100px }
.ml-tag { margin-bottom:32px; display:inline-block }
.ml-title { font-family:'Cormorant Garamond',serif; font-size:clamp(32px,4vw,48px); font-weight:300; color:var(--ink); margin-bottom:48px; line-height:1.1 }
.ml-block { margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid var(--border) }
.ml-block h2 { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:400; color:var(--ink); margin-bottom:14px }
.ml-block p { font-size:14px; color:var(--ink); line-height:1.8; margin-bottom:10px; opacity:0.78 }
.ml-block a { color:var(--accent); text-decoration:none }
.ml-block strong { color:var(--ink); font-weight:600; opacity:1 }
.ml-update { font-size:12px; color:var(--muted); margin-top:40px; letter-spacing:0.06em }

/* ── HERO ── */
.hero {
  position:relative; min-height:calc(100vh - 72px);
  background:var(--dark);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; text-align:center;
  padding:80px 0 100px;
}
.hero-mesh {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 15% 40%, rgba(43,96,168,0.6) 0px, transparent 55%),
    radial-gradient(ellipse at 85% 60%, rgba(61,206,206,0.28) 0px, transparent 50%),
    radial-gradient(ellipse at 55% 10%, rgba(196,164,74,0.12) 0px, transparent 40%),
    radial-gradient(ellipse at 45% 90%, rgba(43,96,168,0.2) 0px, transparent 40%);
}
.hero-dots {
  position:absolute; inset:0; pointer-events:none;
  background-image: radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image: radial-gradient(ellipse at 50% 50%, black 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, black 40%, transparent 80%);
}
.hero-inner { position:relative; z-index:2; max-width:860px; padding:0 40px }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:100px; padding:6px 16px; margin-bottom:32px; font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-2) }
.hero-badge span { width:6px; height:6px; border-radius:50%; background:var(--gold); display:block; animation: pulse 2s ease-in-out infinite }
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1) } 50% { opacity:0.5; transform:scale(0.85) } }
.hero h1 { font-size:clamp(40px,6.5vw,82px); color:var(--white); margin-bottom:12px; font-weight:300 }
.hero h1 em { color:transparent; background:linear-gradient(135deg, var(--accent-2), var(--gold)); -webkit-background-clip:text; background-clip:text; font-style:italic }
.hero-sub { font-size:15px; color:rgba(250,250,250,0.5); line-height:1.8; max-width:560px; margin:0 auto 36px }
.hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:60px }
.hero-trust { display:flex; justify-content:center; gap:0; flex-wrap:wrap; border:1px solid rgba(255,255,255,0.07); border-radius:12px; overflow:hidden; max-width:680px; margin:0 auto }
.ht-item { flex:1; min-width:140px; padding:16px 20px; text-align:center; border-right:1px solid rgba(255,255,255,0.07) }
.ht-item:last-child { border-right:none }
.ht-n { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:300; color:var(--gold); display:block; line-height:1; margin-bottom:4px }
.ht-l { font-size:9px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.35) }

/* ── SPLIT LANDING ── */
.split-landing { display:flex; min-height:calc(100vh - 72px); position:relative }
.split-panel { flex:1; display:flex; align-items:center; justify-content:center; padding:80px 60px; text-align:center; text-decoration:none; position:relative; overflow:hidden; transition:flex 0.55s cubic-bezier(0.25,0.46,0.45,0.94) }
.split-landing:has(.split-ent:hover) .split-par { flex:0.6 }
.split-landing:has(.split-par:hover) .split-ent { flex:0.6 }
.split-landing:has(.split-ent:hover) .split-ent { flex:1.4 }
.split-landing:has(.split-par:hover) .split-par { flex:1.4 }
.split-ent { background:var(--dark) }
.split-par { background:var(--dark); border-left:1px solid rgba(255,255,255,0.04) }
.split-bg-ent { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 45% 55%, rgba(43,96,168,0.65) 0%, transparent 65%); transition:opacity 0.5s }
.split-bg-par { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 55% 45%, rgba(61,206,206,0.22) 0%, transparent 65%); transition:opacity 0.5s }
.split-divider { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:20 }
.split-or { display:block; font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.3); padding:8px 16px; border:1px solid rgba(255,255,255,0.1); border-radius:100px; background:rgba(8,8,8,0.7); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px) }
.split-content { position:relative; z-index:2; max-width:340px }
.split-eyebrow { display:block; font-size:9px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.25); margin-bottom:18px; transition:color 0.3s }
.split-panel:hover .split-eyebrow { color:rgba(255,255,255,0.45) }
.split-title { display:block; font-family:'Cormorant Garamond',serif; font-size:clamp(52px,6.5vw,88px); font-weight:300; line-height:0.95; color:var(--white); margin-bottom:28px; transition:transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94) }
.split-panel:hover .split-title { transform:translateY(-6px) }
.split-ent .split-title em, .split-par .split-title em { color:#fff; font-style:italic }
.split-sub { display:block; font-size:11px; letter-spacing:0.06em; line-height:2; color:rgba(255,255,255,0.25); margin-bottom:36px; transition:color 0.35s }
.split-panel:hover .split-sub { color:rgba(255,255,255,0.45) }
.split-cta { display:inline-flex; align-items:center; gap:10px; font-size:10px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.25); transition:color 0.3s }
.split-ent:hover .split-cta { color:var(--accent-2) }
.split-par:hover .split-cta { color:var(--teal) }
.split-arr { transition:transform 0.3s }
.split-panel:hover .split-arr { transform:translateX(5px) }

/* ── TRUST BAR ── */
.trust-bar { background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:16px 0; overflow:hidden }
.trust-inner { display:flex; align-items:center; gap:40px; justify-content:center; flex-wrap:wrap; padding:0 56px }
.trust-item { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted) }
.trust-dot { width:4px; height:4px; border-radius:50%; background:var(--gold) }

/* ── CONSTAT ── */
.constat { background:var(--dark-2); padding:96px 0 }
.constat-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start }
.constat h2 { color:var(--white) }
.constat h2 em { color:var(--gold) }
.constat-intro { font-size:14px; color:rgba(250,250,250,0.5); line-height:1.85; margin-bottom:32px }
.signal-list { list-style:none; display:flex; flex-direction:column; gap:0 }
.signal-item { display:flex; gap:16px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.05) }
.signal-item:last-child { border-bottom:none }
.signal-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:7px }
.signal-item span { font-size:13px; color:rgba(250,250,250,0.55); line-height:1.65 }
.constat-cards { display:flex; flex-direction:column; gap:14px }
.c-card { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); border-radius:var(--r); padding:28px }
.c-card h4 { color:var(--white); font-size:18px; margin-bottom:8px }
.c-card p { font-size:13px; color:rgba(250,250,250,0.42); line-height:1.7 }
.c-stat { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:300; color:var(--gold); display:block; margin-bottom:6px; line-height:1 }
.constat-source { font-size:10px; color:rgba(255,255,255,0.55); margin-top:20px; letter-spacing:0.08em; text-transform:uppercase }

/* ── DEUX MÉTIERS RH ── */
.deux-rh { background:var(--bg); padding:96px 0 }
.drh-header { text-align:center; max-width:660px; margin:0 auto 60px }
.drh-header p { font-size:14px; color:var(--muted); line-height:1.85; margin-top:12px }
.drh-compare { display:grid; grid-template-columns:1fr 48px 1fr; align-items:stretch; gap:0 }
.drh-col { padding:40px 36px; border-radius:var(--r); transition:transform 0.3s }
.drh-passive { background:#fff; border:1px solid var(--border) }
.drh-active { background:var(--dark); border:1px solid transparent; background-clip:padding-box; position:relative }
.drh-active::before { content:''; position:absolute; inset:-1px; border-radius:calc(var(--r) + 1px); background:linear-gradient(135deg, rgba(43,96,168,0.7), rgba(61,206,206,0.25) 50%, transparent); z-index:-1 }
.drh-active:hover { transform:translateY(-3px) }
.drh-active-badge { display:inline-flex; gap:6px; align-items:center; background:rgba(43,96,168,0.2); border:1px solid rgba(43,96,168,0.35); color:var(--accent-2); font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:5px 12px; border-radius:100px; margin-bottom:20px }
.drh-active-badge::before { content:'◆'; font-size:8px }
.drh-passive-badge { display:inline-block; background:rgba(107,107,107,0.08); border:1px solid var(--border); color:var(--muted); font-size:10px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; padding:5px 12px; border-radius:100px; margin-bottom:20px }
.drh-col h3 { font-size:22px; margin-bottom:12px }
.drh-passive h3 { color:var(--muted) }
.drh-active h3 { color:#fff }
.drh-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; margin-top:16px }
.drh-passive ul li { font-size:13px; color:rgba(107,107,107,0.7); display:flex; gap:10px; align-items:flex-start }
.drh-passive ul li::before { content:'–'; color:var(--border); flex-shrink:0; margin-top:1px }
.drh-active ul li { font-size:13px; color:rgba(250,250,250,0.65); display:flex; gap:10px; align-items:flex-start }
.drh-active ul li::before { content:'✓'; color:var(--accent-2); font-size:10px; flex-shrink:0; margin-top:3px }
.drh-vs { display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:20px; color:rgba(107,107,107,0.3) }
.drh-footer { margin-top:24px; background:var(--dark); border-radius:var(--r); padding:36px 44px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap }
.drh-footer p { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; color:var(--white); line-height:1.5; flex:1 }
.drh-footer em { color:var(--gold); font-style:italic }
.drh-passive-desc { font-size:13px; color:rgba(107,107,107,0.7); line-height:1.75 }
.drh-active-desc { font-size:13px; color:rgba(250,250,250,0.55); line-height:1.75 }

/* ── TUNNELS ── */
.tunnels { background:var(--bg-2); padding:88px 0 }
.tunnels-header { text-align:center; margin-bottom:44px }
.tunnel-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px }
.tunnel { display:block; padding:52px 44px; border-radius:14px; text-decoration:none; position:relative; overflow:hidden; transition:transform 0.3s, box-shadow 0.3s }
.tunnel:hover { transform:translateY(-4px); box-shadow:0 20px 60px rgba(0,0,0,0.15) }
.tunnel-b2b { background:var(--dark) }
.tunnel-b2b::before { content:''; position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse at 80% 20%, rgba(43,96,168,0.5) 0px, transparent 60%) }
.tunnel-b2c { background:var(--accent); background-image: radial-gradient(ellipse at 20% 80%, rgba(0,0,0,0.25) 0px, transparent 60%) }
.t-dots { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px); background-size:28px 28px }
.tunnel-inner { position:relative; z-index:1 }
.t-tag { font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.35); margin-bottom:16px; display:block }
.tunnel h3 { font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:300; color:#fff; margin-bottom:12px; line-height:1.1 }
.tunnel p { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.8; margin-bottom:24px }
.t-cta { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:500; letter-spacing:0.08em; color:var(--gold-2); text-transform:uppercase }
.t-cta svg { transition:transform 0.2s }
.tunnel:hover .t-cta svg { transform:translateX(4px) }

/* ── BENTO GRIDS ── */
.bento { display:grid; gap:14px }
.bento-4 { grid-template-columns:repeat(4,1fr); grid-template-rows:auto auto }
.bento-3 { grid-template-columns:repeat(3,1fr) }
.bento-card { background:#fff; border:1px solid var(--border); border-radius:var(--r); padding:36px 32px; position:relative; overflow:hidden; transition:border-color 0.3s, box-shadow 0.3s, transform 0.3s }
.bento-card:hover { border-color:rgba(43,96,168,0.2); box-shadow:0 4px 20px rgba(0,0,0,0.07), 0 16px 48px rgba(0,0,0,0.05); transform:translateY(-2px) }
.bento-card.span-2 { grid-column:span 2 }
.bento-card.bg-dark { background:var(--dark); border-color:transparent }
.bento-card.bg-dark:hover { border-color:rgba(43,96,168,0.35) }
.bento-card.bg-green { background:var(--accent); border-color:transparent }
.bento-card.bg-green:hover { background:var(--accent-2); border-color:transparent }
.bento-n { font-family:'Cormorant Garamond',serif; font-size:48px; font-weight:300; color:rgba(43,96,168,0.12); line-height:1; margin-bottom:16px }
.bento-card h3 { font-size:20px; margin-bottom:8px }
.bento-card p { font-size:13px; color:var(--muted); line-height:1.75 }
.bento-card.bg-dark h3 { color:var(--white) }
.bento-card.bg-dark p { color:rgba(250,250,250,0.65) }
.bento-card.bg-green h3 { color:#fff }
.bento-card.bg-green p { color:rgba(255,255,255,0.85) }
.b-badge { font-size:9px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); margin-top:14px; display:block }
.b-badge-dark { color:rgba(184,150,90,0.7) }
.b-badge-light { color:rgba(255,255,255,0.5) }
.bento-icon { width:44px; height:44px; border-radius:10px; background:rgba(43,96,168,0.08); display:flex; align-items:center; justify-content:center; margin-bottom:20px; font-size:18px }
.bento-icon-dark { background:rgba(255,255,255,0.06) }
.bento-icon-green { background:rgba(255,255,255,0.12) }
.bento-dark-p { color:rgba(250,250,250,0.5) }
.bento-green-p { color:rgba(255,255,255,0.75) }

/* ── STATS BENTO ── */
.preuve { background:var(--dark); padding:96px 0 }
.preuve h2 { color:var(--white) }
.preuve h2 em { color:var(--gold) }
.preuve-intro { font-size:14px; color:rgba(250,250,250,0.45); line-height:1.85; max-width:520px; margin:14px 0 52px }
.preuve-bento { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:12px }
.pb-card { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); border-radius:var(--r); padding:36px 32px; transition:background 0.3s, border-color 0.3s }
.pb-card:hover { background:rgba(255,255,255,0.06); border-color:rgba(184,150,90,0.2) }
.pb-tall { grid-row:span 2 }
.pb-wide { grid-column:span 2 }
.pb-tall-flex { display:flex; flex-direction:column; justify-content:space-between }
.pb-n { font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:300; color:var(--gold); display:block; line-height:1; margin-bottom:8px }
.pb-title { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:#fff; margin-bottom:14px }
.pb-h { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; color:var(--white); margin-bottom:8px }
.pb-p { font-size:12px; color:rgba(250,250,250,0.4); line-height:1.65 }
.pb-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:20px }
.pb-tag { font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; border:1px solid rgba(255,255,255,0.35); padding:5px 12px; border-radius:100px; color:rgba(255,255,255,0.85) }
.mb-24 { margin-bottom:24px }

/* ── CTA BAND ── */
.cta-band { background:var(--accent); padding:72px 0; text-align:center; position:relative; overflow:hidden }
.cta-band::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px); background-size:32px 32px; pointer-events:none }
.cta-band h2 { color:#fff; position:relative }
.cta-band p { color:rgba(255,255,255,0.65); margin-bottom:32px; font-size:14px; position:relative }
.cta-dual { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative }

/* ── ENTREPRISE PAGE ── */
.phero { background:var(--dark); padding:88px 0 80px; position:relative; overflow:hidden }
.phero-mesh { position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse at 70% 50%, rgba(61,206,206,0.28) 0px, transparent 55%), radial-gradient(ellipse at 20% 30%, rgba(43,96,168,0.5) 0px, transparent 40%) }
.phero-dots { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px); background-size:36px 36px }
.phero-inner { position:relative; z-index:2 }
.phero h1 { color:var(--white) }
.phero h1 em { color:transparent; background:linear-gradient(135deg,var(--accent-2),var(--gold)); -webkit-background-clip:text; background-clip:text }
.phero .lead { color:rgba(250,250,250,0.5) }
.phero-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px }
.phero-chip { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); color:rgba(255,255,255,0.75); font-size:12px; font-weight:400; letter-spacing:0.04em; padding:8px 16px; border-radius:100px; transition:background 0.2s, border-color 0.2s }
.phero-chip:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.25) }
.phero-chip-dot { width:5px; height:5px; border-radius:50%; background:var(--gold); flex-shrink:0 }
.phero-actions { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap }

/* ── SERVICES PILIERS ── */
.svc-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:56px; border:1px solid var(--border); border-radius:14px; overflow:hidden }
.svc-pillar { display:flex; flex-direction:column; border-right:1px solid var(--border) }
.svc-pillar:last-child { border-right:none }
.svc-pillar-head { padding:28px 32px 24px; border-bottom:1px solid var(--border); background:var(--bg-2); display:flex; flex-direction:column; gap:6px }
.svc-pillar-num { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:300; color:rgba(43,96,168,0.18); line-height:1 }
.svc-pillar-label { font-size:9px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted) }
.svc-pillar-title { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:400; color:var(--ink); line-height:1.2 }
.svc-card { background:#fff; padding:32px; border-bottom:1px solid var(--border); position:relative; overflow:hidden; transition:background 0.2s }
.svc-card:last-child { border-bottom:none }
.svc-card:hover { background:rgba(43,96,168,0.03) }
.svc-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--accent); transform:scaleY(0); transition:transform 0.3s; transform-origin:top }
.svc-card:hover::before { transform:scaleY(1) }
.svc-card.featured { background:var(--dark) }
.svc-card.featured:hover { background:#0d1a2a }
.svc-card.featured h3 { color:#fff }
.svc-card.featured p { color:rgba(250,250,250,0.5) }
.svc-card.featured .svc-tag { color:var(--gold) }
.svc-card.featured::before { background:var(--gold) }
.svc-icon { width:40px; height:40px; border-radius:9px; background:rgba(43,96,168,0.08); display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:16px; color:var(--accent) }
.svc-card.featured .svc-icon { background:rgba(255,255,255,0.08); color:var(--gold) }
.svc-card h3 { font-size:17px; margin-bottom:8px }
.svc-card p { font-size:12.5px; color:var(--muted); line-height:1.75 }
.svc-tag { font-size:9px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); margin-top:12px; display:block }

.doctrine-block { background:var(--dark-2); padding:72px 0 }
.doctrine-in { max-width:760px; margin:0 auto; text-align:center }
.doctrine-in h2 { color:var(--white) }
.doctrine-in h2 em { color:var(--gold) }
.doctrine-text { font-size:14px; color:rgba(250,250,250,0.45); line-height:1.9; margin-top:16px }
.doctrine-text-2 { font-size:14px; color:rgba(250,250,250,0.45); line-height:1.9; margin-top:12px }
.doctrine-actions { margin-top:32px }

.tma-sec { background:var(--bg-2); padding:96px 0 }
.tma-in { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start }
.tma-in p { font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:24px }
.tsteps { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.tstep { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--border); border-radius:var(--r-sm); padding:16px }
.tsn { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:300; color:var(--gold); line-height:1; min-width:30px }
.tst { font-size:12px; color:var(--muted); line-height:1.6; padding-top:3px }
.qblock { border-left:2px solid var(--gold); padding:0 0 0 24px; margin:28px 0 }
.qblock blockquote { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; font-style:italic; color:var(--ink); line-height:1.5 }

.procgrid { display:flex; gap:0; margin-top:52px; position:relative }
.procgrid::before { content:''; position:absolute; top:22px; left:24px; right:24px; height:1px; background:var(--border); z-index:0 }
.procstep { flex:1; text-align:center; padding:0 12px; position:relative; z-index:1 }
.procdot { width:44px; height:44px; border-radius:50%; background:var(--bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-family:'Cormorant Garamond',serif; font-size:16px; color:var(--accent); transition:background 0.3s, border-color 0.3s }
.procstep:hover .procdot { background:var(--accent); border-color:var(--accent); color:#fff }
.procstep h4 { font-size:15px; margin-bottom:6px }
.procstep p { font-size:12px; color:var(--muted); line-height:1.6 }

/* ── PARTICULIER PAGE ── */
.parthero { background:linear-gradient(140deg, #081629 0%, var(--accent) 100%); padding:88px 0; position:relative; overflow:hidden }
.parthero-dots { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px); background-size:32px 32px }
.parthero-inner { position:relative; z-index:2 }
.parthero h1 { color:#fff }
.parthero h1 em { color:var(--gold-2); font-style:italic }
.parthero .lead { color:rgba(255,255,255,0.6) }

.bilan-sec { background:var(--bg); padding:96px 0 }
.bilan-in { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start }
.bilan-in p { font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:16px }
.bilan-steps { display:flex; flex-direction:column; gap:0; margin-top:12px }
.bstep { display:flex; gap:16px; align-items:flex-start; padding:18px 0; border-bottom:1px solid var(--border) }
.bstep:last-child { border-bottom:none }
.bsn { font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:300; color:var(--gold); line-height:1; min-width:36px }
.bst h4 { font-size:17px; margin-bottom:4px }
.bst p { font-size:12px; color:var(--muted); line-height:1.6 }
.bilan-card { background:var(--dark); border-radius:14px; padding:44px 38px; position:sticky; top:96px }
.bilan-card-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(43,96,168,0.2); border:1px solid rgba(43,96,168,0.35); color:var(--accent-2); font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:5px 14px; border-radius:100px; margin-bottom:22px }
.bilan-card h3 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:#fff; margin-bottom:12px }
.bilan-card p { font-size:13px; color:rgba(250,250,250,0.5); line-height:1.8; margin-bottom:16px }
.bilan-card ul { list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:28px }
.bilan-card ul li { font-size:13px; color:rgba(250,250,250,0.65); display:flex; gap:10px; align-items:flex-start }
.bilan-card ul li::before { content:'✓'; color:var(--accent-2); font-size:10px; margin-top:3px; flex-shrink:0 }

.coaching-sec { background:var(--bg-2); padding:88px 0 }
.isplit { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start }
.iquote { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; font-style:italic; color:var(--accent); border-left:2px solid var(--gold); padding-left:22px; margin:24px 0; line-height:1.5 }
.ifeat { display:flex; gap:14px; align-items:flex-start; padding:18px; background:#fff; border:1px solid var(--border); border-radius:var(--r-sm); margin-bottom:12px; transition:border-color 0.2s, transform 0.2s }
.ifeat:hover { border-color:rgba(43,96,168,0.25); transform:translateX(4px) }
.fi { width:36px; height:36px; flex-shrink:0; background:rgba(43,96,168,0.08); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--accent) }
.ft h4 { font-size:17px; margin-bottom:3px }
.ft p { font-size:13px; color:var(--muted); line-height:1.65 }
.coach-card { background:var(--dark); border-radius:14px; padding:44px 38px }
.fbadge { display:inline-flex; align-items:center; gap:6px; background:rgba(43,96,168,0.15); border:1px solid rgba(43,96,168,0.25); color:var(--accent-2); font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:5px 14px; border-radius:100px; margin-bottom:20px }
.coach-card h3 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:#fff; margin-bottom:12px }
.coach-card p { font-size:13px; color:rgba(250,250,250,0.5); line-height:1.8; margin-bottom:24px }
.coaching-note { font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:22px }

.burn-sec { background:var(--bg); padding:88px 0 }
.burn-in { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center }
.burn-quote { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,3vw,34px); font-weight:300; color:var(--ink); line-height:1.35; border-left:3px solid var(--gold); padding-left:28px; margin:28px 0 }
.burn-quote em { color:var(--accent); font-style:italic }
.burn-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.burn-card { background:#fff; border:1px solid var(--border); border-radius:var(--r-sm); padding:26px 22px; transition:border-color 0.2s, box-shadow 0.2s }
.burn-card:hover { border-color:rgba(43,96,168,0.2); box-shadow:0 4px 16px rgba(0,0,0,0.06) }
.burn-card h4 { font-size:17px; margin-bottom:6px }
.burn-card p { font-size:12px; color:var(--muted); line-height:1.65 }
.burn-note { font-size:14px; color:var(--muted); line-height:1.85 }
.burn-cta-wrap { text-align:center; margin-top:44px }

.sis-free { background:var(--dark-2); padding:88px 0 }
.sis-free h2 { color:var(--white) }
.sis-free h2 em { color:var(--gold) }
.sis-free .lead { color:rgba(250,250,250,0.45) }
.sis-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:44px }
.sis-free-card { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); border-radius:var(--r); padding:36px; transition:background 0.3s }
.sis-free-card:hover { background:rgba(255,255,255,0.06) }
.fcard-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(43,96,168,0.15); border:1px solid rgba(43,96,168,0.25); color:var(--accent-2); font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:5px 14px; border-radius:100px; margin-bottom:18px }
.sis-free-card h3 { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:300; color:#fff; margin-bottom:10px }
.sis-free-card p { font-size:13px; color:rgba(250,250,250,0.45); line-height:1.8; margin-bottom:20px }
.sis-list { list-style:none; display:flex; flex-direction:column; gap:10px }
.sis-list.sis-list-gap { gap:14px }
.sis-list li { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:rgba(250,250,250,0.5) }
.sis-list li::before { content:'✓'; color:var(--accent-2); font-size:10px; margin-top:3px; flex-shrink:0 }

/* ── À PROPOS ── */
.asplit { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start }
.asplit p { font-size:14px; color:var(--muted); line-height:1.9; margin-bottom:14px }
.vlist { margin-top:28px }
.vi { padding:14px 0; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; transition:padding-left 0.2s; cursor:default }
.vi:hover { padding-left:8px }
.vn { font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:400 }
.vic { color:var(--gold); font-size:15px }
.ccgrid { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.cc { background:var(--dark); color:#fff; padding:28px 26px; border-radius:var(--r-sm) }
.cc h4 { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:300; color:var(--gold); margin-bottom:8px }
.cc p { font-size:13px; color:rgba(250,250,250,0.5); line-height:1.75 }
.geo { border:1px solid var(--border); padding:28px; border-radius:var(--r); margin-top:12px; background:#fff }
.geo h4 { font-size:19px; margin-bottom:8px }
.geo p { font-size:13px; color:var(--muted); line-height:1.75 }
.gtags { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px }
.gtag { font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; border:1px solid var(--border); padding:5px 12px; border-radius:100px; color:var(--muted) }
.methode-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:48px }
.meth-card { background:#fff; border:1px solid var(--border); border-radius:var(--r); padding:32px 28px; transition:border-color 0.2s, box-shadow 0.2s }
.meth-card:hover { border-color:rgba(43,96,168,0.2); box-shadow:0 4px 20px rgba(0,0,0,0.06) }
.meth-n { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:300; color:rgba(43,96,168,0.12); line-height:1; margin-bottom:14px }
.meth-card h4 { font-size:19px; margin-bottom:8px }
.meth-card p { font-size:13px; color:var(--muted); line-height:1.75 }
.eqgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px }
.eqcard { background:#fff; border:1px solid var(--border); border-radius:var(--r); padding:32px 28px; transition:border-color 0.2s }
.eqcard:hover { border-color:rgba(43,96,168,0.2) }
.eqav { width:52px; height:52px; border-radius:12px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:20px; color:#fff; margin-bottom:18px }
.eqcard h4 { font-size:18px; margin-bottom:4px }
.eqrole { font-size:9px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; display:block }
.eqcard p { font-size:12px; color:var(--muted); line-height:1.7 }

/* ── CONTACT ── */
.cpage { background:var(--dark); min-height:calc(100vh - 72px); padding:72px 0 }
.cin { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start }
.cleft h1 { color:#fff }
.cleft h1 em { color:var(--gold) }
.cleft > p { color:rgba(250,250,250,0.5); font-size:14px; line-height:1.85; margin-bottom:36px }
.cinfo { display:flex; flex-direction:column; gap:16px }
.cii { display:flex; gap:14px; align-items:flex-start }
.cico { font-size:16px; color:var(--gold); margin-top:1px }
.cit { font-size:13px; color:rgba(250,250,250,0.45); line-height:1.6 }
.cit strong { display:block; color:#fff; font-weight:500; margin-bottom:1px }
.cform { display:flex; flex-direction:column; gap:16px }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.fg { display:flex; flex-direction:column; gap:6px }
label { font-size:10px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:rgba(250,250,250,0.75) }
input,textarea,select { background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3); color:#fff; padding:12px 14px; font-family:'Inter',sans-serif; font-size:14px; font-weight:300; border-radius:8px; outline:none; transition:border-color 0.2s, background 0.2s; width:100% }
input::placeholder,textarea::placeholder { color:rgba(255,255,255,0.45) }
input:focus,textarea:focus,select:focus { border-color:rgba(100,160,255,0.7); background:rgba(255,255,255,0.16) }
select option { background:#1a2a3a; color:#fff }
textarea { resize:vertical; min-height:106px }
.sbtn { background:var(--accent); color:#fff; border:none; padding:14px 32px; font-family:'Inter',sans-serif; font-size:13px; font-weight:500; letter-spacing:0.05em; cursor:pointer; border-radius:8px; transition:background 0.2s, transform 0.15s; align-self:flex-start }
.sbtn:hover { background:var(--accent-2); transform:translateY(-1px) }
.form-success { text-align:center; padding:48px 32px; background:rgba(43,96,168,0.06); border:1px solid rgba(43,96,168,0.2); border-radius:16px; margin-top:8px }
.form-success-icon { width:56px; height:56px; background:var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; margin:0 auto 20px }
.form-success h3 { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:400; color:#fff; margin-bottom:10px }
.form-success p { font-size:14px; color:rgba(255,255,255,0.75); line-height:1.7 }

/* ── UTILITIES ── */
.tag-center { justify-content:center }
.bg-main { background:var(--bg) }
.bg-soft { background:var(--bg-2) }
.section-pt { padding-top:60px }
.about-section { padding-top:60px }
.text-center { text-align:center }
.mt-center { margin-top:36px; text-align:center }
.mt-44-center { margin-top:44px; text-align:center }
.mt-44 { margin-top:44px }
.flex-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:32px }
.flex-actions-bare { display:flex; gap:14px; flex-wrap:wrap }
.flex-actions-centered { display:flex; gap:14px; justify-content:center; flex-wrap:wrap }
.section-actions { text-align:center; margin-top:36px }

/* ── RESPONSIVE ── */
@media(max-width:960px) {
  nav { padding:0 20px }
  .nav-links { display:none }
  .container { padding:0 20px }
  .hero-inner { padding:0 20px }
  .hero-trust { display:none }
  .hero h1 { font-size:clamp(34px,9vw,54px) }
  footer { flex-direction:column; text-align:center; padding:28px 20px }
  .constat-grid,.tma-in,.isplit,.asplit,.cin,.bilan-in,.burn-in,.sis-grid { grid-template-columns:1fr; gap:36px }
  .drh-compare { grid-template-columns:1fr; gap:16px }
  .drh-vs { display:none }
  .tunnel-grid { grid-template-columns:1fr }
  .bento-4 { grid-template-columns:1fr 1fr }
  .bento-3 { grid-template-columns:1fr }
  .bento-card.span-2 { grid-column:span 1 }
  .preuve-bento { grid-template-columns:1fr 1fr }
  .pb-tall { grid-row:span 1 }
  .pb-wide { grid-column:span 2 }
  .svc-pillars { grid-template-columns:1fr }
  .svc-pillar { border-right:none; border-bottom:1px solid var(--border) }
  .svc-pillar:last-child { border-bottom:none }
  .methode-grid { grid-template-columns:1fr 1fr }
  .eqgrid { grid-template-columns:1fr }
  .ccgrid { grid-template-columns:1fr }
  .procgrid { flex-direction:column; gap:24px }
  .procgrid::before { display:none }
  .tsteps { grid-template-columns:1fr }
  .frow,.burn-grid { grid-template-columns:1fr }
  .section,.section-sm { padding:56px 0 }
  .tma-sec,.bilan-sec,.coaching-sec,.burn-sec,.sis-free,.deux-rh,.preuve,.constat { padding:56px 0 }
  .phero,.parthero,.cpage { padding:56px 0 }
  .drh-footer { flex-direction:column; gap:20px }
  .bilan-card { position:static }
  .trust-inner { gap:20px }
  .split-landing { flex-direction:column }
  .split-divider { position:static; transform:none; padding:0 }
  .split-or { border-radius:0; border-left:none; border-right:none; width:100%; text-align:center; padding:10px 0 }
  .split-panel { min-height:42vh; padding:48px 32px }
  .split-title { font-size:clamp(44px,12vw,64px); margin-bottom:20px }
  .split-sub { font-size:10px }
}
