:root{
  --noir:#0D0D0D;
  --anthracite:#111111;
  --sable:#E2E2DC;
  --ivoire:#F8F8F5;
  --menthe:#0B3D2E;
  --menthe-soft:#155C45;
  --hibiscus:#9B1C35;
  --or:#9B1C35;
  --terracotta:#9B1C35;
  --rust:#7A1528;
  --creme-fonce:#F0F0EC;
  --display: 'Bodoni Moda', serif;
  --body: 'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--ivoire);
  color:var(--anthracite);
  font-family:var(--body);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  font-weight:400;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:var(--body);}

.eyebrow{
  font-family:var(--body);
  font-size:10px;
  letter-spacing:0.34em;
  text-transform:uppercase;
  color:var(--menthe);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}
.eyebrow::before{
  content:"";
  width:28px;height:1px;
  background:var(--menthe);
  display:inline-block;
  flex-shrink:0;
}
.eyebrow.center{ justify-content:center; }
.eyebrow.center::after{
  content:"";
  width:28px;height:1px;
  background:var(--menthe);
  display:inline-block;
  flex-shrink:0;
}
.eyebrow.left{ justify-content:flex-start; }
.eyebrow.red{ color:var(--or); }
.eyebrow.red::before, .eyebrow.red::after{ background:var(--or); }

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:500;
  letter-spacing:0;
  color:var(--anthracite);
}
h2{font-size:clamp(30px,4vw,50px);font-weight:500;}

.container{
  max-width:1220px;
  margin:0 auto;
  padding:0 48px;
}
.center{ text-align:center; margin-left:auto; margin-right:auto; }

/* ── MARQUEE TICKER ── */
.ticker{
  overflow:hidden;
  background:var(--or);
  color:var(--ivoire);
  padding:14px 0;
  border-top:none;
  border-bottom:none;
}
.ticker-track{
  display:flex;
  align-items:center;
  white-space:nowrap;
  animation:tickerScroll 32s linear infinite;
  gap:0;
}
.ticker-track span{
  font-size:9px;
  letter-spacing:0.36em;
  text-transform:uppercase;
  font-weight:600;
  font-family:var(--body);
  padding:0 36px;
}
.ticker-track .sep{
  color:rgba(255,255,255,0.5);
  font-size:12px;
  letter-spacing:0;
  padding:0;
}
@keyframes tickerScroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* ── ANIMATIONS PREMIUM ── */
/* Base : éléments invisibles avant déclenchement */
[data-anim]{
  opacity:0;
  will-change:opacity,transform;
}
/* Rise : monte depuis le bas (titres, cartes) */
[data-anim="rise"]{
  transform:translateY(32px);
  transition:opacity 1s cubic-bezier(0.25,0.46,0.45,0.94),
             transform 1.1s cubic-bezier(0.25,0.46,0.45,0.94);
}
/* Slide-left : glisse de droite vers gauche (manifeste) */
[data-anim="slide-left"]{
  transform:translateX(36px);
  transition:opacity 1.2s cubic-bezier(0.25,0.46,0.45,0.94),
             transform 1.3s cubic-bezier(0.25,0.46,0.45,0.94);
}
/* Fade : apparition douce (logos, images) */
[data-anim="fade"]{
  transform:none;
  transition:opacity 1.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
/* État final */
[data-anim].anim-in{
  opacity:1;
  transform:none;
}

/* Ancien système reveal (autres pages) */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .9s ease, transform .9s ease;
}
.reveal.in{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  [data-anim]{ opacity:1; transform:none; transition:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ── HEADER ── */
header{
  position:fixed; top:0; left:0; right:0;
  z-index:100;
  background:rgba(251,248,242,0.94);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(155,28,53,0.12);
  transition:background .3s;
}
.nav-inner{
  max-width:1220px;
  margin:0 auto;
  padding:0 48px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--anthracite);
}
.logo-mark{
  width:32px;height:32px;
  border:1px solid var(--anthracite);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);
  font-size:14px;
  flex-shrink:0;
  transition:border-color .25s, color .25s, background .25s;
}
.logo:hover .logo-mark{ border-color:var(--or); color:var(--ivoire); background:var(--or); }
.logo-word{
  font-family:var(--display);
  font-size:17px;
  letter-spacing:0.18em;
}
nav.primary-nav{
  display:flex;
  align-items:center;
  gap:34px;
}
nav.primary-nav a{
  color:var(--anthracite);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  transition:color .25s;
  position:relative;
  padding-bottom:3px;
  font-weight:500;
}
nav.primary-nav a:hover{ color:var(--menthe); }
nav.primary-nav a.current{
  color:var(--menthe);
  border-bottom:1px solid var(--menthe);
}
.lang-toggle{
  display:flex;
  border:1px solid rgba(155,28,53,0.25);
  overflow:hidden;
  font-size:10px;
  letter-spacing:0.1em;
}
.lang-toggle button{
  background:transparent;
  border:none;
  color:var(--anthracite);
  padding:6px 12px;
  cursor:pointer;
  font-family:var(--body);
  transition:.2s;
}
.lang-toggle button.active{
  background:var(--or);
  color:var(--ivoire);
}
.nav-cta{
  border:1px solid var(--or);
  color:var(--or) !important;
  padding:8px 18px !important;
  font-size:11px !important;
  text-transform:uppercase;
  letter-spacing:0.1em;
  transition:.25s;
  font-weight:500;
  line-height:1;
  align-self:center;
}
.nav-cta:hover{ background:var(--or); color:var(--ivoire) !important; }

.more-wrap{ position:relative; }
.more-btn{
  background:none;border:1px solid rgba(155,28,53,0.25);
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  letter-spacing:2px;
  color:var(--anthracite);
  font-size:12px;
  transition:.2s;
}
.more-btn:hover{ border-color:var(--or); color:var(--or); }
.more-menu{
  position:absolute;
  top:46px; right:0;
  background:var(--ivoire);
  border:1px solid rgba(155,28,53,0.15);
  min-width:200px;
  box-shadow:0 20px 60px rgba(28,10,6,0.12);
  opacity:0; visibility:hidden;
  transform:translateY(-8px);
  transition:.25s;
}
.more-menu.open{ opacity:1; visibility:visible; transform:translateY(0); }
.more-menu a{
  display:block;
  padding:14px 22px;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--anthracite);
  border-bottom:1px solid rgba(0,0,0,0.05);
  transition:.2s;
}
.more-menu a:last-child{ border-bottom:none; }
.more-menu a:hover{ color:var(--or); padding-left:28px; }

.burger{ display:none; background:none;border:none;cursor:pointer; }
.burger span{ display:block;width:22px;height:1px;background:var(--anthracite);margin:6px 0; }

/* ── PAGE HERO (inner pages) ── */
.page-hero{
  padding:160px 0 90px;
  border-bottom:1px solid rgba(155,28,53,0.12);
  text-align:center;
}
.page-hero h1{
  font-size:clamp(36px,5vw,60px);
  margin-bottom:18px;
  font-style:italic;
}
.page-hero p.lead{
  font-size:17px;
  color:#8B7565;
  max-width:520px;
  margin:0 auto;
}

/* ── HERO (homepage) ── */
.hero{
  position:relative;
  height:100vh;
  min-height:700px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  background:#EAE4D9;
  padding-bottom:110px;
}

/* Bande photos défilantes */
.hero-reel{
  position:absolute;
  top:0; left:0; right:0;
  height:58%;
  overflow:hidden;
}
.hero-reel::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(234,228,217,0) 55%, rgba(234,228,217,1) 100%);
  z-index:1;
  pointer-events:none;
}
.hero-reel-track{
  display:flex;
  gap:6px;
  height:100%;
  width:max-content;
  animation:reelScroll 37s linear infinite;
  will-change:transform;
}
.hero-reel-img{
  flex-shrink:0;
  width:320px;
  height:100%;
  overflow:hidden;
}
.hero-reel-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(0.88) saturate(0.85);
}
@keyframes reelScroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* Texte centré en bas */
.hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  color:#FBF8F2;
  max-width:860px;
  padding:0 32px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero .eyebrow{
  color:var(--menthe);
  justify-content:center;
  margin-bottom:28px;
}
.hero .eyebrow::before,.hero .eyebrow::after{ background:var(--menthe); }
.hero h1{
  font-family:'Bodoni Moda',serif;
  font-size:clamp(32px,4.2vw,62px);
  font-weight:400;
  line-height:1.08;
  margin:0 0 40px;
  color:#1A1714;
}
.hero h1 em{
  font-style:italic;
  color:var(--or);
  opacity:1;
}
.hero-sub{
  font-size:13px;
  max-width:440px;
  color:#6B5F50;
  margin:0 0 36px;
  line-height:1.9;
  letter-spacing:0.01em;
}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}
.btn-hero{
  display:inline-block;
  padding:16px 42px;
  background:var(--or);
  color:#FBF8F2;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:600;
  font-family:'Inter',sans-serif;
  border:1px solid var(--or);
  transition:.3s;
}
.btn-hero:hover{ background:var(--anthracite); border-color:var(--anthracite); color:#FBF8F2; }
.btn-hero-ghost{
  display:inline-block;
  padding:16px 42px;
  background:transparent;
  color:#1A1714;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:600;
  font-family:'Inter',sans-serif;
  border:1px solid rgba(26,23,20,0.3);
  transition:.3s;
}
.btn-hero-ghost:hover{ border-color:#1A1714; background:#1A1714; color:#FBF8F2; }
.hero-bottom-bar{
  position:absolute;
  bottom:0; left:0; right:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:18px 32px;
  border-top:1px solid rgba(26,23,20,0.1);
  font-size:9px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(26,23,20,0.35);
  font-family:'Inter',sans-serif;
}
.hbb-sep{ opacity:0.3; }

/* ── BUTTONS ── */
.btn-primary, .btn-ghost{
  padding:14px 36px 14px calc(36px + 0.18em);
  font-size:10px;
  line-height:1;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border-radius:0;
  transition:.3s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
  font-weight:600;
  font-family:'Inter',sans-serif;
  text-decoration:none;
}
.btn-primary{
  background:var(--or);
  color:var(--ivoire);
  border:1px solid var(--or);
}
.btn-primary:hover{ background:var(--anthracite); border-color:var(--anthracite); }
.btn-ghost{
  border:1px solid rgba(0,0,0,0.2);
  color:var(--anthracite);
  background:transparent;
}
.btn-ghost:hover{ background:var(--anthracite); color:var(--ivoire); border-color:var(--anthracite); }

/* ── SECTIONS ── */
section{ padding:100px 0; }
section.tight{ padding:80px 0; }
.section-head{
  max-width:640px;
  margin:0 auto 64px;
  text-align:center;
}
.section-head p.lead{
  font-size:15px;
  color:#8B7565;
  margin-top:14px;
}
.home-section-head{
  max-width:640px;
  margin:0 auto 56px;
  text-align:center;
}
.home-section-head h2{
  margin-top:10px;
}
.home-all-link{
  display:inline-block;
  margin-top:14px;
  font-size:10px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--or);
  font-family:'Inter',sans-serif;
  border-bottom:1px solid var(--or);
  padding-bottom:2px;
}

/* ── HOME MANIFESTE ── */
.home-manifeste{
  padding:100px 0;
  border-top:1px solid rgba(0,0,0,0.06);
  text-align:center;
}
.manifeste-statement{
  font-family:'Inter',sans-serif;
  font-size:clamp(16px,1.5vw,20px);
  font-weight:400;
  font-style:normal;
  line-height:1.95;
  letter-spacing:0.01em;
  color:#444;
  max-width:720px;
  margin:28px auto 0;
}

/* ── HOME TEAM ── */
.home-team{ padding:80px 0; background:var(--creme-fonce); }

/* ── HOME SERVICES ── */
.home-services{ padding:80px 0; }

/* ── FUSION CARDS (team) ── */
.fusion-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  max-width:940px;
  margin:0 auto;
}
.fusion-card{
  background:var(--ivoire);
  border:1px solid rgba(155,28,53,0.15);
  display:block;
  transition:.35s;
  overflow:hidden;
}
.fusion-card:hover{ transform:translateY(-5px); box-shadow:0 28px 70px rgba(28,10,6,0.1); }
.fusion-photo{
  height:290px;
  background:var(--creme-fonce);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  gap:12px;
  position:relative;
  overflow:hidden;
}
.fusion-photo::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:var(--or);
  transform:scaleX(0);
  transform-origin:left;
  transition:.4s;
}
.fusion-card:hover .fusion-photo::after{ transform:scaleX(1); }
.fusion-photo .ph-icon{
  width:64px;height:64px;
  border:1px solid rgba(155,28,53,0.3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);
  font-size:26px;
  color:#A08070;
}
.fusion-photo .ph-label{
  font-size:10px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#A08070;
}
.fusion-body{ padding:34px 34px 42px; text-align:center; }
.fusion-body .role{
  font-size:10px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--or);
  margin-bottom:10px;
  display:block;
  font-weight:600;
}
.fusion-body h3{ font-size:26px; margin-bottom:10px; font-style:italic; }
.fusion-body p{ color:#8B7565; font-size:14px; margin-bottom:20px; line-height:1.75; }
.fusion-body .go{
  font-size:10px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--anthracite);
  font-weight:600;
  border-bottom:1px solid var(--anthracite);
  padding-bottom:2px;
  transition:.2s;
}
.fusion-card:hover .go{ color:var(--or); border-color:var(--or); }

/* ── TRUST LOGOS ── */
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(155,28,53,0.12);
  border:1px solid rgba(155,28,53,0.12);
}
.trust-cell{
  background:var(--ivoire);
  min-height:120px;
  display:flex;align-items:center;justify-content:center;
  color:#C5B4A5;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  transition:.3s;
}
.trust-cell:hover{ background:var(--creme-fonce); }

/* ── SERVICES GRID ── */
.services-grid-case{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:rgba(155,28,53,0.1);
}
.service-case{
  background:var(--ivoire);
  padding:52px 48px;
  cursor:pointer;
  transition:background .3s;
  position:relative;
}
.service-case:hover{ background:var(--creme-fonce); }
.service-case::before{
  content:'';
  position:absolute;
  top:0;left:48px;right:48px;
  height:2px;
  background:transparent;
  transition:.35s;
}
.service-case:hover::before{ background:var(--or); }
.service-case .top-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.service-num{
  font-family:var(--display);
  font-style:italic;
  font-size:13px;
  color:var(--or);
  flex-shrink:0;
}
.service-num.red{ color:var(--hibiscus); }
.service-case h3{
  font-size:20px;
  font-weight:500;
  flex:1;
  text-align:left;
  margin-left:20px;
}
.service-plus{
  font-family:var(--display);
  font-size:24px;
  color:var(--anthracite);
  flex-shrink:0;
  transition:transform .3s, color .3s;
  width:24px;text-align:center;
}
.service-case.open .service-plus{ transform:rotate(45deg); color:var(--or); }
.service-case-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}
.service-case.open .service-case-panel{ max-height:300px; }
.service-case-panel-inner{
  padding-top:28px;
}
.service-case-panel-inner p{
  color:#8B7565;
  font-size:15px;
  margin-bottom:22px;
  line-height:1.8;
}
.service-rdv-btn{
  background:var(--or);
  color:var(--ivoire);
  border:none;
  padding:13px 28px;
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:0;
  transition:.25s;
  font-weight:600;
}
.service-rdv-btn:hover{ background:var(--anthracite); }

/* ── TEAM ── */
.team-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.team-card{
  background:var(--ivoire);
  border:1px solid rgba(155,28,53,0.15);
  overflow:hidden;
}
.team-card.accent-top{ border-top:2px solid var(--or); }
.team-card.accent-top.red{ border-top:2px solid var(--hibiscus); }
.team-photo{
  height:300px;
  background:var(--creme-fonce);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  gap:12px;
  position:relative;
}
.team-photo .ph-icon{
  width:64px;height:64px;
  border:1px solid rgba(155,28,53,0.3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);
  font-size:22px;
  color:#A08070;
}
.team-photo .ph-label{
  font-size:10px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#A08070;
}
.team-body{ padding:38px 40px 46px; text-align:center; }
.team-body h3{ font-size:28px; margin-bottom:4px; font-style:italic; }
.team-role{
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--or);
  margin-bottom:22px;
  display:block;
  font-weight:600;
}
.team-card.accent-top.red .team-role{ color:var(--hibiscus); }
.team-body p.bio{ color:#8B7565; font-size:15px; margin-bottom:28px; line-height:1.8; }
.social-links{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}
.social-links a{
  border:1px solid rgba(155,28,53,0.3);
  padding:9px 18px;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  font-weight:600;
  transition:.25s;
}
.social-links a:hover{ background:var(--or); color:var(--ivoire); border-color:var(--or); }

/* ── REFERENCES ── */
.ref-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(155,28,53,0.1);
  border:1px solid rgba(155,28,53,0.12);
  margin-top:8px;
}
.ref-cell{
  background:var(--ivoire);
  min-height:140px;
  display:flex;align-items:center;justify-content:center;
  color:#C5B4A5;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  transition:.3s;
}
.ref-cell:hover{ background:var(--creme-fonce); }
.ref-note{
  margin-top:40px;
  font-size:14px;
  color:#8B7565;
  max-width:520px;
  font-style:italic;
  text-align:center;
  margin-left:auto;margin-right:auto;
}

/* ── CONTACT ── */
.contact-wrap{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:80px;
}
.contact-info p.lead{ color:#8B7565; font-size:16px; margin-bottom:32px; line-height:1.85; }
.contact-detail{
  display:flex;
  flex-direction:column;
  gap:18px;
  border-top:1px solid rgba(155,28,53,0.15);
  padding-top:26px;
}
.contact-detail div{ display:flex; justify-content:space-between; font-size:14px; }
.contact-detail span:first-child{ color:#A08070; text-transform:uppercase; letter-spacing:0.1em; font-size:10px; }

form.contact-form{
  background:var(--creme-fonce);
  border:1px solid rgba(155,28,53,0.15);
  border-top:2px solid var(--or);
  padding:46px;
}
.form-row{ margin-bottom:24px; }
.form-row label{
  display:block;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#A08070;
  margin-bottom:9px;
}
.form-row input, .form-row textarea, .form-row select{
  width:100%;
  border:none;
  border-bottom:1px solid rgba(155,28,53,0.25);
  background:transparent;
  font-family:var(--body);
  font-size:15px;
  padding:10px 2px;
  color:var(--anthracite);
  border-radius:0;
  transition:.25s;
}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{
  outline:none;
  border-bottom:1px solid var(--or);
}
.form-row textarea{ resize:vertical; min-height:100px; }
.form-two{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.submit-btn{
  background:var(--or);
  color:var(--ivoire);
  border:none;
  padding:16px 34px;
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:0;
  transition:.25s;
  width:100%;
  font-weight:600;
}
.submit-btn:hover{ background:var(--anthracite); }
.form-success{
  display:none;
  background:var(--or);
  color:var(--ivoire);
  padding:16px 20px;
  font-size:14px;
  margin-top:16px;
}
.form-success.show{ display:block; }

/* ── FOOTER ── */
footer{
  background:var(--anthracite);
  color:var(--ivoire);
  padding:56px 0 32px;
  text-align:center;
}
.footer-social{
  display:flex;
  gap:20px;
  justify-content:center;
  margin-bottom:20px;
}
.footer-social a{
  border:1.5px solid var(--or);
  padding:14px 40px;
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:600;
  transition:.25s;
  color:var(--ivoire);
  min-width:180px;
}
.footer-social a:hover{ background:var(--or); border-color:var(--or); }
.footer-cta{ margin-bottom:20px; }
.footer-cta .btn-primary{
  background:var(--or);
  border:1.5px solid var(--or);
  color:var(--ivoire);
  min-width:380px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.footer-cta .btn-primary:hover{ background:transparent; border-color:var(--ivoire); }
.footer-inner{
  display:flex;
  justify-content:center;
  gap:70px;
  flex-wrap:wrap;
  padding-bottom:36px;
  border-bottom:1px solid rgba(155,28,53,0.12);
  text-align:left;
}
.footer-col h4{
  font-family:var(--body);
  font-size:10px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--or);
  margin-bottom:18px;
  font-weight:600;
}
.footer-col a, .footer-col p{
  display:block;
  font-size:13px;
  color:rgba(251,248,242,0.45);
  margin-bottom:10px;
  transition:.2s;
}
.footer-col a:hover{ color:var(--ivoire); }
.footer-bottom{
  display:flex;
  justify-content:center;
  gap:20px;
  padding-top:26px;
  font-size:10px;
  color:rgba(251,248,242,0.25);
  flex-wrap:wrap;
  letter-spacing:0.06em;
}

/* ── LANG ── */
[data-lang="en"]{ display:none; }
.footer-col a[data-lang="en"], .footer-col p[data-lang="en"], .footer-col h4[data-lang="en"]{ display:none; }
body.lang-en [data-lang="fr"]{ display:none !important; }
body.lang-en [data-lang="en"]{ display:initial; }
body.lang-en .footer-col a[data-lang="en"]{ display:block; }
body.lang-en .footer-col p[data-lang="en"]{ display:block; }
body.lang-en .footer-col h4[data-lang="en"]{ display:block; }
body.lang-en .eyebrow[data-lang="en"]{ display:flex; }
body.lang-en .ticker[data-lang="en"]{ display:block; }
/* Correction spécificité pour le menu ··· */
.more-menu a[data-lang="en"]{ display:none; }
body.lang-en .more-menu a[data-lang="fr"]{ display:none; }
body.lang-en .more-menu a[data-lang="en"]{ display:block; }
/* Correction nav principale */
nav.primary-nav a[data-lang="en"]{ display:none !important; }
body.lang-en nav.primary-nav a[data-lang="fr"]{ display:none !important; }
body.lang-en nav.primary-nav a[data-lang="en"]{ display:inline-flex !important; }

/* ── RESPONSIVE ── */
@media (max-width:960px){
  .hero-inner{ padding:0 24px; }
  .manifeste-inner{ grid-template-columns:1fr; gap:20px; padding:0 24px; }
}
@media (max-width:880px){
  nav.primary-nav{
    position:fixed; top:72px; left:0; right:0;
    background:var(--ivoire);
    flex-direction:column;
    align-items:flex-start;
    padding:26px 32px 36px;
    gap:20px;
    border-top:1px solid rgba(155,28,53,0.12);
    transform:translateY(-130%);
    transition:transform .3s ease;
    box-shadow:0 20px 40px rgba(28,10,6,0.1);
  }
  nav.primary-nav.open{ transform:translateY(0); }
  .burger{ display:block; }
  .team-grid, .fusion-grid, .services-grid-case{ grid-template-columns:1fr; }
  .trust-grid{ grid-template-columns:repeat(2,1fr); }
  .ref-grid{ grid-template-columns:repeat(2,1fr); }
  .contact-wrap{ grid-template-columns:1fr; gap:40px; }
  .form-two{ grid-template-columns:1fr; }
  .footer-inner{ text-align:center; justify-content:center; gap:40px; }
  .container{ padding:0 24px; }
  .nav-inner{ padding:0 24px; }
}

/* ── SERVICES CARDS GRID (page services.html) ── */
.services-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#DEDAD4;margin-top:0;}
.svc-card{background:#FBF8F2;text-decoration:none;display:block;position:relative;transition:.35s;overflow:hidden;}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:.4s;z-index:1;}
.svc-card:hover{background:#fff;box-shadow:0 24px 64px rgba(0,0,0,0.07);}
.svc-card:hover::before{transform:scaleX(1);}
.svc-card-photo{width:100%;height:220px;overflow:hidden;background:#EDEAE4;display:block;position:relative;}
.svc-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block;}
.svc-card:hover .svc-card-photo img{transform:scale(1.04);}
.svc-card-photo-placeholder{width:100%;height:100%;background:#E8E5DF;display:flex;align-items:center;justify-content:center;}
.svc-card-body{padding:36px 40px 40px;}
.svc-card-num{font-family:'Bodoni Moda',serif;font-style:italic;font-size:12px;color:var(--menthe);display:block;margin-bottom:14px;}
.svc-card h3{font-family:'Bodoni Moda',serif;font-size:20px;font-weight:500;color:#111;margin-bottom:10px;line-height:1.25;}
.svc-card p{font-size:14px;color:#6B6B6B;line-height:1.7;}
.svc-card .svc-card-arrow{display:block;margin-top:22px;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:var(--or);transition:letter-spacing .25s;}
.svc-card:hover .svc-card-arrow{letter-spacing:0.22em;}
@media(max-width:960px){.services-cards-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:580px){.services-cards-grid{grid-template-columns:1fr;}.svc-card{padding:48px 32px;}}

/* ── LOGOS GRID (section références) ── */
.logos-section{ padding:120px 0; background:#fff; }
.logos-section .section-head{ margin-bottom:64px; }
.logos-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:130px;
  gap:0;
  border-top:1px solid #EDEAE4;
  border-left:1px solid #EDEAE4;
}
.logo-cell{
  border-bottom:1px solid #EDEAE4;
  border-right:1px solid #EDEAE4;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 14px;
  background:#fff;
  transition:background .3s;
}
.logo-cell:hover{ background:#FDFBF8; }
.logo-cell img{
  width:92%;
  height:90px;
  object-fit:contain;
  display:block;
  mix-blend-mode:multiply;
  filter:grayscale(1) contrast(1.1);
  opacity:0.7;
  transition:opacity .3s;
}
.logo-cell:hover img{ opacity:1; }
.logo-cell.big img{ height:112px; width:96%; }
.logo-cell.xl img{ height:130px; width:98%; }
.logo-cell.sm img{ height:62px; width:76%; }
@media(max-width:1100px){ .logos-grid{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:640px){ .logos-grid{ grid-template-columns:repeat(2,1fr); } .logo-cell{ padding:30px 24px; min-height:96px; } }

/* ── LOGO IMAGE ── */
.logo-img{ gap:0; margin-left:-36px; }
.logo-img-el{
  height:28px;
  width:auto;
  max-width:none;
  object-fit:contain;
  display:block;
  filter:brightness(0) saturate(0);
  image-rendering:-webkit-optimize-contrast;
  transition:opacity .25s;
}
.logo-img:hover .logo-img-el{ opacity:0.6; }

/* ── FOUNDERS GRID ── */
.founders-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  max-width:960px;
  margin:0 auto;
}
.founder-card{
  display:block;
  background:#fff;
  border:1px solid rgba(155,28,53,0.15);
  text-decoration:none;
  overflow:hidden;
  transition:.35s;
  position:relative;
}
.founder-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:var(--or);
  transform:scaleX(0);
  transform-origin:left;
  transition:.4s;
}
.founder-card:hover::before{ transform:scaleX(1); }
.founder-card:hover{ transform:translateY(-5px); box-shadow:0 28px 70px rgba(33,20,16,0.1); }
.founder-photo{ height:340px; overflow:hidden; background:#F0E8DC; }
.founder-photo img{ width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s ease; }
.founder-card:hover .founder-photo img{ transform:scale(1.04); }
.founder-body{ padding:36px 36px 42px; }
.founder-role{
  font-size:10px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--or);
  font-weight:600;
  display:block;
  margin-bottom:12px;
}
.founder-body h3{ font-family:'Bodoni Moda',serif; font-size:28px; font-style:italic; margin-bottom:12px; color:#211410; }
.founder-body p{ font-size:14px; color:#8B7060; line-height:1.75; margin-bottom:22px; }
.founder-link{
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:600;
  color:#211410;
  border-bottom:1px solid #211410;
  padding-bottom:2px;
  transition:.2s;
}
.founder-card:hover .founder-link{ color:var(--or); border-color:var(--or); }
@media(max-width:700px){ .founders-grid{ grid-template-columns:1fr; } }
