@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --navy:    #0E1326;
  --navy2:   #131829;
  --navy3:   #191F33;
  --navy4:   #1F263D;
  --burg:    #7F0F23;
  --burg2:   #9B1128;
  --burg3:   #B5192E;
  --burg4:   #C82035;
  --white:   #F5F5F6;
  --text:    #F0EEF5;
  --text-m:  rgba(240,238,245,0.78);
  --text-s:  rgba(240,238,245,0.48);
  --border:  rgba(127,15,35,0.35);
  --border2: rgba(240,238,245,0.13);
  --ff-d: 'Cormorant Garamond', Georgia, serif;
  --ff-s: 'Jost', sans-serif;
}

html { scroll-behavior: smooth; }
body {
  background: var(--navy);
  color: var(--text);
  font-family: var(--ff-s);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ─── NAV ─── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding: 0 5vw; height: 148px;
  background: rgba(14,19,38,0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border2);
  transition: height .3s ease;
}
nav.scrolled { height: 80px; }
.nav-logo img { height: 130px; width: auto; display:block; transition: height .3s ease; image-rendering: -webkit-optimize-contrast; }
nav.scrolled .nav-logo img { height: 60px; }
.nav-links {
  display:flex; gap:2rem; list-style:none;
}
.nav-links a {
  font-size: 12.5px; font-weight:400; letter-spacing:.1em;
  text-transform:uppercase; color:var(--text-m);
  text-decoration:none; transition:color .2s;
}
.nav-links a:hover,
.nav-links a.active { color:var(--white); }
.nav-cta {
  font-size: 12.5px; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; color:var(--white) !important;
  text-decoration:none;
  border: 1px solid var(--burg);
  background: var(--burg);
  padding: 10px 24px; border-radius:2px;
  transition: background .2s, border-color .2s;
}
.nav-cta:hover { background:var(--burg2) !important; border-color:var(--burg2); }

/* Burger mobile */
.nav-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.nav-burger span { display:block; width:24px; height:1.5px; background:var(--white); transition:all .3s; }

/* ─── ANIMATIONS ─── */
@keyframes up {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse {
  0%,100% { opacity:1; } 50% { opacity:.4; }
}

/* ─── HERO ─── */
.hero {
  min-height:100vh;
  display:grid; grid-template-columns:1fr 1fr;
  position:relative; overflow:hidden;
}
.hero-left {
  display:flex; flex-direction:column; justify-content:center;
  padding: 188px 5vw 80px;
  position:relative; z-index:2;
}
.hero-left::after {
  content:''; position:absolute; top:0; right:0; bottom:0; width:1px;
  background:linear-gradient(to bottom, transparent, var(--border2) 20%, var(--border2) 80%, transparent);
}
.hero-right {
  position:relative; overflow:hidden;
}
.hero-photo {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top;
}
.hero-photo-ov {
  position:absolute; inset:0;
  background:linear-gradient(
    to right,
    rgba(14,19,38,1) 0%,
    rgba(14,19,38,.5) 30%,
    rgba(14,19,38,.1) 60%,
    rgba(14,19,38,.25) 100%
  );
}

.hero-eyebrow {
  display:flex; align-items:center; gap:13px;
  opacity:0; animation: up .9s .1s ease forwards;
}
.bar { width:36px; height:1px; background:var(--burg3); flex-shrink:0; }
.eyebrow {
  font-size:12px; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:var(--burg3);
}
h1.hero-title {
  font-family:var(--ff-d);
  font-size: clamp(2.8rem,4.8vw,5rem);
  font-weight:300; line-height:1.08; color:var(--white);
  opacity:0; animation: up 1s .22s ease forwards;
}
h1.hero-title em { font-style:italic; font-weight:300; }
.hero-tagline {
  margin-top:2rem;
  font-family:var(--ff-d);
  font-size: clamp(1.1rem,1.7vw,1.45rem);
  font-weight:400; font-style:italic;
  color:var(--text-m);
  border-left:2px solid var(--burg);
  padding-left:1.4rem; line-height:1.55;
  opacity:0; animation: up 1s .38s ease forwards;
}
.hero-body {
  margin-top:1.8rem; max-width:500px;
  font-size:16px; color:var(--text-m); line-height:1.82;
  opacity:0; animation: up 1s .52s ease forwards;
}
.hero-actions {
  display:flex; align-items:center; gap:2rem; margin-top:2.8rem;
  opacity:0; animation: up 1s .66s ease forwards;
}
.btn-p {
  display:inline-block;
  font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:var(--white); text-decoration:none;
  background:var(--burg); border:1px solid var(--burg);
  padding:14px 32px; border-radius:2px;
  transition: background .2s, border-color .2s;
}
.btn-p:hover { background:var(--burg2); border-color:var(--burg2); }
.btn-g {
  font-size:13px; font-weight:400; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-m); text-decoration:none; display:flex; align-items:center; gap:8px;
  transition:color .2s;
}
.btn-g:hover { color:var(--white); }
.btn-g span { transition:transform .2s; }
.btn-g:hover span { transform:translateY(3px); }

/* ─── SECTION ─── */
.sec { padding:100px 5vw; }
.sec-eyebrow { display:flex; align-items:center; gap:14px; margin-bottom:1.4rem; }
h2.sec-title {
  font-family:var(--ff-d);
  font-size:clamp(2rem,3.2vw,3.2rem);
  font-weight:300; line-height:1.16; color:var(--white);
}
h2.sec-title em { font-style:italic; color:rgba(245,245,246,.72); }
.sec-lead {
  font-size:17px; color:var(--text-m); line-height:1.82;
  max-width:540px; margin-top:1.2rem;
}

/* ─── PILIERS ─── */
.piliers-bg { background:var(--navy2); border-top:1px solid var(--border2); border-bottom:1px solid var(--border2); }
.piliers-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border2); margin-top:3.5rem;
}
.pilier {
  padding:2.8rem 2.4rem 2.6rem;
  border-right:1px solid var(--border2);
  position:relative; overflow:hidden;
  transition:background .3s; cursor:default;
  text-decoration:none; display:block; color:inherit;
}
.pilier:last-child { border-right:none; }
.pilier:hover { background:var(--navy3); }
.pilier-bar {
  position:absolute; top:0; left:0; width:3px; height:0;
  background:var(--burg); transition:height .4s ease;
}
.pilier:hover .pilier-bar { height:100%; }
.pilier-num {
  font-family:var(--ff-d); font-size:52px; font-weight:300;
  line-height:1; margin-bottom:1.3rem;
  color:rgba(240,238,245,.06); transition:color .3s;
}
.pilier:hover .pilier-num { color:rgba(127,15,35,.15); }
.pilier-title {
  font-family:var(--ff-d); font-size:1.4rem; font-weight:400;
  color:var(--white); margin-bottom:.9rem; line-height:1.28;
}
.pilier-body { font-size:15px; color:var(--text-m); line-height:1.78; }
.pilier-tags {
  display:flex; flex-wrap:wrap; gap:6px; margin-top:1.6rem;
}
.pilier-tag {
  font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-s); border:1px solid var(--border2);
  padding:4px 10px; border-radius:1px;
}

/* ─── SIGNATURE / OFFRE ─── */
.sign-wrap {
  display:grid; grid-template-columns:1fr 1fr;
  border-top:1px solid var(--border2);
}
.sign-left {
  padding:90px 5vw; border-right:1px solid var(--border2);
}
.sign-right { padding:90px 5vw; }
.sign-tag {
  font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--burg3); margin-bottom:1.6rem; display:block;
}
h2.sign-title {
  font-family:var(--ff-d); font-size:clamp(2rem,3.4vw,3.4rem);
  font-weight:300; line-height:1.1; color:var(--white);
}
h2.sign-title em { font-style:italic; }
.sign-body {
  font-size:15.5px; color:var(--text-m); line-height:1.85; margin-top:1.6rem; max-width:460px;
}
.sign-stats {
  display:flex; gap:3rem; margin-top:2.8rem;
}
.stat-num {
  font-family:var(--ff-d); font-size:clamp(2rem,3vw,2.8rem);
  font-weight:300; color:var(--white); line-height:1;
}
.stat-label { font-size:12px; color:var(--text-s); letter-spacing:.08em; text-transform:uppercase; margin-top:.4rem; }
.risks { list-style:none; margin-top:1.6rem; }
.risks li {
  display:flex; align-items:baseline; gap:13px;
  font-size:15px; color:var(--text-m);
  padding:11px 0; border-bottom:1px solid var(--border2); line-height:1.5;
}
.risks li:last-child { border-bottom:none; }
.risks li::before { content:'—'; color:var(--burg3); flex-shrink:0; font-size:12px; }

/* ─── OFFRE BOXES ─── */
.offre-box {
  background:var(--navy3); border:1px solid var(--border2);
  border-left:2px solid var(--burg);
  padding:2rem 2.2rem; margin-bottom:1rem; border-radius:1px;
}
.offre-title {
  font-family:var(--ff-d); font-size:1.2rem; font-weight:500;
  color:var(--white); margin-bottom:.9rem;
}
.offre-list { list-style:none; }
.offre-list li {
  font-size:14.5px; color:var(--text-m); padding:7px 0;
  border-bottom:1px solid var(--border2);
  display:flex; align-items:baseline; gap:11px;
}
.offre-list li:last-child { border-bottom:none; }
.offre-list li::before { content:'·'; color:var(--burg3); font-size:18px; }
.offre-premium {
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--burg3); border:1px solid var(--border); padding:8px 16px;
  display:inline-block; margin-top:1.4rem; border-radius:1px;
}

/* ─── SPARZA ─── */
.sparza-wrap {
  display:grid; grid-template-columns:1fr 1.3fr;
  background:var(--navy2); border-top:1px solid var(--border2);
}
.sparza-img { position:relative; min-height:640px; }
.sparza-photo {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top;
}
.sparza-photo-ov {
  position:absolute; inset:0;
  background:linear-gradient(
    to right,
    transparent 0%,
    rgba(19,24,41,.25) 65%,
    rgba(19,24,41,.92) 100%
  );
}
.sparza-caption {
  position:absolute; bottom:2.8rem; left:2.8rem;
  font-family:var(--ff-d); font-style:italic;
  font-size:22px; line-height:1.5; color:rgba(245,245,246,.9);
  max-width:280px;
  border-left:1px solid rgba(127,15,35,.7);
  padding-left:1rem;
}
.sparza-text {
  padding:80px 5vw 80px 4vw;
  display:flex; flex-direction:column; justify-content:center;
}
.sparza-cit {
  font-family:var(--ff-d);
  font-size:clamp(1.2rem,1.9vw,1.65rem);
  font-weight:400; font-style:italic;
  line-height:1.5; color:var(--white);
  border-left:2px solid var(--burg);
  padding-left:1.5rem; margin:2rem 0;
}
.sparza-bio {
  font-size:16.5px; color:var(--text-m); line-height:1.85; margin-bottom:2rem;
}
.exp-grid {
  display:grid; grid-template-columns:1fr 1fr;
  border:1px solid var(--border2);
}
.exp-item {
  padding:1.2rem 1.4rem;
  border-right:1px solid var(--border2);
  border-bottom:1px solid var(--border2);
}
.exp-item:nth-child(2n) { border-right:none; }
.exp-item:nth-last-child(-n+2) { border-bottom:none; }
.exp-cat {
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--burg3); margin-bottom:8px; font-weight:400;
}
.exp-names { font-size:14px; color:var(--text-m); line-height:1.72; }

/* ─── IA ─── */
.ia-inner {
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:6vw; align-items:center;
}
.ia-badge {
  display:inline-flex; align-items:center; gap:9px;
  border:1px solid var(--border); padding:6px 15px; border-radius:2px;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--burg3); margin-bottom:2rem;
}
.ia-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--burg3); animation:pulse 2s ease-in-out infinite;
}
.ia-grid {
  display:grid; grid-template-columns:1fr 1fr;
  border:1px solid var(--border2); margin-top:2rem;
}
.ia-cell {
  padding:1.5rem 1.6rem;
  border-right:1px solid var(--border2);
  border-bottom:1px solid var(--border2);
}
.ia-cell:nth-child(2n) { border-right:none; }
.ia-cell:nth-last-child(-n+2) { border-bottom:none; }
.ia-cell-title { font-size:14.5px; font-weight:500; color:var(--white); margin-bottom:5px; }
.ia-cell-desc { font-size:13.5px; color:var(--text-m); line-height:1.6; }
.ia-note {
  margin-top:2rem; padding:1.4rem 1.6rem;
  border:1px solid var(--border2); border-left:2px solid var(--burg);
  background:var(--navy2);
  font-size:15px; color:var(--text-m); font-style:italic; line-height:1.7;
}

/* ─── CTA SECTION ─── */
.cta-sec {
  background:var(--navy2); border-top:1px solid var(--border2);
  text-align:center;
  padding:110px 5vw;
}
.cta-sec h2 { max-width:680px; margin:1.2rem auto; }
.cta-sec .sec-lead { margin:1.4rem auto 3rem; text-align:center; max-width:430px; }
.cta-meta {
  display:flex; align-items:center; justify-content:center;
  gap:3rem; margin-top:3rem; padding-top:3rem;
  border-top:1px solid var(--border2);
}
.cta-item {
  font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-s);
}
.cta-item span {
  display:block; font-size:15px; color:var(--text-m);
  letter-spacing:0; text-transform:none; margin-top:5px;
}
.cta-sep { width:1px; height:30px; background:var(--border2); }

/* ─── PAGE HERO (pages internes) ─── */
.page-hero {
  padding: 200px 5vw 90px;
  border-bottom:1px solid var(--border2);
  background: linear-gradient(to bottom, var(--navy2) 0%, var(--navy) 100%);
  position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute;
  top:-50%; right:-10%; width:600px; height:600px;
  background: radial-gradient(circle, rgba(127,15,35,.08) 0%, transparent 70%);
  pointer-events:none;
}
.page-hero-num {
  font-family:var(--ff-d); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--burg3); margin-bottom:1rem; display:block;
  animation: up .8s ease both;
}
h1.page-hero-title {
  font-family:var(--ff-d); font-size:clamp(2.8rem,5vw,5.5rem);
  font-weight:300; line-height:1.06; color:var(--white);
  max-width:800px;
  animation: up .9s .1s ease both;
}
h1.page-hero-title em { font-style:italic; }
.page-hero-sub {
  font-size:17px; color:var(--text-m); line-height:1.8;
  max-width:560px; margin-top:1.8rem;
  animation: up .9s .2s ease both;
}

/* ─── CONTENT BLOCKS ─── */
.cb {
  display:grid; grid-template-columns:1fr 1fr;
  gap:6vw; padding:90px 5vw;
  border-bottom:1px solid var(--border2);
  align-items:start;
}
.cb.alt { background:var(--navy2); }
.cb-label {
  font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--burg3); margin-bottom:1.2rem; display:block;
}
h2.cb-title {
  font-family:var(--ff-d); font-size:clamp(1.8rem,2.8vw,2.8rem);
  font-weight:300; line-height:1.14; color:var(--white);
}
h2.cb-title em { font-style:italic; color:rgba(245,245,246,.7); }
.cb-body {
  font-size:16.5px; color:var(--text-m); line-height:1.85; margin-top:1.4rem;
}
.cb-list { list-style:none; margin-top:1.8rem; }
.cb-list li {
  display:flex; align-items:baseline; gap:12px;
  font-size:15px; color:var(--text-m); padding:11px 0;
  border-bottom:1px solid var(--border2); line-height:1.5;
}
.cb-list li:last-child { border-bottom:none; }
.cb-list li::before { content:'—'; color:var(--burg3); flex-shrink:0; font-size:11px; }

/* ─── DIFFÉRENCE CARDS ─── */
.diff-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border2); margin-top:3rem;
}
.diff-card {
  padding:2.4rem 2rem; border-right:1px solid var(--border2);
}
.diff-card:last-child { border-right:none; }
.diff-num {
  font-family:var(--ff-d); font-size:80px; font-weight:700;
  color:#BE1522; line-height:1; margin-bottom:1rem;
}
.diff-title { font-family:var(--ff-d); font-size:1.15rem; font-weight:500; color:var(--white); margin-bottom:.8rem; }
.diff-body { font-size:14.5px; color:var(--text-m); line-height:1.72; }

/* ─── CIBLES ─── */
.cibles-list {
  display:grid; grid-template-columns:repeat(2,1fr);
  border:1px solid var(--border2); margin-top:2rem;
}
.cibles-item {
  padding:1.2rem 1.6rem;
  border-right:1px solid var(--border2);
  border-bottom:1px solid var(--border2);
  font-size:14.5px; color:var(--text-m);
  display:flex; align-items:center; gap:10px;
}
.cibles-item:nth-child(2n) { border-right:none; }
.cibles-item:nth-last-child(-n+2) { border-bottom:none; }
.cibles-item::before { content:'·'; color:var(--burg3); font-size:20px; flex-shrink:0; }

/* ─── METHODE TIMELINE ─── */
.methode-steps { margin-top:2rem; }
.methode-step {
  display:grid; grid-template-columns:140px 1fr;
  gap:2rem; padding:2rem 0;
  border-bottom:1px solid var(--border2);
}
.methode-step:last-child { border-bottom:none; }
.step-period {
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--burg3); padding-top:.3rem;
}
.step-title { font-family:var(--ff-d); font-size:1.15rem; font-weight:500; color:var(--white); margin-bottom:.6rem; }
.step-body { font-size:15.5px; color:var(--text-m); line-height:1.75; }

/* ─── SPARZA PAGE ─── */
.sparza-page {
  display:grid; grid-template-columns:1fr 1.5fr;
  gap:0; border-bottom:1px solid var(--border2);
}
.sparza-page-img {
  position:relative; min-height:600px;
  background:var(--navy2);
}
.sparza-page-photo {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top;
}
.sparza-page-ov {
  position:absolute; inset:0;
  background:linear-gradient(to right, transparent 50%, rgba(14,19,38,.95) 100%);
}
.sparza-page-content {
  padding:80px 5vw 80px 4vw;
}
.parcours-section { padding:80px 5vw; }
.parcours-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border2); margin-top:2.5rem;
}
.parcours-item {
  padding:1.8rem 1.6rem;
  border-right:1px solid var(--border2);
  border-bottom:1px solid var(--border2);
}
.parcours-item:nth-child(3n) { border-right:none; }
.parcours-item:nth-last-child(-n+3) { border-bottom:none; }
.parcours-cat {
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--burg3); margin-bottom:.7rem; display:block;
}
.parcours-name {
  font-family:var(--ff-d); font-size:1.05rem; font-weight:500; color:var(--white); margin-bottom:.4rem;
}
.parcours-desc { font-size:13.5px; color:var(--text-m); line-height:1.65; }
.convictions { padding:80px 5vw; background:var(--navy2); border-top:1px solid var(--border2); }
.conviction-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:2.5rem; background:var(--border2); }
.conviction-item { background:var(--navy2); padding:2rem 1.8rem; }
.conviction-num { font-family:var(--ff-d); font-size:2.5rem; font-weight:300; color:rgba(127,15,35,.2); line-height:1; margin-bottom:1rem; }
.conviction-title { font-family:var(--ff-d); font-size:1.05rem; font-weight:500; color:var(--white); margin-bottom:.7rem; }
.conviction-body { font-size:14px; color:var(--text-m); line-height:1.72; }
.posture-block {
  padding:80px 5vw; border-top:1px solid var(--border2);
}
.posture-quote {
  font-family:var(--ff-d); font-size:clamp(1.2rem,2vw,1.7rem);
  font-weight:300; font-style:italic; color:var(--white);
  border-left:2px solid var(--burg); padding-left:2rem;
  line-height:1.5; margin-bottom:2.5rem; max-width:700px;
}
.posture-items { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.posture-item {
  display:flex; align-items:baseline; gap:10px;
  font-size:14.5px; color:var(--text-m);
  border:1px solid var(--border2); padding:1rem 1.4rem;
  min-width:240px;
}
.posture-item strong { color:var(--white); font-weight:500; display:block; margin-bottom:3px; }
.posture-item::before { content:'·'; color:var(--burg3); font-size:20px; }

/* ─── CONTACT ─── */
.contact-wrap {
  display:grid; grid-template-columns:1fr 1fr;
  gap:0; border-bottom:1px solid var(--border2);
}
.contact-form-col { padding:90px 5vw; border-right:1px solid var(--border2); }
.contact-info-col { padding:90px 5vw; background:var(--navy2); }
.form-row { margin-bottom:1.6rem; }
.form-row label {
  display:block; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-s); margin-bottom:.6rem;
}
.form-row input,
.form-row select,
.form-row textarea {
  width:100%; background:rgba(255,255,255,.04); border:1px solid var(--border2);
  color:var(--text); padding:.85rem 1rem;
  font-family:var(--ff-s); font-size:15px; font-weight:400; outline:none;
  transition:border-color .2s; border-radius:1px; resize:vertical;
  -webkit-appearance:none;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus { border-color:rgba(127,15,35,.6); }
.form-row select option { background:var(--navy3); }
.form-submit {
  width:100%; padding:16px;
  background:var(--burg); border:none; color:var(--white);
  font-family:var(--ff-s); font-size:13px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
  border-radius:2px; transition:background .2s; margin-top:.5rem;
}
.form-submit:hover { background:var(--burg2); }
.form-note {
  font-size:12px; color:var(--text-s); margin-top:1rem; line-height:1.65;
}
.contact-info-item { padding:1.8rem 0; border-bottom:1px solid var(--border2); }
.contact-info-item:first-child { border-top:1px solid var(--border2); }
.ci-label {
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--burg3); margin-bottom:.5rem;
}
.ci-val { font-family:var(--ff-d); font-size:1.25rem; color:var(--white); font-weight:400; }
.ci-val a { color:var(--white); text-decoration:none; transition:color .2s; }
.ci-val a:hover { color:var(--burg3); }
.ci-sub { font-size:14px; color:var(--text-m); margin-top:.3rem; line-height:1.65; }
.contact-footer-links {
  padding:60px 5vw; border-top:1px solid var(--border2); background:var(--navy2);
}
.contact-footer-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:2rem;
}
.cf-item { text-decoration:none; display:block; padding:1.8rem; border:1px solid var(--border2); transition:background .2s; }
.cf-item:hover { background:var(--navy3); }
.cf-item-label { font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--burg3); margin-bottom:.5rem; }
.cf-item-title { font-family:var(--ff-d); font-size:1.1rem; font-weight:400; color:var(--white); margin-bottom:.3rem; }
.cf-item-sub { font-size:13px; color:var(--text-s); }

/* ─── FOOTER ─── */
footer {
  background:var(--navy); border-top:1px solid var(--border2);
  padding:36px 5vw; display:flex;
  align-items:center; justify-content:space-between;
}
.ft-logo img { height:90px; width:auto; opacity:.85; }
.ft-links { display:flex; gap:2rem; list-style:none; }
.ft-links a {
  font-size:12px; color:var(--text-s); text-decoration:none;
  letter-spacing:.06em; transition:color .2s;
}
.ft-links a:hover { color:var(--white); }
.ft-copy { font-size:12px; color:var(--text-s); letter-spacing:.04em; }

/* ─── STRATÉGIE & COMMUNICATION ─── */
.strat-section {
  display:grid; grid-template-columns:320px 1fr;
  gap:0; align-items:center;
  border-top:1px solid var(--border2);
}
.strat-photo {
  position:relative; overflow:hidden;
  padding:2.5rem 1.5rem 2.5rem 2.5rem;
}
.strat-photo img {
  width:100%; height:320px;
  object-fit:cover; object-position:center top; display:block;
  filter:brightness(.88) contrast(1.05);
  border-radius:4px; box-shadow:0 8px 32px rgba(0,0,0,.45);
}
.strat-photo-ov {
  position:absolute;
  inset:2.5rem 1.5rem 2.5rem 2.5rem;
  background:linear-gradient(135deg, rgba(14,19,38,.35) 0%, rgba(127,15,35,.12) 100%);
  border-radius:4px;
}
.strat-text {
  padding:5rem 5rem 5rem 4.5rem;
  display:flex; flex-direction:column; justify-content:center;
  background:var(--navy2);
}
.strat-name {
  font-family:var(--ff-d); font-size:1.15rem; font-style:italic;
  color:var(--burg); letter-spacing:.04em;
  margin-bottom:.4rem; margin-top:1.6rem;
}
.strat-role {
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--text-m); margin-bottom:2.2rem;
}
.strat-desc {
  font-size:1.02rem; line-height:1.75; color:var(--text-m); margin-bottom:2rem;
}
.strat-items {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:.9rem;
}
.strat-items li {
  display:flex; align-items:flex-start; gap:.85rem;
  font-size:.9rem; color:var(--text-m); line-height:1.5;
}
.strat-items li::before {
  content:''; display:block; width:18px; height:1.5px;
  background:var(--burg); margin-top:.65rem; flex-shrink:0;
}

/* ─── COMM PAGE SECTIONS ─── */
.comm-offre-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  border:1px solid var(--border2); margin-top:2.5rem;
}
.comm-offre-item {
  padding:2.2rem 2rem;
  border-right:1px solid var(--border2);
  border-bottom:1px solid var(--border2);
}
.comm-offre-item:nth-child(2n) { border-right:none; }
.comm-offre-item:nth-last-child(-n+2) { border-bottom:none; }
.comm-offre-icon {
  font-size:1.4rem; margin-bottom:1rem; display:block;
}
.comm-offre-title {
  font-family:var(--ff-d); font-size:1.1rem; font-weight:500;
  color:var(--white); margin-bottom:.6rem;
}
.comm-offre-desc {
  font-size:14px; color:var(--text-m); line-height:1.72;
}

/* Titres de section en rouge basque (conformité backup) */
h2.sec-title { color: var(--burg3); }
h2.sec-title em { color: rgba(181,25,46,.55); }

/* ─── RESPONSIVE ─── */
@media (max-width:1024px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-right { height:50vw; min-height:300px; }
  .hero-left { padding:160px 6vw 60px; }
  .sign-wrap { grid-template-columns:1fr; }
  .sign-left { border-right:none; border-bottom:1px solid var(--border2); }
  .sparza-wrap { grid-template-columns:1fr; }
  .sparza-img { min-height:50vw; }
  .ia-inner { grid-template-columns:1fr; gap:3rem; }
  .contact-wrap { grid-template-columns:1fr; }
  .contact-form-col { border-right:none; border-bottom:1px solid var(--border2); }
  .sparza-page { grid-template-columns:1fr; }
  .sparza-page-img { min-height:50vw; }
  .cb { grid-template-columns:1fr; }
}

@media (max-width:768px) {
  .strat-section { grid-template-columns:1fr; }
  .strat-photo { min-height:auto; }
  .strat-text { padding:3rem 5vw; }
  .comm-offre-grid { grid-template-columns:1fr; }
  .comm-offre-item { border-right:none !important; }
  nav { padding:0 5vw; height:80px; }
  /* ===== NAV MOBILE — YES PARTNER ===== */
  .nav-logo img { height:52px; }
  #main-nav > .nav-cta { display:none; }
  .nav-burger { display:flex; z-index:1002; position:relative; }
  .nav-burger span { transition: transform .35s ease, opacity .2s ease; transform-origin:center; }
  .nav-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-burger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .nav-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  /* Panneau plein ecran */
  .nav-links {
    display:flex; flex-direction:column;
    position:fixed; inset:0;
    width:100%; height:100vh; height:100dvh;
    margin:0; padding:100px 32px 40px;
    list-style:none;
    justify-content:center; align-items:center;
    gap:1.6rem;
    background: linear-gradient(180deg, var(--navy) 0%, #151B34 100%);
    opacity:0; visibility:hidden;
    transform: translateX(100%);
    transition: transform .45s cubic-bezier(.77,0,.175,1), opacity .3s ease, visibility .3s ease;
    z-index:1001;
    overflow-y:auto;
  }
  .nav-links.open { opacity:1; visibility:visible; transform: translateX(0); }

  .nav-links li {
    opacity:0; transform: translateY(12px);
    transition: opacity .4s ease, transform .4s ease;
  }
  .nav-links.open li { opacity:1; transform: translateY(0); }
  .nav-links.open li:nth-child(1) { transition-delay:.15s; }
  .nav-links.open li:nth-child(2) { transition-delay:.22s; }
  .nav-links.open li:nth-child(3) { transition-delay:.29s; }
  .nav-links.open li:nth-child(4) { transition-delay:.36s; }
  .nav-links.open li:nth-child(5) { transition-delay:.43s; }
  .nav-links.open li.nav-cta-mobile { transition-delay:.52s; }

  .nav-links a {
    font-family: 'Cormorant Garamond', serif;
    font-size:1.75rem; font-weight:500;
    color: var(--white);
    text-decoration:none;
    letter-spacing:.5px;
    padding:6px 0;
    position:relative;
    transition: color .2s ease;
  }
  .nav-links a::after {
    content:''; position:absolute; left:50%; bottom:0;
    width:0; height:1px; background: var(--burg);
    transition: width .3s ease, left .3s ease;
  }
  .nav-links a:hover::after,
  .nav-links a:focus::after,
  .nav-links a.active::after { width:40px; left:calc(50% - 20px); }

  /* CTA reinjecte en bas du panneau */
  .nav-links .nav-cta-mobile { margin-top:1rem; }
  .nav-links .nav-cta-mobile a {
    font-family: 'Jost', sans-serif;
    font-size:.82rem; font-weight:500;
    letter-spacing:2px; text-transform:uppercase;
    padding:14px 36px;
    background: var(--burg);
    color: var(--white);
    border:1px solid var(--burg);
    border-radius:2px;
    transition: background .25s ease, border-color .25s ease;
  }
  .nav-links .nav-cta-mobile a::after { display:none; }
  .nav-links .nav-cta-mobile a:hover { background: var(--burg2, #7F0F23); border-color: var(--burg2, #7F0F23); }

  /* Blocage du scroll quand le menu est ouvert */
  body.nav-open { overflow:hidden; }
  .hero-left { padding:120px 5vw 50px; }
  .piliers-grid { grid-template-columns:1fr; }
  .pilier { border-right:none; border-bottom:1px solid var(--border2); }
  .pilier:last-child { border-bottom:none; }
  .diff-grid { grid-template-columns:1fr; }
  .diff-card { border-right:none; border-bottom:1px solid var(--border2); }
  .diff-card:last-child { border-bottom:none; }
  .parcours-grid { grid-template-columns:1fr; }
  .parcours-item { border-right:none !important; }
  .conviction-grid { grid-template-columns:1fr; }
  .cibles-list { grid-template-columns:1fr; }
  .cibles-item { border-right:none; }
  .contact-footer-grid { grid-template-columns:1fr; }
  .cta-meta { flex-direction:column; gap:1.5rem; }
  .cta-sep { display:none; }
  footer { flex-direction:column; gap:1.5rem; text-align:center; }
  .methode-step { grid-template-columns:1fr; gap:.5rem; }
  .sec { padding:70px 5vw; }
  .page-hero { padding:130px 5vw 60px; }
  .cb { padding:60px 5vw; }
  .sparza-page-content, .parcours-section, .convictions, .posture-block { padding:60px 5vw; }
}

@media (max-width:480px) {
  h1.hero-title { font-size:2.4rem; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .ia-grid { grid-template-columns:1fr; }
  .ia-cell { border-right:none !important; }
  .exp-grid { grid-template-columns:1fr; }
  .exp-item { border-right:none; }
  .sign-stats { flex-direction:column; gap:1.5rem; }
}
