:root{--dl-navy:#0F1A3A;--dl-navy-2:#152449;--dl-gold:#c5a47e;--dl-ivory:#f7f3ef}
html{scroll-behavior:smooth}
.site-header{position:sticky!important;top:0;z-index:5000!important;background:rgba(15,26,58,.96)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:padding .35s ease,box-shadow .35s ease,background .35s ease}
.site-header.is-scrolled{box-shadow:0 10px 35px rgba(4,11,30,.16);background:rgba(15,26,58,.985)!important}
/* CTA : une seule couleur de marque */
a.btn,.btn,.header-btn,.cookie-actions button,.contact-info .btn,.contact-map-section .btn{background:var(--dl-navy)!important;color:#fff!important;border:1px solid var(--dl-navy)!important;box-shadow:none!important}
a.btn:hover,.btn:hover,.header-btn:hover,.cookie-actions button:hover,.contact-info .btn:hover,.contact-map-section .btn:hover{background:var(--dl-navy-2)!important;color:#fff!important;border-color:var(--dl-gold)!important;transform:translateY(-2px)}
a[href^="tel:"]{color:inherit!important;text-decoration:none!important}
/* animations premium, diversifiées */
.dl-anim{opacity:1;will-change:transform,opacity;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.2,.7,.2,1)}
.dl-fade-up{transform:translate3d(0,38px,0)}
.dl-fade-left{transform:translate3d(-48px,0,0)}
.dl-fade-right{transform:translate3d(48px,0,0)}
.dl-scale{transform:scale(.965) translate3d(0,22px,0)}
.js-anim-ready .dl-anim{opacity:0;}
.js-anim-ready .dl-anim.dl-visible{opacity:1;transform:none}
.section-label,.profile-point strong{position:relative}
.section-label::after{content:"";display:block;width:0;height:1px;background:var(--dl-gold);margin-top:8px;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.dl-visible .section-label::after,.section-label.dl-visible::after{width:46px}
.image-card{overflow:visible}
.image-card img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.image-card:hover img{transform:scale(1.018)}
.card{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease!important}
.card:hover{transform:translateY(-10px)!important;box-shadow:0 28px 60px rgba(9,18,45,.18)!important}
/* parallaxe : l'image de fond se déplace via CSS variable, sans background-attachment:fixed (Firefox) */
.hero-image,.hero-cabinet,.image-band,.cabinet-band,.cta{background-position:center calc(50% + var(--parallax-y,0px))!important;background-size:cover!important;will-change:background-position}
/* accueil : portrait très tôt uniquement sur mobile */
.mobile-profile-early{display:none}
/* cabinet : parcours éditorial, sans cartes CV */
.profile-quote{background:transparent!important;color:var(--dl-navy)!important;border-left:0!important;border-top:1px solid var(--dl-gold)!important;border-bottom:1px solid rgba(197,164,126,.45)!important;padding:22px 0!important;margin:28px 0 10px!important}
.profile-quote p{color:#30384e!important;font-weight:500!important}
.profile-points{display:block!important;margin:18px 0 10px!important}
.profile-point{display:grid!important;grid-template-columns:minmax(145px,.8fr) 1.7fr;gap:22px;align-items:start;background:transparent!important;border-left:0!important;border-bottom:1px solid rgba(15,26,58,.12);padding:18px 0!important;box-shadow:none!important}
.profile-point:last-child{border-bottom:0}
.profile-point strong{font-family:'Cormorant Garamond',serif;font-size:1.08rem!important;color:var(--dl-navy)!important;margin:0!important}
.profile-point span{font-size:.88rem!important;line-height:1.65!important;color:#555!important}
/* cookies */
.cookie-banner{position:fixed;left:22px;right:22px;bottom:22px;max-width:980px;margin:auto;background:rgba(15,26,58,.985);color:#fff;padding:20px 22px;z-index:99999;box-shadow:0 18px 60px rgba(0,0,0,.28);border:1px solid rgba(197,164,126,.38);display:none;align-items:center;justify-content:space-between;gap:20px}
.cookie-banner.show{display:flex}
.cookie-banner p{margin:0;line-height:1.55;font-size:.9rem;color:rgba(255,255,255,.9)}
.cookie-banner-actions{display:flex;gap:10px;flex:0 0 auto}
.cookie-banner button{cursor:pointer;padding:11px 16px;border:1px solid var(--dl-gold);font:inherit;font-size:.74rem;letter-spacing:1px;text-transform:uppercase}
.cookie-banner .accept{background:#fff;color:var(--dl-navy)}
.cookie-banner .reject{background:transparent;color:#fff}
@media(max-width:950px){
  .site-header{padding:12px 18px!important}
  .site-header .logo img{height:44px!important}
  .main-nav{top:0!important;padding-top:88px!important}
  .mobile-profile-early{display:block;background:#fff;padding:34px 0 8px}
  .mobile-profile-early .home-container{width:92%;margin:auto}
  .mobile-profile-early img{display:block;width:100%;max-height:480px;object-fit:cover;object-position:center 20%;box-shadow:0 18px 45px rgba(11,22,50,.12)}
  .dl-anim{transition-duration:.72s}
  .dl-fade-up{transform:translate3d(0,28px,0)}
  .dl-fade-left{transform:translate3d(-26px,0,0)}
  .dl-fade-right{transform:translate3d(26px,0,0)}
  .profile-point{grid-template-columns:1fr!important;gap:6px;padding:16px 0!important}
  .profile-point strong{font-size:1.2rem!important}
  .profile-point span{font-size:.98rem!important}
  .cookie-banner{left:12px;right:12px;bottom:12px;display:none;flex-direction:column;align-items:stretch;padding:18px}
  .cookie-banner.show{display:flex}
  .cookie-banner-actions{width:100%}
  .cookie-banner button{flex:1}
}
@media(prefers-reduced-motion:reduce){.dl-anim{opacity:1!important;transform:none!important;transition:none!important}.hero-image,.hero-cabinet,.image-band,.cabinet-band,.cta{--parallax-y:0px!important}.site-header{transition:none!important}}
@media(max-width:950px){
  .home-profile-image{display:none!important}
}


/* V5 — finitions marine + or */
a.btn,.btn,.header-btn,.cookie-actions button,.contact-info .btn,.contact-map-section .btn{
  background:var(--dl-navy)!important;color:#fff!important;border:1px solid var(--dl-gold)!important;
  box-shadow:inset 0 0 0 1px rgba(197,164,126,.10)!important;
}
a.btn:hover,.btn:hover,.header-btn:hover,.cookie-actions button:hover,.contact-info .btn:hover,.contact-map-section .btn:hover{
  background:var(--dl-navy-2)!important;border-color:#d7b78f!important;box-shadow:0 10px 28px rgba(15,26,58,.18)!important;
}
.mobile-contact-item{display:none}
.parcours-premium{padding:110px 0 95px}
.parcours-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:90px;align-items:center}
.parcours-copy h2{font-size:clamp(2.5rem,4vw,3.7rem);line-height:1.02;color:var(--dl-navy);margin:0 0 28px}
.parcours-copy>p{line-height:1.85;color:#444;margin:0 0 16px}
.parcours-formation{margin-top:28px;padding:22px 0;border-top:1px solid var(--dl-gold)}
.parcours-formation p{margin:0!important;color:#30384e!important;line-height:1.75!important}
.parcours-portrait img{height:610px!important;object-fit:cover;object-position:center 15%}
.parcours-expertises{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid rgba(197,164,126,.65);border-bottom:1px solid rgba(197,164,126,.35)}
.parcours-item{padding:30px 28px 32px;position:relative}
.parcours-item:not(:last-child){border-right:1px solid rgba(197,164,126,.45)}
.parcours-num{display:block;font-family:'Cormorant Garamond',serif;color:var(--dl-gold);font-size:2rem;line-height:1;margin-bottom:18px}
.parcours-item strong{display:block;font-family:'Cormorant Garamond',serif;color:var(--dl-navy);font-size:1.25rem;margin-bottom:10px}
.parcours-item p{margin:0;color:#555;line-height:1.65;font-size:.86rem}
.parcours-cta{text-align:center;margin-top:34px}
.parcours-cta .btn{margin-top:0}
@media(max-width:950px){
  .mobile-contact-item{display:block;width:100%;margin-top:10px;padding-top:18px;border-top:1px solid rgba(197,164,126,.35)}
  .mobile-contact-item a{display:inline-block!important;border:1px solid var(--dl-gold)!important;padding:13px 22px!important;color:#fff!important}
  .mobile-profile-early{padding:18px 0 24px!important}
  .mobile-profile-early img{height:min(68vh,620px)!important;max-height:none!important;object-position:center 12%!important;border:1px solid rgba(197,164,126,.55)}
  .parcours-premium{padding:62px 0 70px}
  .parcours-top{display:flex;flex-direction:column;gap:34px}
  .parcours-portrait{order:-1;width:100%}
  .parcours-portrait img{height:min(72vh,680px)!important;object-position:center 12%}
  .parcours-copy h2{font-size:2.65rem}
  .parcours-expertises{grid-template-columns:1fr;margin-top:42px;border-bottom:0}
  .parcours-item{padding:25px 4px 26px;display:grid;grid-template-columns:54px 1fr;column-gap:12px}
  .parcours-item:not(:last-child){border-right:0;border-bottom:1px solid rgba(197,164,126,.4)}
  .parcours-num{grid-row:1/3;font-size:2.2rem;margin:0}
  .parcours-item strong{font-size:1.35rem;margin:0 0 6px}
  .parcours-item p{font-size:.98rem}
  .parcours-cta .btn{width:100%}
}

/* V6 — direction visuelle + parallaxe global */
.hero-image,.hero-cabinet,.image-band,.cabinet-band,.cta,
.expertise-hero,.expertise-band,.expertise-cta,
.contact-hero,.contact-band,.pc-hero{
  background-position:center calc(50% + var(--parallax-y,0px))!important;
  background-size:cover!important;
  will-change:background-position;
}
/* Profondeur douce sur les visuels éditoriaux */
.image-card,.parcours-portrait,.mobile-profile-early{overflow:hidden}
.image-card img,.parcours-portrait img,.mobile-profile-early img{
  --img-parallax:0px;--img-scale:1;
  transform:translate3d(0,var(--img-parallax),0) scale(var(--img-scale));
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .8s ease;
  will-change:transform;
}
.image-card:hover img{--img-scale:1.022}
/* Le visuel Paris reste la respiration principale de la marque */
.hero-image,.hero-cabinet,.contact-hero{background-image:linear-gradient(rgba(15,26,58,.46),rgba(15,26,58,.46)),url('../img/index1.png')!important}
/* Contact : image sélectionnée "Besoin spécifique" en respiration visuelle */
.contact-band{
  min-height:440px!important;
  background-image:linear-gradient(rgba(15,26,58,.60),rgba(15,26,58,.68)),url('../img/besoin-specifique-premium.png')!important;
  background-position:center calc(48% + var(--parallax-y,0px))!important;
}
/* Procédures collectives : visuel signature conservé et animé */
.pc-hero{background-position:center calc(48% + var(--parallax-y,0px))!important}
/* Parallaxe visible mais plus doux sur mobile pour garder la fluidité */
@media(max-width:950px){
  .hero-image,.hero-cabinet,.image-band,.cabinet-band,.cta,
  .expertise-hero,.expertise-band,.expertise-cta,.contact-hero,.contact-band,.pc-hero{
    background-position:center calc(50% + var(--parallax-y,0px))!important;
  }
  .contact-band{min-height:360px!important}
}
@media(prefers-reduced-motion:reduce){
  .image-card img,.parcours-portrait img,.mobile-profile-early img{transform:none!important}
}


/* V7 — corrections mobile et cohérence des pages */
@media(max-width:950px){
  .site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:99990!important}
  body{padding-top:68px!important}
  .mobile-profile-early{display:block!important;background:#fff;padding:0 0 24px!important}
  .mobile-profile-early .home-container{width:92%!important;margin:auto!important}
  .mobile-profile-early img{height:min(64vh,600px)!important;width:100%!important;object-fit:cover!important;object-position:center 12%!important;border:1px solid rgba(197,164,126,.55)!important;box-shadow:0 18px 45px rgba(11,22,50,.12)!important}
}
@media(max-width:420px){body{padding-top:60px!important}}

/* =========================================================
   V8 — DESIGN SYSTEM UNIQUE / PAGES DOMAINES D’INTERVENTION
   Référence visuelle : page Droit OHADA
   ========================================================= */

/* Typographies et centrages communs */
.expertise-hero,
.expertise-intro,
.expertise-section,
.expertise-band,
.expertise-cta {
  --expertise-navy:#0F1A3A;
  --expertise-gold:#c5a47e;
  --expertise-light:#f7f3ef;
}

.expertise-hero h1,
.expertise-intro h2,
.expertise-grid h2,
.section-title h2,
.expertise-band h2,
.expertise-cta h2,
.service-card h3,
.target-card h3 {
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:600 !important;
}

.expertise-hero p {
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:500 !important;
}

.expertise-intro p,
.expertise-grid p,
.section-title p,
.expertise-band p,
.expertise-cta p,
.service-card li,
.target-card p,
.expertise-hero .hero-sub {
  font-family:'Inter', Arial, sans-serif !important;
}

.expertise-container {
  width:88% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.expertise-hero {
  min-height:540px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:90px 20px !important;
}

.expertise-hero-content {
  width:100% !important;
  max-width:920px !important;
  margin:0 auto !important;
  text-align:center !important;
}

.expertise-hero h1 {
  font-size:clamp(3rem,6vw,5.6rem) !important;
  line-height:.96 !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  margin:0 0 18px !important;
  text-align:center !important;
}

.expertise-hero h1::after {
  content:"" !important;
  display:block !important;
  width:70px !important;
  height:2px !important;
  background:var(--expertise-gold) !important;
  margin:24px auto 0 !important;
}

.expertise-hero p {
  max-width:780px !important;
  margin:0 auto !important;
  font-size:clamp(1.45rem,3vw,2.35rem) !important;
  line-height:1.35 !important;
  text-align:center !important;
}

.expertise-hero .hero-sub {
  max-width:760px !important;
  margin:14px auto 0 !important;
  font-size:.95rem !important;
  line-height:1.7 !important;
  text-align:center !important;
  color:rgba(255,255,255,.90) !important;
}

.expertise-intro {
  background:var(--expertise-navy) !important;
  color:#fff !important;
  padding:85px 0 !important;
  text-align:center !important;
}

.expertise-intro h2 {
  max-width:920px !important;
  margin:0 auto 25px !important;
  font-size:2.8rem !important;
  line-height:1.08 !important;
  text-align:center !important;
}

.expertise-intro p {
  max-width:880px !important;
  margin:0 auto 18px !important;
  line-height:1.9 !important;
  text-align:center !important;
  color:rgba(255,255,255,.88) !important;
}

.expertise-section { padding:95px 0 !important; }
.expertise-section.light { background:var(--expertise-light) !important; }

.expertise-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:70px !important;
  align-items:center !important;
}

.expertise-grid h2,
.section-title h2,
.expertise-cta h2 {
  font-size:2.8rem !important;
  line-height:1.08 !important;
  color:var(--expertise-navy) !important;
  margin:0 0 25px !important;
}

.section-title {
  text-align:center !important;
  max-width:780px !important;
  margin:0 auto 55px !important;
}

.section-label {
  font-family:'Inter',Arial,sans-serif !important;
  font-size:.75rem !important;
  text-transform:uppercase !important;
  letter-spacing:2px !important;
  color:var(--expertise-gold) !important;
  margin-bottom:14px !important;
}

.image-card img {
  width:100% !important;
  height:520px !important;
  object-fit:cover !important;
  display:block !important;
}

.services-grid {
  display:grid !important;
  gap:24px !important;
}

.service-card,
.target-card {
  background:#fff !important;
  border-top:3px solid var(--expertise-gold) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.06) !important;
}

.service-card { padding:34px 30px !important; }
.target-card { padding:34px 26px !important; }

.expertise-band {
  min-height:420px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:#fff !important;
  padding:80px 0 !important;
}

.expertise-band h2 {
  max-width:850px !important;
  margin:0 auto 20px !important;
  font-size:3rem !important;
  line-height:1.08 !important;
  text-align:center !important;
}

.expertise-band h2::after {
  content:"" !important;
  display:block !important;
  width:70px !important;
  height:2px !important;
  background:var(--expertise-gold) !important;
  margin:25px auto 0 !important;
}

.expertise-band p {
  max-width:760px !important;
  margin:0 auto !important;
  line-height:1.8 !important;
  text-align:center !important;
  color:rgba(255,255,255,.92) !important;
}

.targets-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
}

.expertise-cta {
  color:#fff !important;
  text-align:center !important;
  padding:95px 20px !important;
}
.expertise-cta h2 { color:#fff !important; }
.expertise-cta p {
  max-width:740px !important;
  margin:0 auto !important;
  text-align:center !important;
  color:rgba(255,255,255,.88) !important;
}

/* Boutons identiques sur toutes les expertises */
.expertise-hero .btn,
.expertise-intro .btn,
.expertise-section .btn,
.expertise-cta .btn {
  background:var(--expertise-navy) !important;
  color:#fff !important;
  border:1px solid var(--expertise-gold) !important;
  box-shadow:none !important;
}

@media (max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .targets-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media (max-width:950px){
  .expertise-container{width:90% !important;}
  .expertise-section{padding:75px 0 !important;}
  .expertise-grid,
  .services-grid,
  .targets-grid{grid-template-columns:1fr !important;}
  .expertise-grid{gap:48px !important;}
  .expertise-hero{min-height:430px !important;padding:80px 22px !important;}
  .expertise-hero h1{font-size:3rem !important;line-height:1 !important;}
  .expertise-hero p{font-size:1.75rem !important;}
  .expertise-intro h2,
  .expertise-grid h2,
  .section-title h2,
  .expertise-band h2,
  .expertise-cta h2{font-size:2.45rem !important;line-height:1.12 !important;}
  .image-card img{height:auto !important;min-height:360px !important;}
}

@media (max-width:600px){
  .expertise-container{width:92% !important;}
  .expertise-hero h1{font-size:2.55rem !important;}
  .expertise-hero p{font-size:1.55rem !important;}
  .expertise-intro h2,
  .expertise-grid h2,
  .section-title h2,
  .expertise-band h2,
  .expertise-cta h2{font-size:2.2rem !important;}
}

/* FINAL — légère respiration avant le portrait de Debora sur l'accueil mobile */
@media (max-width: 768px){
  .mobile-profile-early{margin-top:1px!important;}
}
