/* Milliot Jacquemart Professionnels — feuille unique.
   Polices Barlow et Barlow Condensed auto-hébergées (latin et latin étendu), puis les styles de toutes les pages.
   Sources : assets/css/theme.css, responsive.css, chrome.css, pages.css, cible.css, entreprise.css, singles.css. */
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/mjp-00.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/mjp-01.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/mjp-02.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/mjp-03.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/mjp-04.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/mjp-05.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/mjp-06.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/mjp-07.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/mjp-08.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/mjp-09.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/mjp-10.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/mjp-11.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/mjp-12.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/mjp-13.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/mjp-14.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/mjp-15.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/mjp-16.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/mjp-17.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ===== theme.css ===== */
/* Milliot Jacquemart Professionnels — accueil
   Classes préfixées mjp- pour cohabiter avec GeneratePress. */

:root{
  --navy:       #1B3F6E;
  --navy-2:     #0D1A30;
  --navy-3:     #1A3258;
  --teal:       #4AB8C1;
  --green:      #7DC242;
  --amber:      #F5A623;
  --amber-d:    #D98E08;
  --amber-bg:   rgba(245,166,35,0.10);
  --amber-bd:   rgba(245,166,35,0.30);
  --white:      #FFFFFF;
  --gray-50:    #F4F6FA;
  --gray-100:   #E8EDF5;
  --gray-200:   #D0D8E6;
  --gray-500:   #7A8BA0;
  --gray-700:   #3A4A5C;
  --text:       #0E1E30;
  --muted:      #5A6E84;
}

body.mjp-pro{font-family:'Barlow',sans-serif;background:var(--white);color:var(--text);overflow-x:clip}
html{scroll-behavior:smooth;overflow-x:clip}

/* ── TOPBAR ── */
.mjp-topbar{
  background:var(--navy-2);
  height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 56px;
  position:relative;
  z-index:101;
}
.mjp-topbar-left{
  display:flex;
  align-items:center;
  gap:0;
}
.mjp-topbar-cible{
  font-size:9px;
  font-weight:400;
  letter-spacing:.5px;
  text-transform:none;
  color:rgba(255,255,255,0.65);
  padding:0 14px;
  border-right:1px solid rgba(255,255,255,0.08);
  transition:color .2s;
  cursor:default;
  text-decoration:none;
}
a.mjp-topbar-cible:hover,
.mjp-topbar-cible.is-current{color:#fff}
.mjp-topbar-cible:first-child{ padding-left:0; }
.mjp-topbar-cible:hover{ color:#ffffff; }
.mjp-topbar-right{
  display:flex;
  align-items:center;
  gap:24px;
}
.mjp-topbar-site{
  font-size:9px;
  font-weight:600;
  letter-spacing:.5px;
  text-transform:none;
  color:rgba(255,255,255,0.85);
  display:flex;
  align-items:center;
  gap:6px;
}
.mjp-topbar-site::before{
  content:'';
  width:5px;height:5px;
  border-radius:50%;
  background:var(--amber);
  opacity:.5;
}

/* ── NAV ── */
.mjp-nav{
  position:fixed;
  top:34px;left:0;right:0;
  z-index:100;
  height:80px;
  display:flex;
  align-items:center;
  padding:0 56px;
  background:transparent;
  transition:background .5s ease, backdrop-filter .5s ease;
}
.mjp-nav.mjp-scrolled{
  top:0;
  background:rgba(8,14,24,0.82);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.mjp-nav-logo{
  display:block;
  flex-shrink:0;
  text-decoration:none;
}
.mjp-nav-logo img{
  height:60px;
  display:block;
  mix-blend-mode:normal;
  transition:height .4s ease;
}
.mjp-nav.mjp-scrolled .mjp-nav-logo img{ height:50px; }

/* Liens poussés à droite */
.mjp-nav-links{
  display:flex;
  align-items:center;
  list-style:none;
  gap:36px;
  margin-left:auto;
}
.mjp-nav-links a{
  font-size:11px;
  font-weight:600;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.92);
  text-decoration:none;
  position:relative;
  padding-bottom:2px;
  transition:color .3s;
  white-space:nowrap;
}
.mjp-nav-links a::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:0;height:1px;
  background:var(--amber);
  transition:width .4s ease;
}
.mjp-nav-links a:hover,
.mjp-nav-links a.is-current{ color:#F5A623; }
.mjp-nav-links a:hover::after{ width:100%; }

/* Bouton Contactez-nous amber */
.mjp-btn-devis{
  flex-shrink:0;
  margin-left:120px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.9);
  background:transparent;
  padding:11px 16px 11px 18px;
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.25);
  border-left:3px solid var(--amber);
  transition:background .3s, color .3s, border-color .3s;
  white-space:nowrap;
}
.mjp-btn-devis::after{
  content:'';
  display:inline-block;
  width:18px;height:18px;
  background:var(--amber);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:background .3s, transform .25s;
  flex-shrink:0;
}
.mjp-btn-devis:hover{
  background:var(--amber);
  color:var(--gray-700);
  border-color:var(--amber);
}
.mjp-btn-devis:hover::after{
  background:var(--navy);
  transform:translateX(3px);
}

/* ── HERO ──
   Hauteur 85vh — les 15% restants laissent voir ce qui suit
   avant la ligne de flottaison */
.mjp-hero{
  position:relative;
  height:70vh;
  min-height:420px;
  overflow:visible;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.mjp-hero-slides{
  position:absolute;
  inset:0;
  z-index:0;
}
.mjp-hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 35%;
  opacity:0;
  transition:opacity 1.4s ease;
}
.mjp-hero-slide.mjp-active{
  opacity:1;
}
/* Dégradé léger — haut pratiquement transparent */
.mjp-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    to bottom,
    rgba(8,14,24,0.0) 0%,
    rgba(8,14,24,0.02) 40%,
    rgba(8,14,24,0.32) 75%,
    rgba(8,14,24,0.62) 100%
  );
}

/* Layout bas — padding-left aligné sur .mjp-nav (56px) */
.mjp-hero-h1-wrap{
  position:absolute;
  top:114px;
  right:56px;
  z-index:2;
  /* JS ajustera left pour aligner avec Nos services */
}
.mjp-hero-bottom{
  position:relative;
  z-index:4;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:0 56px 100px;
  gap:48px;
}

/* H1 aligné sur le bord gauche = même padding que .mjp-nav */
.mjp-hero h1{
  font-family:'Barlow Condensed', sans-serif;
  font-size:inherit;
  font-weight:800;
  line-height:1.05;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--white);
}
.mjp-hero h1 .mjp-h1-main{
  display:block;
  font-size:64px;
  line-height:1;
  letter-spacing:2px;
  background:linear-gradient(90deg, #4AB8C1 0%, #7DC242 50%, #F5A623 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.mjp-hero h1 .mjp-h1-main em{
  font-style:normal;
  -webkit-text-fill-color:#fff;
  color:#fff;
  background:none;
}
.mjp-hero h1 .mjp-h1-second{
  color:rgba(255,255,255,0.85);
  background:none;
  -webkit-text-fill-color:rgba(255,255,255,0.85);
}
.mjp-hero h1 .mjp-h1-location{
  display:block;
  font-size:26px;
  letter-spacing:6px;
  color:#F5A623;
  margin-top:14px;
  -webkit-text-fill-color:#F5A623;
  background:none;
}

/* Bloc droite bas */
.mjp-hero-right-block{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:16px;
  padding-bottom:6px;
  flex-shrink:0;
}
.mjp-hero-cert{
  font-size:10px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.28);
  text-align:right;
}
.mjp-hero-cert.mjp-main{ color:rgba(244,166,29,0.8); }
.mjp-hero-cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.9);
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.25);
  border-left:3px solid var(--amber);
  padding:11px 16px 11px 18px;
  transition:background .3s, color .3s, border-color .3s;
}
.mjp-hero-cta::after{
  content:'';
  display:inline-block;
  width:18px;height:18px;
  background:var(--amber);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:background .3s, transform .25s;
  flex-shrink:0;
}
.mjp-hero-cta:hover{
  background:var(--amber);
  color:var(--navy);
  border-color:var(--amber);
}
.mjp-hero-cta:hover::after{
  background:var(--navy);
  transform:translateX(3px);
}
.mjp-hero-cta-arrow{ display:none; }

/* Scroll indicator */
.mjp-hero-scroll{
  position:absolute;
  bottom:-32px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
}
.mjp-hero-scroll-line{
  width:1px;height:48px;
  background:rgba(255,255,255,0.15);
  position:relative;overflow:hidden;
}
.mjp-hero-scroll-line::after{
  content:'';
  position:absolute;
  top:-100%;left:0;
  width:1px;height:100%;
  background:var(--amber);
  animation:scrollDrop 1.8s ease infinite;
}
@keyframes scrollDrop{
  0%{top:-100%}100%{top:100%}
}

/* ── HERO ── */

.mjp-hero-img{position:absolute;inset:0;z-index:0}
.mjp-hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.mjp-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right, rgba(11,20,36,0.72) 0%, rgba(11,20,36,0.55) 40%, rgba(11,20,36,0.15) 100%)}
.mjp-hero-overlay-bottom{position:absolute;bottom:0;left:0;right:0;height:200px;z-index:1;background:linear-gradient(to top, rgba(11,20,36,0.6) 0%, transparent 100%)}

.mjp-hero-inner{position:relative;z-index:2;width:100%;padding:0 72px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:flex-end}
.mjp-hero-left{}
.mjp-hero-sector{display:inline-flex;align-items:center;gap:10px;background:rgba(244,166,29,.12);border:1px solid rgba(244,166,29,.3);border-radius:2px;padding:6px 16px;margin-bottom:26px;animation:fadeUp .5s ease both}
.mjp-hero-sector-txt{font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--amber)}

.mjp-hero h1 .mjp-line-teal{color:var(--teal)}
.mjp-hero h1 .mjp-line-amber{color:var(--amber)}
.mjp-hero-sub{font-size:16px;font-weight:300;line-height:1.85;color:rgba(255,255,255,.65);max-width:500px;margin-bottom:36px;animation:fadeUp .5s .16s ease both}
.mjp-hero-sub strong{color:rgba(255,255,255,.92);font-weight:600}
.mjp-hero-btns{display:flex;gap:12px;animation:fadeUp .5s .24s ease both}
.mjp-btn-intro{
  display:inline-flex;align-items:center;gap:12px;
  background:transparent;
  color:var(--navy);
  padding:13px 16px 13px 20px;
  font-size:11px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;text-decoration:none;
  border:1px solid rgba(27,63,110,.2);
  border-left:3px solid var(--amber);
  transition:background .3s,color .3s,border-color .3s;
}
.mjp-btn-intro::after{
  content:'';
  display:inline-block;
  width:18px;height:18px;
  background:var(--amber);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:background .3s,transform .25s;flex-shrink:0;
}
.mjp-btn-intro:hover{background:var(--navy);color:var(--white);}
.mjp-btn-intro:hover::after{background:var(--amber);transform:translateX(3px);}

.mjp-btn-amber-lg{
  display:inline-flex;align-items:center;gap:12px;
  background:transparent;color:rgba(255,255,255,0.9);
  padding:13px 16px 13px 20px;
  font-size:11px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;text-decoration:none;
  border:1px solid rgba(255,255,255,0.25);
  border-left:3px solid var(--amber);
  transition:background .3s,color .3s,border-color .3s;
}
.mjp-btn-amber-lg::after{
  content:'';
  display:inline-block;
  width:18px;height:18px;
  background:var(--amber);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:background .3s,transform .25s;flex-shrink:0;
}
.mjp-btn-amber-lg:hover{background:var(--amber);color:var(--navy);border-color:var(--amber);}
.mjp-btn-amber-lg:hover::after{background:var(--navy);transform:translateX(3px);}
.mjp-btn-ghost-lg{border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.85);padding:16px 32px;font-size:14px;font-weight:500;text-decoration:none;border-radius:3px;transition:border-color .2s,transform .15s;white-space:nowrap}
.mjp-btn-ghost-lg:hover{border-color:rgba(255,255,255,.6);transform:translateY(-2px)}

.mjp-hero-right{display:flex;flex-direction:column;gap:3px;animation:fadeIn .8s .3s ease both}
.mjp-hero-kpi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--amber);backdrop-filter:blur(8px);padding:22px 28px;display:flex;align-items:center;gap:20px}
.mjp-hero-kpi-num{font-family:'Barlow Condensed',sans-serif;font-size:48px;font-weight:800;color:var(--white);line-height:1;white-space:nowrap}
.mjp-hero-kpi-num sup{font-size:24px;color:var(--amber)}
.mjp-hero-kpi-right{}
.mjp-hero-kpi-label{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.4);line-height:1}
.mjp-hero-kpi-desc{font-size:13px;color:rgba(255,255,255,.55);margin-top:5px;line-height:1.5}

/* ── CERTIFS STRIP ── */
.mjp-certs-strip{
  position:relative;
  z-index:3;
  background:rgba(8,14,24,0.45);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  padding:0 56px;
  display:flex;
  align-items:stretch;
  border-bottom:3px solid var(--amber);
  margin-top:-80px;
}
.mjp-cert-item{display:flex;align-items:center;gap:12px;flex:1;padding:18px 14px;border-right:1px solid rgba(255,255,255,.07)}
.mjp-cert-item:last-child{border-right:none}
.mjp-cert-icon{width:48px;height:48px;border:1px solid rgba(46,196,198,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(160deg, rgba(31,107,255,.22), rgba(142,214,58,.1));}
.mjp-ico{display:block;overflow:visible}
.mjp-rise rect{transform-box:fill-box;transform-origin:center bottom;animation:mjp-rise 2.8s ease-in-out infinite}
.mjp-rise rect:nth-of-type(2){animation-delay:.15s}
.mjp-rise rect:nth-of-type(3){animation-delay:.3s}
@keyframes mjp-rise{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.78)}}
.mjp-cert-body strong{display:block;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--amber)}
.mjp-cert-body span{display:block;font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}

/* ── SECTIONS ── */
.mjp-s-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mjp-s-line{width:22px;height:3px;background:var(--amber);border-radius:2px}
.mjp-s-tag{font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--amber)}
.mjp-s-title{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);line-height:.95}
.mjp-s-title .mjp-t{color:var(--teal)}
.mjp-s-title .mjp-a{color:var(--amber)}
.mjp-s-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px}
.mjp-see-all{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:6px;transition:color .2s;white-space:nowrap}
.mjp-see-all:hover{color:var(--navy)}
.mjp-see-all::after{content:'→';transition:transform .2s}
.mjp-see-all:hover::after{transform:translateX(4px)}

/* ── MARCHÉS (ex services) ── */
/* SECTION 6 */
.mjp-marches{padding:80px 0 80px 72px;background:var(--gray-50);overflow:hidden}
.mjp-s-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:40px;padding-right:72px;gap:40px}
.mjp-s-intro{font-size:14px;line-height:1.8;color:var(--muted);max-width:540px;margin-top:10px}
.mjp-btn-expertise{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--navy);
  color:#ffffff;
  padding:13px 16px 13px 20px;
  font-size:11px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;text-decoration:none;
  border:1px solid var(--navy);
  border-left:3px solid var(--amber);
  align-self:flex-start;
  transition:background .3s,color .3s;
}
.mjp-btn-expertise::after{
  content:'';display:inline-block;width:18px;height:18px;
  background:#ffffff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:background .3s,transform .25s;
}
.mjp-btn-expertise:hover{background:var(--amber);color:var(--navy);border-color:var(--amber);}
.mjp-btn-expertise:hover::after{background:var(--navy);transform:translateX(3px);}

.mjp-btn-see-all{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;background:transparent;color:#2D3A4A;padding:13px 16px 13px 20px;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;border:1px solid rgba(27,63,110,.25);border-left:3px solid var(--amber);transition:background .3s,color .3s;white-space:nowrap}
.mjp-btn-see-all::after{content:'';display:inline-block;width:18px;height:18px;background:var(--amber);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;transition:background .3s,transform .25s}
.mjp-btn-see-all:hover{background:var(--navy);color:var(--white)}
.mjp-btn-see-all:hover::after{background:var(--white);transform:translateX(3px)}
/* Slider wrapper */
.mjp-marches-slider-wrap{position:relative;overflow:hidden}
.mjp-marches-slider{display:flex;gap:20px;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
/* Cards plein fond */
.mjp-marche-card-h{
  position:relative;
  flex:0 0 340px;
  height:420px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .4s cubic-bezier(.25,.46,.45,.94), box-shadow .4s;
}
.mjp-marche-card-h:hover{
  transform:translateY(-10px);
  box-shadow:0 24px 60px rgba(8,14,24,.35);
}
/* Image plein fond */
.mjp-marche-card-h-img{
  position:absolute;inset:0;
  z-index:0;
}
.mjp-marche-card-h-img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.mjp-marche-card-h:hover .mjp-marche-card-h-img img{transform:scale(1.06);}
/* Overlay dégradé bas */
.mjp-marche-card-h-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(8,14,24,0.0) 0%,
    rgba(8,14,24,0.05) 40%,
    rgba(8,14,24,0.55) 100%
  );
  transition:background .4s;
}
.mjp-marche-card-h:hover .mjp-marche-card-h-img::after{
  background:linear-gradient(
    to bottom,
    rgba(8,14,24,0.0) 0%,
    rgba(8,14,24,0.15) 40%,
    rgba(8,14,24,0.70) 100%
  );
}
/* Tag catégorie — numéro discret en haut à gauche */
.mjp-marche-card-h-tag{
  position:absolute;
  top:20px;left:20px;
  z-index:2;
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;
  letter-spacing:3px;
  color:rgba(255,255,255,0.4);
  text-transform:uppercase;
}
/* Trait amber en haut, s'élargit au hover */
.mjp-marche-card-h::before{
  content:'';
  position:absolute;top:0;left:0;right:0;
  height:3px;background:var(--amber);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;
  z-index:3;
}
.mjp-marche-card-h:hover::before{transform:scaleX(1);}
/* Contenu en bas */
.mjp-marche-card-h-body{
  position:absolute;bottom:0;left:0;right:0;
  z-index:2;
  padding:28px 26px;
}
.mjp-marche-card-h-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px;font-weight:800;
  text-transform:uppercase;letter-spacing:1px;
  color:var(--white);
  line-height:1;margin-bottom:10px;
}
.mjp-marche-card-h-desc{
  font-size:12px;line-height:1.7;
  color:rgba(255,255,255,0.6);
  max-height:0;overflow:hidden;
  transition:max-height .4s ease, opacity .4s ease;
  opacity:0;
}
.mjp-marche-card-h:hover .mjp-marche-card-h-desc{max-height:80px;opacity:1;}
.mjp-marche-card-h-tags{
  display:flex;flex-wrap:wrap;gap:5px;
  margin-top:10px;
  opacity:0;transform:translateY(6px);
  transition:opacity .35s .1s, transform .35s .1s;
}
.mjp-marche-card-h:hover .mjp-marche-card-h-tags{opacity:1;transform:translateY(0);}
.mjp-marche-card-h-tags span{
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.2);
  font-size:10px;font-weight:600;
  color:rgba(255,255,255,0.7);
  padding:3px 10px;
  backdrop-filter:blur(4px);
}
/* Contrôles */
.mjp-marches-controls{display:flex;align-items:center;gap:16px;margin-top:28px;padding-right:72px}
.mjp-marches-prev, .mjp-marches-next{width:38px;height:38px;background:transparent;border:1px solid var(--gray-200);border-left:3px solid var(--amber);color:var(--navy);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.mjp-marches-prev:hover, .mjp-marches-next:hover{background:var(--amber);color:var(--navy);border-color:var(--amber)}
.mjp-marches-dots{display:flex;gap:8px}
.mjp-marches-dot{width:6px;height:6px;border-radius:50%;background:var(--gray-200);cursor:pointer;transition:background .2s,transform .2s}
.mjp-marches-dot.mjp-active{background:var(--amber);transform:scale(1.3)}

/* ── SECTION 5 — CIBLES ── */
.mjp-secteurs{
  display:grid;
  grid-template-columns:520px 1fr;
  min-height:520px;
  background:var(--navy-2);
  margin-top:80px;
  padding:0 0 0 0;
}

/* Card fixe gauche */
.mjp-secteurs-intro{
  padding:64px 40px 64px 72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--gray-200);
  background:var(--white);
}
.mjp-secteurs-intro-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:3.5px;
  text-transform:uppercase;
  color:var(--amber);
  margin-bottom:16px;
}
.mjp-secteurs-intro-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:38px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--navy);
  line-height:.95;
  margin-bottom:20px;
}
.mjp-secteurs-intro-title em,
.mjp-s-title em,
.mjp-refs-title em{
  font-style:normal;
  color:var(--teal);
}
.mjp-secteurs-intro-title em{
  display:block;
}
.mjp-secteurs-intro-text{
  font-size:13px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:32px;
}

/* Grille droite — 2x2 */
.mjp-secteurs-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:1px;
  background:rgba(255,255,255,.04);
}
.mjp-secteur{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  min-height:260px;
}
.mjp-secteur-img{position:absolute;inset:0}
.mjp-secteur-img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease, filter .4s ease;
  filter:grayscale(0%) brightness(.85);
}
.mjp-secteur:hover .mjp-secteur-img img{
  transform:scale(1.06);
  filter:grayscale(0%) brightness(.75);
}
/* Overlay dégradé bas */
.mjp-secteur-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(8,14,24,.30) 0%, rgba(8,14,24,.02) 50%, transparent 100%);
}
/* Barre amber gauche au hover */
.mjp-secteur::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--amber);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .4s ease;
  z-index:3;
}
.mjp-secteur:hover::before{transform:scaleY(1);}

.mjp-secteur-body{
  position:absolute;bottom:0;left:0;right:0;
  padding:24px 28px;
  z-index:2;
}
.mjp-secteur-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:3px;
  color:var(--amber);
  opacity:.7;
  margin-bottom:6px;
}
.mjp-secteur-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:26px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--white);
  line-height:1;
  margin-bottom:6px;
  transition:color .3s;
}
.mjp-secteur:hover .mjp-secteur-name{color:var(--amber);}
.mjp-secteur-desc{
  font-size:12px;
  color:rgba(255,255,255,.5);
  line-height:1.55;
  max-width:240px;
  transform:translateY(6px);
  opacity:0;
  transition:opacity .35s ease, transform .35s ease;
}
.mjp-secteur:hover .mjp-secteur-desc{opacity:1;transform:translateY(0);}
/* Flèche coin haut droit */
.mjp-secteur-arrow{
  position:absolute;top:20px;right:20px;
  width:30px;height:30px;
  border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.3);font-size:12px;
  transition:all .3s;z-index:3;
}
.mjp-secteur:hover .mjp-secteur-arrow{
  background:var(--amber);border-color:var(--amber);
  color:var(--navy);transform:rotate(45deg);
}

/* ── EXPERTISE INDUSTRIELLE ── */
.mjp-expertise{display:grid;grid-template-columns:1fr 1fr;min-height:580px}
.mjp-expertise-img{position:relative;overflow:hidden}
.mjp-expertise-img img{width:100%;height:100%;object-fit:cover}
.mjp-expertise-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 70%,var(--gray-50) 100%)}
.mjp-expertise-content{background:var(--gray-50);padding:80px 72px;display:flex;flex-direction:column;justify-content:center}
.mjp-expertise-content .mjp-s-tag{color:var(--teal)}
.mjp-expertise-content .mjp-s-line{background:var(--teal)}
.mjp-expertise-content .mjp-s-title{color:var(--navy)}
.mjp-expertise-text{font-size:15px;line-height:1.9;color:var(--muted);margin-top:16px;margin-bottom:32px}
.mjp-expertise-list{display:flex;flex-direction:column;gap:16px;margin-bottom:36px}
.mjp-exp-item{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:var(--white);border:1px solid var(--gray-200);border-radius:4px;border-left:3px solid var(--teal);transition:border-color .2s,box-shadow .2s}
.mjp-exp-item:hover{border-left-color:var(--amber);box-shadow:0 4px 16px rgba(17,34,64,.07)}
.mjp-exp-item-num{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:var(--teal);line-height:1;flex-shrink:0;width:40px}
.mjp-exp-item-body strong{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:3px}
.mjp-exp-item-body p{font-size:12.5px;color:var(--muted);line-height:1.55}

/* ── CHIFFRES CLÉS ── */
.mjp-kpis{background:#1B3F6E;padding:80px 72px;position:relative;overflow:hidden}
.mjp-kpis-inner{position:relative;z-index:1}
.mjp-kpis-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px}
.mjp-kpis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.mjp-kpi{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-top:3px solid transparent;
  padding:36px 32px;
  transition:border-top-color .3s, background .3s, transform .3s;
}
.mjp-kpi:hover{
  background:rgba(255,255,255,.10);
  border-top-color:var(--amber);
  transform:translateY(-4px);
}
.mjp-kpi-top{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}
.mjp-kpi-num{font-family:'Barlow Condensed',sans-serif;font-size:70px;font-weight:800;color:var(--white);line-height:1}
.mjp-kpi-unit{font-size:28px;font-weight:700;color:var(--amber);font-family:'Barlow Condensed',sans-serif}
.mjp-kpi-lbl{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:10px}
.mjp-kpi-desc{font-size:13px;color:rgba(255,255,255,.4);line-height:1.6}

/* ── RÉFÉRENCES CLIENTS ── */
.mjp-refs{padding:88px 0;background:var(--navy-2);overflow:hidden}
.mjp-refs-header{text-align:center;padding:0 72px;margin-bottom:56px}
.mjp-refs-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:38px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--white);
  line-height:1.05;
  margin-bottom:20px;
}
.mjp-refs-title-acc{color:var(--amber)}
.mjp-refs-intro{
  font-size:14px;line-height:1.85;
  color:rgba(255,255,255,.45);
  max-width:600px;margin:0 auto;
}

/* Tickers */
.mjp-refs-ticker-wrap{display:flex;flex-direction:column;gap:0}
.mjp-refs-ticker{
  padding:18px 0;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
}
.mjp-refs-ticker:last-child{border-bottom:1px solid rgba(255,255,255,.05)}
.mjp-refs-ticker-inner{
  display:flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
}
/* Ligne 1 & 3 : droite vers gauche */
.mjp-refs-ticker-ltr .mjp-refs-ticker-inner{
  animation:tickerLTR 35s linear infinite;
}
/* Ligne 2 : gauche vers droite */
.mjp-refs-ticker-rtl .mjp-refs-ticker-inner{
  animation:tickerRTL 35s linear infinite;
}
.mjp-refs-ticker-inner span{
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.2);
  padding:0 40px;
  position:relative;
  transition:color .3s;
}
.mjp-refs-ticker-inner span::after{
  content:'·';
  position:absolute;right:-4px;
  color:rgba(244,166,29,.3);
  font-size:18px;
}
.mjp-refs-ticker:hover .mjp-refs-ticker-inner span{color:rgba(255,255,255,.35)}
.mjp-refs-ticker-inner span:hover{color:var(--amber) !important}

@keyframes tickerLTR{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@keyframes tickerRTL{
  0%{transform:translateX(-50%)}
  100%{transform:translateX(0)}
}

/* ── RÉALISATIONS ── */
.mjp-reals{padding:88px 72px;background:var(--gray-50)}
.mjp-reals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.mjp-real-card{background:var(--white);border:1px solid var(--gray-200);border-radius:6px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.mjp-real-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(17,34,64,.10)}
.mjp-real-img{height:210px;overflow:hidden;position:relative}
.mjp-real-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mjp-real-card:hover .mjp-real-img img{transform:scale(1.05)}
.mjp-real-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(11,20,36,.35) 100%)}
.mjp-real-body{padding:22px 24px}
.mjp-real-tag{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:6px}
.mjp-real-title{font-size:15px;font-weight:600;color:var(--navy);line-height:1.45;margin-bottom:6px}
.mjp-real-detail{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.mjp-real-detail::before{content:'';width:16px;height:2px;background:var(--amber)}

/* ── CTA FINAL ── */
.mjp-cta{position:relative;overflow:hidden;min-height:460px;display:flex;align-items:center}
.mjp-cta-bg{position:absolute;inset:0}
.mjp-cta-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.mjp-cta-bg-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,20,36,.62) 0%,rgba(11,20,36,.40) 45%,rgba(11,20,36,.08) 100%)}
.mjp-cta-inner{
  position:relative;z-index:2;
  padding:80px 72px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px;
}
.mjp-cta-left{max-width:520px}
.mjp-cta-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:20px;
  flex-shrink:0;
}
.mjp-cta-inner h2{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;text-transform:uppercase;color:var(--white);line-height:.95;margin-bottom:14px;letter-spacing:.5px}
.mjp-cta-inner h2 em{font-style:normal;color:var(--amber)}
.mjp-cta-inner p{font-size:16px;font-weight:300;color:rgba(255,255,255,.6);margin-bottom:36px;line-height:1.75;max-width:540px}
.mjp-cta-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.mjp-cta-tel{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;color:var(--white);text-decoration:none;letter-spacing:1.5px;transition:color .2s}
.mjp-cta-tel:hover{color:var(--amber)}
.mjp-cta-sep{width:1px;height:36px;background:rgba(255,255,255,.2)}

/* ── FOOTER ── */
.mjp-footer{background:var(--navy-2);padding:64px 72px 32px;border-top:3px solid var(--amber)}
.mjp-footer-top{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr;gap:56px;margin-bottom:48px}
.mjp-footer-logo img{height:54px;display:block;margin-bottom:18px}
.mjp-footer-desc{font-size:13px;line-height:1.85;color:rgba(255,255,255,.38)}
.mjp-footer-addr{font-size:12px;color:rgba(255,255,255,.28);line-height:2;margin-top:12px}
.mjp-footer-col h4{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--amber);margin-bottom:22px}
.mjp-footer-col ul{list-style:none}
.mjp-footer-col li{margin-bottom:11px}
.mjp-footer-col a{font-size:13px;color:rgba(255,255,255,.38);text-decoration:none;transition:color .2s}
.mjp-footer-col a:hover{color:var(--white)}
.mjp-footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:24px;display:flex;justify-content:space-between;align-items:center}
.mjp-footer-copy{font-size:12px;color:rgba(255,255,255,.22)}
.mjp-footer-certs{display:flex;gap:8px}
.mjp-footer-cert{border:1px solid rgba(244,166,29,.22);color:var(--amber);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border-radius:2px}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── NEWSLETTER ── */
.mjp-newsletter{background:var(--navy-2);padding:88px 72px;border-top:3px solid var(--amber)}
.mjp-newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.mjp-newsletter-title{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--white);line-height:.95;margin-bottom:16px}
.mjp-newsletter-text{font-size:14px;line-height:1.85;color:rgba(255,255,255,.45)}
.mjp-newsletter-form{display:flex;flex-direction:column;gap:12px}
.mjp-newsletter-field{position:relative}
.mjp-newsletter-input{width:100%;padding:14px 18px;font-size:13px;font-family:'Barlow',sans-serif;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-left:3px solid transparent;color:var(--white);outline:none;transition:border-color .2s}
.mjp-newsletter-input:focus{border-color:var(--gray-200);border-left-color:var(--amber)}
.mjp-newsletter-input::placeholder{color:rgba(255,255,255,.3)}
.mjp-newsletter-mentions{font-size:11px;color:rgba(255,255,255,.25);line-height:1.6}
.mjp-newsletter-mentions a{color:var(--teal);text-decoration:none}
.mjp-newsletter-btn{display:inline-flex;align-items:center;gap:12px;background:transparent;color:rgba(255,255,255,.9);padding:13px 16px 13px 20px;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;border:1px solid rgba(27,63,110,.25);border-left:3px solid var(--amber);cursor:pointer;transition:background .3s,color .3s;font-family:'Barlow',sans-serif;align-self:flex-start}
.mjp-newsletter-btn:hover{background:var(--amber);color:var(--navy)}
.mjp-newsletter-btn svg{transition:transform .25s}
.mjp-newsletter-btn:hover svg{transform:translateX(3px)}
/* ── LÉGAL (modales) ── */
.mjp-legal-modal{position:fixed;inset:0;z-index:9999;background:var(--white);overflow-y:auto}
.mjp-legal-modal-inner{max-width:800px;margin:0 auto;padding:60px 40px}
.mjp-legal-close{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--gray-200);border-left:3px solid var(--amber);padding:10px 20px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;color:var(--navy);margin-bottom:40px;font-family:'Barlow',sans-serif;transition:background .2s}
.mjp-legal-close:hover{background:var(--gray-50)}
.mjp-legal-modal-title{font-family:'Barlow Condensed',sans-serif;font-size:48px;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid var(--gray-100)}
.mjp-legal-content h2{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;color:var(--navy);margin:32px 0 10px;letter-spacing:.5px}
.mjp-legal-content h3{font-size:14px;font-weight:600;color:var(--navy);margin:20px 0 8px}
.mjp-legal-content p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:12px}

/* ── SEO TABS ── */
.mjp-seo-tabs-section{background:var(--gray-50);padding:88px 72px;border-top:1px solid var(--gray-200)}
.mjp-seo-tabs-header{margin-bottom:48px}
.mjp-seo-tabs-title{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin-bottom:12px}
.mjp-seo-tabs-intro{font-size:14px;line-height:1.8;color:var(--muted);max-width:600px}

/* Navigation onglets */
.mjp-seo-tabs-nav{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:0;overflow-x:auto}
.mjp-seo-tab-btn{background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:14px 18px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);cursor:pointer;font-family:'Barlow',sans-serif;white-space:normal;text-align:left;transition:color .2s,border-color .2s}
.mjp-seo-tab-btn:hover{color:var(--navy)}
.mjp-seo-tab-btn.mjp-active{color:var(--navy);border-bottom-color:var(--amber)}

/* Panneaux */
.mjp-seo-tabs-content{border:1px solid var(--gray-200);border-top:none;background:var(--white)}
.mjp-seo-tab-panel{display:none;padding:48px}
.mjp-seo-tab-panel.mjp-active{display:block}
.mjp-seo-tab-body{display:grid;grid-template-columns:1fr 1fr;gap:56px}

/* Texte SEO */
.mjp-seo-tab-text h3{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin-bottom:12px;margin-top:24px}
.mjp-seo-tab-text h3:first-child{margin-top:0}
.mjp-seo-tab-text p{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:12px}

/* FAQ */
.mjp-seo-tab-faq h3{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin-bottom:20px}
.mjp-faq-list{display:flex;flex-direction:column;gap:0}
.mjp-faq-item{border-bottom:1px solid var(--gray-100)}
.mjp-faq-q{width:100%;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;text-align:left;font-family:'Barlow',sans-serif;gap:16px;transition:color .2s}
.mjp-faq-q:hover{color:var(--teal)}
.mjp-faq-arrow{font-size:18px;font-weight:300;flex-shrink:0;color:var(--amber);transition:transform .3s}
.mjp-faq-q.mjp-open .mjp-faq-arrow{transform:rotate(45deg)}
.mjp-faq-a{display:none;padding:0 0 16px}
.mjp-faq-a.mjp-open{display:block}
.mjp-faq-a p{font-size:13px;line-height:1.8;color:var(--muted)}

/* Utilitaires de titre (balises autorisées dans les champs ACF) */
.mjp-teal { color: var(--teal); }
.mjp-amber { color: var(--amber); }
.mjp-s-title.is-light { color: var(--white); }

/* Cadre GeneratePress */
body.mjp-pro {
  margin: 0;
  overflow-x: clip;
}
body.mjp-pro #page,
body.mjp-pro .site,
body.mjp-pro .site-content,
body.mjp-pro .content-area,
body.mjp-pro .site-main,
body.mjp-pro .inside-article,
body.mjp-pro article.page,
body.mjp-pro .entry-content {
  max-width: none;
  width: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
}
body.mjp-pro .site-content {
  display: block;
}
body.mjp-pro h1,
body.mjp-pro h2,
body.mjp-pro h3,
body.mjp-pro h4,
body.mjp-pro p,
body.mjp-pro ul,
body.mjp-pro ol,
body.mjp-pro figure {
  margin-top: 0;
}
body.mjp-pro .mjp-header,
body.mjp-pro .mjp-header *,
body.mjp-pro .mjp-main,
body.mjp-pro .mjp-main *,
body.mjp-pro .mjp-footer,
body.mjp-pro .mjp-footer *,
body.mjp-pro .mjp-legal-modal,
body.mjp-pro .mjp-legal-modal * {
  box-sizing: border-box;
}
body.mjp-pro img {
  max-width: 100%;
}
.mjp-nav-panel {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.mjp-burger {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.25);
  background: transparent;
  padding: 0;
  cursor: pointer;
  position: relative;
}
.mjp-burger span,
.mjp-burger span::before,
.mjp-burger span::after {
  display: block;
  width: 18px;
  height: 1.5px;
  background: #fff;
  position: absolute;
  left: 12px;
}
.mjp-burger span { top: 21px; }
.mjp-burger span::before { content: ""; top: -6px; }
.mjp-burger span::after { content: ""; top: 6px; }
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}
.mjp-page {
  background: var(--white);
  color: var(--text);
  padding: 72px 56px 96px;
}
.mjp-page-wrap {
  max-width: 860px;
  margin: 0 auto;
}
.mjp-page-content p,
.mjp-page-content ul,
.mjp-page-content ol {
  margin: 0 0 1em;
  line-height: 1.75;
  color: var(--muted);
}
.mjp-page-content h2,
.mjp-page-content h3 {
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  color: var(--navy);
  margin: 1.4em 0 .4em;
}
.mjp-page h1 {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 48px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--navy);
  line-height: .95;
  margin-bottom: 28px;
}
.mjp-form-note {
  margin-top: 12px;
  font-size: 13px;
  color: var(--teal);
}
.mjp-footer-addr a {
  color: inherit;
  text-decoration: none;
}
.mjp-footer-addr a:hover { color: var(--white); }
.mjp-footer-copy button {
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  opacity: .6;
  font: inherit;
  cursor: pointer;
}
.mjp-footer-copy button:hover { opacity: 1; }
body.admin-bar .mjp-nav { top: 66px; }
body.admin-bar .mjp-nav.mjp-scrolled { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .mjp-nav { top: 80px; }
  body.admin-bar .mjp-nav.mjp-scrolled { top: 46px; }
}

body.mjp-pro .site-footer {
  display: none;
}
body.mjp-inner .mjp-nav,
body.admin-bar.mjp-inner .mjp-nav,
body.admin-bar.mjp-inner .mjp-nav.mjp-scrolled {
  position: relative;
  top: auto;
  background: var(--navy-2);
}
.mjp-nav-links {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
.mjp-footer-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mjp-page-content ul {
  padding-left: 1.2em;
  list-style: disc;
}
a.mjp-secteur,
a.mjp-marche-card-h,
a.mjp-real-card {
  display: block;
  color: inherit;
  text-decoration: none;
}
.mjp-hp {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}
.mjp-form-note.is-error { color: #f0a0a0; }
.mjp-hero { background: var(--navy-2); }
.mjp-topbar-site {
  text-decoration: none;
}
.mjp-expertise-img { min-height: 280px; }

/* Textes rédigés dans l’admin : gras, italique, souligné, listes et liens. */
.mjp-client a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.mjp-pg-hero .mjp-client a,.mjp-pg-cta .mjp-client a,.mjp-rs-hero .mjp-client a,.mjp-ar-hero .mjp-client a{color:#fff}
.mjp-client p{margin:0 0 .75em}
.mjp-client p:last-child{margin-bottom:0}
.mjp-client ul,.mjp-client ol{margin:0 0 .75em 1.2em}
.mjp-pg-cta .mjp-client,.mjp-pg-cta .mjp-client p{color:rgba(255,255,255,.72);max-width:520px;line-height:1.7;margin:0}
.mjp-pg-cta .mjp-client p+p{margin-top:.75em}
/* ===== responsive.css ===== */
/* Affichage tablette et mobile. Le bureau reste celui de la maquette. */

.mjp-newsletter-mentions button {
	background: none;
	border: 0;
	padding: 0;
	color: var(--teal);
	font: inherit;
	cursor: pointer;
}

.mjp-legal-modal[hidden] {
	display: none !important;
}

.mjp-page-content a {
	color: var(--navy);
}

@media (prefers-reduced-motion: reduce) {
	.mjp-refs-ticker-ltr .mjp-refs-ticker-inner,
	.mjp-refs-ticker-rtl .mjp-refs-ticker-inner,
	.mjp-hero-scroll-line::after,
	.mjp-rise rect {
		animation: none;
	}
}

@media (max-width: 1100px) {
	.mjp-nav {
		padding: 0 28px;
	}

	.mjp-btn-devis {
		margin-left: 32px;
	}

	.mjp-hero h1 .mjp-h1-main {
		font-size: 46px;
	}

	.mjp-expertise,
	.mjp-secteurs,
	.mjp-newsletter-inner,
	.mjp-seo-tab-body,
	.mjp-footer-top {
		grid-template-columns: 1fr;
	}

	.mjp-kpis-grid,
	.mjp-reals-grid {
		grid-template-columns: 1fr 1fr;
	}

	.mjp-expertise-content,
	.mjp-kpis,
	.mjp-reals,
	.mjp-seo-tabs-section,
	.mjp-newsletter,
	.mjp-footer,
	.mjp-cta-inner {
		padding-left: 28px;
		padding-right: 28px;
	}

	.mjp-secteurs-intro {
		padding: 48px 28px;
	}

	.mjp-s-head,
	.mjp-marches-controls {
		padding-right: 28px;
	}

	.mjp-marches {
		padding-left: 28px;
	}

	.mjp-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.mjp-cta-right {
		align-items: flex-start;
	}
}

@media (max-width: 980px) {
	.mjp-topbar {
		height: auto;
		min-height: 34px;
		padding: 8px 20px;
		flex-wrap: wrap;
		gap: 8px 16px;
	}

	.mjp-burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	body.mjp-pro .mjp-nav,
	body.mjp-pro .mjp-nav.mjp-scrolled,
	body.admin-bar .mjp-nav,
	body.admin-bar .mjp-nav.mjp-scrolled {
		position: sticky;
		top: 0;
		height: 64px;
		padding: 0 20px;
		background: rgba(8, 14, 24, 0.96);
	}

	.mjp-nav-panel {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 8px 20px 24px;
		background: rgba(8, 14, 24, 0.98);
	}

	.mjp-nav.is-open .mjp-nav-panel {
		display: flex;
	}

	.mjp-nav-links {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		margin: 12px 0;
	}

	.mjp-btn-devis {
		margin-left: 0;
	}

	.mjp-hero {
		height: auto;
		min-height: 70vh;
	}

	.mjp-hero-h1-wrap {
		left: 20px !important;
		right: 20px !important;
		top: 28px;
	}

	.mjp-hero h1 .mjp-h1-main {
		font-size: 34px;
		letter-spacing: 1px;
	}

	.mjp-hero h1 .mjp-h1-location {
		font-size: 16px;
		letter-spacing: 3px;
	}

	.mjp-hero-bottom {
		padding: 0 20px 72px;
	}

	.mjp-certs-strip {
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin-top: 0;
		padding: 0 12px;
		background: #1B3F6E;
	}

	.mjp-cert-item {
		border-right: 1px solid rgba(255, 255, 255, 0.07);
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
		padding: 14px 10px;
	}

	.mjp-cert-item:nth-child(2n) {
		border-right: 0;
	}

	.mjp-cert-item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		border-right: 0;
	}

	.mjp-cert-icon {
		width: 40px;
		height: 40px;
	}

	.mjp-secteurs {
		margin-top: 0;
	}

	.mjp-secteurs-grid,
	.mjp-kpis-grid,
	.mjp-reals-grid,
	.mjp-footer-top {
		grid-template-columns: 1fr;
	}

	.mjp-marches {
		padding: 48px 0 48px 20px;
	}

	.mjp-s-head {
		flex-direction: column;
		align-items: flex-start;
		padding-right: 20px;
		gap: 20px;
	}

	.mjp-btn-see-all {
		white-space: normal;
	}

	.mjp-expertise-img {
		min-height: 240px;
	}

	.mjp-expertise-content,
	.mjp-kpis,
	.mjp-reals,
	.mjp-seo-tabs-section,
	.mjp-newsletter,
	.mjp-footer,
	.mjp-page {
		padding: 48px 20px;
	}

	.mjp-seo-tab-panel {
		padding: 24px 20px;
	}

	.mjp-cta-inner {
		padding: 56px 20px;
	}

	.mjp-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.mjp-refs-header {
		padding: 0 20px;
	}

	.mjp-refs-title,
	.mjp-s-title,
	.mjp-newsletter-title,
	.mjp-seo-tabs-title,
	.mjp-secteurs-intro-title,
	.mjp-cta-inner h2,
	.mjp-page h1 {
		font-size: 32px;
	}

	.mjp-kpi-num {
		font-size: 52px;
	}

	.mjp-legal-modal-inner {
		padding: 32px 20px;
	}

	.mjp-legal-modal-title {
		font-size: 36px;
	}
}
/* ===== chrome.css ===== */
/* Header et footer, d'après les maquettes finales. */

.mjp-tb {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 7px 40px;
	background: #0f2748;
	color: rgba(255, 255, 255, 0.75);
	font-size: 12px;
}

.mjp-tb a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.mjp-tb svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: var(--amber);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mjp-tb-right {
	display: flex;
	align-items: center;
	gap: 18px;
}

.mjp-tb-site {
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
}

.mjp-tb-site .mjp-ext {
	width: 11px;
	height: 11px;
	stroke: rgba(255, 255, 255, 0.5);
}

.mjp-tb-site:hover .mjp-ext {
	stroke: var(--amber);
}

.mjp-tb-div {
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, 0.25);
}

.mjp-hd {
	position: sticky;
	top: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	height: 84px;
	padding: 0 40px;
	background: #1B3F6E;
}

body.admin-bar .mjp-hd {
	top: 32px;
}

.mjp-hd-logo {
	display: flex;
	align-items: center;
	margin-right: auto;
}

.mjp-hd-logo img,
.mjp-ft-logo img {
	height: 68px;
	width: auto;
	display: block;
}

.mjp-ft-logo img {
	height: 88px;
}

.mjp-hd-nav {
	display: flex;
	align-items: center;
}

.mjp-hd-group {
	display: flex;
	align-items: center;
	gap: 2px;
}

.mjp-hd-sep {
	width: 1px;
	height: 30px;
	margin: 0 18px;
	background: rgba(255, 255, 255, 0.2);
}

.mjp-hd-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
	white-space: nowrap;
	text-decoration: none;
}

.mjp-hd-item svg,
.mjp-ft-list svg,
.mjp-ft-contact svg,
.mjp-ft-site svg,
.mjp-ft-social svg,
.mjp-ft-btn svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mjp-hd-item svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.mjp-hd-item::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 2px;
	height: 2px;
	background: var(--amber);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s;
}

.mjp-hd-item:hover,
.mjp-hd-item.is-current {
	color: #fff;
}

.mjp-hd-item:hover svg,
.mjp-hd-item.is-current svg {
	stroke: var(--amber);
}

.mjp-hd-item:hover::after,
.mjp-hd-item.is-current::after {
	transform: scaleX(1);
}

.mjp-hd-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 12px;
	padding: 11px 18px;
	background: var(--amber);
	border-left: 3px solid #fff;
	color: var(--navy);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.mjp-hd-cta svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: var(--navy);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mjp-hd-cta:hover {
	background: #ffb94a;
	color: var(--navy);
}

.mjp-hd-burger {
	display: none;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	margin-left: 12px;
	padding: 0;
	border: 1px solid rgba(46, 196, 160, 0.55);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.06);
	cursor: pointer;
}

.mjp-hd-burger svg {
	width: 28px;
	height: 28px;
	stroke: none;
}

.mjp-hd-burger:hover,
.mjp-hd-burger[aria-expanded="true"] {
	background: rgba(255, 255, 255, 0.12);
	border-color: #F5A623;
}

.mjp-hero-h1-wrap {
	left: 40px;
	right: 48px;
}

.mjp-ft {
	background: #0a1628;
	color: rgba(255, 255, 255, 0.62);
	font-size: 13px;
}

.mjp-ft-top {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 56px;
	align-items: center;
	padding: 44px 56px;
	background: var(--navy);
	border-bottom: 4px solid var(--amber);
}

.mjp-ft-top h2 {
	margin: 0 0 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.mjp-ft-top h2 em {
	font-style: normal;
	color: var(--amber);
}

.mjp-ft-top p,
.mjp-ft-nl p {
	margin: 0;
	max-width: 520px;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72);
}

.mjp-ft-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 20px;
}

.mjp-ft-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	background: var(--amber);
	border-left: 3px solid #fff;
	color: var(--navy);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.mjp-ft-btn svg {
	width: 16px;
	height: 16px;
}

.mjp-ft-btn.is-ghost {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-left: 3px solid var(--amber);
	color: #fff;
}

.mjp-ft-nl h3 {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #fff;
}

.mjp-ft-nl p {
	margin-bottom: 14px;
	font-size: 13px;
}

.mjp-ft-form {
	display: flex;
}

.mjp-ft-form input[type="email"] {
	flex: 1;
	min-width: 0;
	padding: 13px 16px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-right: 0;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
}

.mjp-ft-form button {
	padding: 0 22px;
	border: 0;
	background: var(--amber);
	color: var(--navy);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.mjp-ft-nl small {
	display: block;
	margin-top: 10px;
	font-size: 11px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.5);
}

.mjp-ft-nl small a,
.mjp-ft-nl small button {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.mjp-ft-main {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 48px;
	padding: 64px 56px 44px;
}

.mjp-ft-logo {
	display: inline-flex;
	margin-bottom: 18px;
}

.mjp-ft-brand p,
.mjp-ft-brand .mjp-client p {
	max-width: 340px;
	margin: 0 0 22px;
	line-height: 1.75;
}

.mjp-ft-social {
	display: flex;
	gap: 10px;
}

.mjp-ft-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
}

.mjp-ft-social a:hover {
	background: var(--amber);
	border-color: var(--amber);
	color: var(--navy);
}

.mjp-ft-social svg {
	width: 17px;
	height: 17px;
}

.mjp-ft h3 {
	position: relative;
	margin: 0 0 8px;
	padding-bottom: 12px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #fff;
}

.mjp-ft h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 26px;
	height: 3px;
	background: var(--amber);
}

.mjp-ft-list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.mjp-ft-list li {
	margin-bottom: 11px;
}

.mjp-ft-list a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: rgba(255, 255, 255, 0.62);
	text-decoration: none;
}

.mjp-ft-list svg {
	width: 15px;
	height: 15px;
	color: rgba(255, 255, 255, 0.35);
}

.mjp-ft-list a:hover {
	color: #fff;
}

.mjp-ft-list a:hover svg {
	color: var(--amber);
}

.mjp-ft-contact {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 14px;
}

.mjp-ft-contact div {
	display: flex;
	gap: 12px;
	line-height: 1.55;
}

.mjp-ft-contact svg {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--amber);
	flex-shrink: 0;
}

.mjp-ft-contact a {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.mjp-ft-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	margin: 0 56px;
	padding: 28px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mjp-ft-band-block,
.mjp-ft-agr {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.mjp-ft-agr {
	gap: 10px;
}

.mjp-ft-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.mjp-ft-site {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 11px 18px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.mjp-ft-site svg {
	width: 17px;
	height: 17px;
	color: var(--amber);
}

.mjp-ft-site .mjp-ext {
	width: 12px;
	height: 12px;
	color: rgba(255, 255, 255, 0.5);
}

.mjp-ft-agr span {
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-left: 3px solid var(--amber);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: #fff;
}

.mjp-ft-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding: 22px 56px 26px;
	font-size: 12px;
}

.mjp-ft-legal {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
}

.mjp-ft-legal a,
.mjp-ft-legal button {
	padding: 0;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, 0.55);
	font: inherit;
	text-decoration: none;
	cursor: pointer;
}

.mjp-ft-legal a:hover,
.mjp-ft-legal button:hover {
	color: #fff;
}

.mjp-ft-credit a {
	color: var(--amber);
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 1440px) {
	.mjp-hd-item {
		gap: 6px;
		padding: 10px 8px;
	}
}

@media (max-width: 1330px) {
	.mjp-hd {
		padding-left: 22px;
		padding-right: 22px;
	}

	.mjp-hd-item {
		gap: 5px;
		padding: 10px 6px;
		font-size: 12.5px;
	}

	.mjp-hd-item svg {
		width: 16px;
		height: 16px;
	}
}

@media (max-width: 1180px) {
	.mjp-tb,
	.mjp-hd {
		padding-left: 20px;
		padding-right: 20px;
	}

	.mjp-hd-burger {
		display: flex;
	}

	.mjp-hd-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		padding: 12px 20px 20px;
		background: #1B3F6E;
	}

	.mjp-hd.is-open .mjp-hd-nav {
		display: flex;
	}

	.mjp-hd-group {
		flex-direction: column;
		align-items: flex-start;
	}

	.mjp-hd-sep {
		width: 100%;
		height: 1px;
		margin: 8px 0;
	}

	.mjp-hd-cta {
		margin: 8px 0 0;
	}
}

@media (max-width: 782px) {
	body.admin-bar .mjp-hd {
		top: 46px;
	}
}

@media (max-width: 700px) {
	.mjp-tb {
		gap: 8px;
		padding-left: 12px;
		padding-right: 12px;
	}

	.mjp-tb > span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.mjp-tb-right {
		flex-shrink: 0;
	}

	.mjp-tb a.mjp-tb-site,
	.mjp-tb-div {
		display: none;
	}
}

.mjp-tabbar {
	display: none;
}

@media (max-width: 1180px) {
	.mjp-tabbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 110;
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		height: calc(68px + env(safe-area-inset-bottom));
		padding-bottom: env(safe-area-inset-bottom);
		background: #fff;
		border-top: 1px solid rgba(27, 63, 110, 0.14);
		box-shadow: 0 -6px 24px rgba(15, 39, 72, 0.14);
	}

	.mjp-tabbar a {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		min-width: 0;
		padding: 0 2px;
		color: #1B3F6E;
		font-size: 9.5px;
		font-weight: 700;
		line-height: 1.05;
		text-align: center;
		text-decoration: none;
	}

	.mjp-tabbar a span {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.mjp-tabbar a svg {
		width: 22px;
		height: 22px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.mjp-tabbar a::before {
		content: "";
		position: absolute;
		top: 0;
		left: 18%;
		right: 18%;
		height: 3px;
		background: var(--amber);
		transform: scaleX(0);
		transition: transform 0.25s;
	}

	.mjp-tabbar a.is-on {
		background: #F7F1DC;
	}

	.mjp-tabbar a.is-on::before {
		transform: scaleX(1);
	}

	.mjp-tabbar a.is-on svg {
		color: var(--teal);
	}

	.mjp-tabbar a.is-contact {
		background: var(--amber);
		color: #1B3F6E;
	}

	.mjp-tabbar a.is-contact::before {
		display: none;
	}

	.mjp-tabbar a.is-contact.is-on {
		background: #ffb94a;
	}

	body.mjp-pro {
		padding-bottom: calc(68px + env(safe-area-inset-bottom));
	}

	.mjp-consent {
		bottom: calc(84px + env(safe-area-inset-bottom));
		z-index: 120;
	}
}

@media (max-width: 1000px) {
	.mjp-ft-top,
	.mjp-ft-main {
		grid-template-columns: 1fr 1fr;
		padding-left: 24px;
		padding-right: 24px;
	}

	.mjp-ft-top {
		grid-template-columns: 1fr;
	}

	.mjp-ft-band {
		margin-left: 24px;
		margin-right: 24px;
	}

	.mjp-ft-bottom {
		padding-left: 24px;
		padding-right: 24px;
	}
}

@media (max-width: 620px) {
	.mjp-ft-main {
		grid-template-columns: 1fr;
	}
}
/* ===== pages.css ===== */
/* Pages intérieures : réalisations, actualités, contact, pages légales. */

.mjp-pg svg,
.mjp-sv svg,
.mjp-rs svg,
.mjp-ar svg,
.mjp-consent svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mjp-pg-hero{
  background:linear-gradient(135deg,var(--navy) 0%,#2b6a8f 60%,var(--teal) 100%);
  padding:56px 72px 64px;
  color:#fff;
}
.mjp-pg-crumb{font-size:12px;letter-spacing:.8px;color:rgba(255,255,255,.7);margin:0 0 22px}
.mjp-pg-crumb a{color:#fff;font-weight:600}
.mjp-pg-crumb a:hover{text-decoration:underline}
.mjp-pg-hero h1{
  font-family:'Barlow Condensed',sans-serif;
  font-size:64px;font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:.5px;margin:0;
}
.mjp-pg-hero h1 em{font-style:normal;color:var(--amber)}
.mjp-pg-hero p{margin:16px 0 0;max-width:620px;font-size:16px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.85)}

.mjp-pg-wrap{padding:88px 72px}
.mjp-pg-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--navy);color:#fff;font-weight:700;font-size:13px;letter-spacing:.4px;
  padding:14px 24px;border-left:4px solid var(--amber);border-top:0;border-right:0;border-bottom:0;
  cursor:pointer;font-family:'Barlow',sans-serif;transition:background .25s,transform .25s;
}
.mjp-pg-btn svg{width:16px;height:16px}
.mjp-pg-btn:hover{background:#0F2748;color:#fff;transform:translateX(3px)}
.mjp-pg-btn.is-amber{background:var(--amber);color:var(--navy);border-left-color:#fff}
.mjp-pg-btn.is-amber:hover{background:#ffb94a;color:var(--navy)}
.mjp-pg-btn.is-ghost{background:transparent;color:var(--navy);border:2px solid var(--navy);border-left:4px solid var(--amber)}
.mjp-pg-btn.is-ghost:hover{background:var(--navy);color:#fff}

.mjp-pg-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.mjp-pg-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border:1px solid rgba(27,63,110,.14);background:#fff;color:var(--navy);
  font-size:13px;font-weight:600;cursor:pointer;font-family:'Barlow',sans-serif;transition:border-color .2s,background .2s,color .2s;
}
.mjp-pg-chip svg{width:16px;height:16px}
.mjp-pg-chip:hover{border-color:var(--teal)}
.mjp-pg-chip.is-on{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:inset 0 -3px 0 var(--amber)}

.mjp-pg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mjp-pg-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid rgba(27,63,110,.14);overflow:hidden;
  color:inherit;transition:box-shadow .3s,transform .25s;
}
a.mjp-pg-card:hover{box-shadow:0 12px 36px rgba(27,63,110,.12);transform:translateY(-4px);color:inherit}
.mjp-pg-card[hidden]{display:none !important}
.mjp-pg-photo{
  height:210px;background:linear-gradient(135deg,var(--g1,#1B3F6E),var(--g2,#4AB8C1));
  display:flex;align-items:flex-end;justify-content:space-between;padding:14px;background-size:cover;background-position:center;
}
.mjp-pg-badge{
  align-self:flex-start;
  background:rgba(255,255,255,.94);color:var(--navy);
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;
}
.mjp-pg-badge.is-amber{background:var(--amber)}
.mjp-pg-badge.is-solid{background:var(--navy);color:#fff}
.mjp-pg-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.mjp-pg-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted);margin-bottom:10px}
.mjp-pg-meta span{display:inline-flex;align-items:center;gap:6px}
.mjp-pg-meta svg{width:14px;height:14px;color:var(--teal)}
.mjp-pg-card h2,.mjp-pg-card h3,.mjp-pg-feat-body h2,.mjp-pg-feat-body h3,.mjp-pg-feat2-body h2,.mjp-pg-feat2-body h3{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;color:var(--navy);margin:0 0 10px;
}
.mjp-pg-card h2,.mjp-pg-card h3{font-size:23px;letter-spacing:.4px;line-height:1.05}
.mjp-pg-card h2 em,.mjp-pg-card h3 em,.mjp-pg-feat-body h2 em,.mjp-pg-feat2-body h2 em{font-style:normal;color:var(--teal)}
.mjp-pg-card p{font-size:13.5px;line-height:1.7;color:var(--muted);margin:0 0 16px}
.mjp-pg-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;margin-bottom:14px}
.mjp-pg-tags span{font-size:11px;font-weight:600;color:var(--navy);background:#F7F1DC;padding:4px 10px}
.mjp-pg-more{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal)}
.mjp-pg-more svg{width:14px;height:14px}
a.mjp-pg-card:hover .mjp-pg-more{color:var(--amber)}

.mjp-pg-feat{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid rgba(27,63,110,.14);margin-bottom:56px;background:#F7F1DC}
.mjp-pg-feat-photo{min-height:380px;background:linear-gradient(135deg,#1B3F6E,#4AB8C1);display:flex;align-items:flex-end;justify-content:space-between;padding:20px;background-size:cover;background-position:center}
.mjp-pg-feat-body{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.mjp-pg-feat-body h2,.mjp-pg-feat-body h3{font-size:38px;line-height:1;margin:10px 0 14px}
.mjp-pg-feat-body p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.mjp-pg-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.mjp-pg-facts div{border-left:3px solid var(--amber);padding-left:12px}
.mjp-pg-facts b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;color:var(--navy)}
.mjp-pg-facts span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.mjp-pg-count{font-size:13px;color:var(--muted);margin:0 0 18px}

.mjp-pg-layout{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.mjp-pg-layout .mjp-pg-grid{grid-template-columns:repeat(2,1fr)}
.mjp-pg-side{display:flex;flex-direction:column;gap:24px;position:sticky;top:96px}
.mjp-pg-box{border:1px solid rgba(27,63,110,.14);padding:24px;background:#fff}
.mjp-pg-box h2{
  font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--navy);margin:0 0 14px;padding-bottom:10px;border-bottom:3px solid var(--amber);display:inline-block;
}
.mjp-pg-search{display:flex;min-width:0;max-width:100%}
.mjp-pg-search input{flex:1;min-width:0;max-width:100%;padding:12px 14px;border:1px solid rgba(27,63,110,.14);border-right:none;font-family:'Barlow',sans-serif;font-size:14px;box-sizing:border-box}
.mjp-pg-search button{width:46px;border:none;background:var(--navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mjp-pg-search svg{width:18px;height:18px}
.mjp-pg-themes{display:flex;flex-direction:column;gap:2px}
.mjp-pg-themes button{
  display:flex;justify-content:space-between;width:100%;padding:10px 0;border:0;border-bottom:1px solid rgba(27,63,110,.14);
  background:transparent;font-family:'Barlow',sans-serif;font-size:14px;color:var(--navy);font-weight:500;cursor:pointer;text-align:left;
}
.mjp-pg-themes button span{color:var(--muted);font-size:12px}
.mjp-pg-themes button:hover,.mjp-pg-themes button.is-on{color:var(--teal)}
.mjp-pg-box.is-nl{background:var(--navy);border-color:var(--navy);color:#fff}
.mjp-pg-box.is-nl h2{color:#fff}
.mjp-pg-box.is-nl p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 14px}
.mjp-pg-box.is-nl input{width:100%;padding:12px 14px;border:none;margin-bottom:10px;font-family:'Barlow',sans-serif;font-size:14px}
.mjp-pg-box.is-nl .mjp-pg-btn{width:100%;justify-content:center}
.mjp-pg-feat2{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid rgba(27,63,110,.14);margin-bottom:44px;background:#F7F1DC}
.mjp-pg-feat2-photo{min-height:300px;background:linear-gradient(135deg,#1B3F6E,#4AB8C1);display:flex;align-items:flex-end;padding:18px;background-size:cover;background-position:center}
.mjp-pg-feat2-body{padding:34px;display:flex;flex-direction:column;justify-content:center}
.mjp-pg-feat2-body h2,.mjp-pg-feat2-body h3{font-size:32px;line-height:1;margin:10px 0 12px}
.mjp-pg-feat2-body p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 18px}
.mjp-pg-pager{display:flex;gap:8px;justify-content:center;margin-top:44px}
.mjp-pg-pager:empty{display:none}
.mjp-pg-pager button{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(27,63,110,.14);background:#fff;font-weight:600;color:var(--navy);cursor:pointer;font-family:'Barlow',sans-serif;
}
.mjp-pg-pager button.is-on{background:var(--navy);color:#fff;border-color:var(--navy)}

.mjp-pg-cta{background:var(--navy)}
.mjp-pg-cta-in{padding:72px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.mjp-pg-cta h2{font-family:'Barlow Condensed',sans-serif;font-size:48px;font-weight:800;text-transform:uppercase;line-height:.95;color:#fff;margin:0 0 12px}
.mjp-pg-cta h2 em{font-style:normal;color:var(--amber)}
.mjp-pg-cta p{color:rgba(255,255,255,.72);max-width:520px;line-height:1.7;margin:0}
.mjp-pg-cta-r{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}
.mjp-pg-cta-tel{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;letter-spacing:1.5px;color:#fff}

.mjp-pg-cgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
.mjp-pg-form{border:1px solid rgba(27,63,110,.14);padding:40px;background:#fff;border-top:4px solid var(--amber)}
.mjp-pg-form h2{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:800;text-transform:uppercase;color:var(--navy);margin:0 0 6px}
.mjp-pg-form > p{font-size:14px;color:var(--muted);margin:0 0 26px;line-height:1.6}
.mjp-pg-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mjp-pg-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.mjp-pg-field label{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--navy)}
.mjp-pg-field label i{color:#c0392b;font-style:normal}
.mjp-pg-field input,.mjp-pg-field select,.mjp-pg-field textarea{
  padding:13px 14px;border:1px solid rgba(27,63,110,.25);background:#fff;font-family:'Barlow',sans-serif;font-size:14px;color:var(--text);width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.mjp-pg-field textarea{min-height:140px;resize:vertical}
.mjp-pg-field input:focus,.mjp-pg-field select:focus,.mjp-pg-field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(74,184,193,.2)}
.mjp-pg-radios{display:flex;flex-wrap:wrap;gap:10px}
.mjp-pg-radios label{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(27,63,110,.14);
  font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;cursor:pointer;color:var(--navy);
}
.mjp-pg-radios input{width:auto;accent-color:var(--navy)}
.mjp-pg-rgpd{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.6;color:var(--muted);margin:6px 0 22px}
.mjp-pg-rgpd input{margin-top:3px;accent-color:var(--navy)}
.mjp-pg-rgpd a{color:var(--teal);text-decoration:underline}
.mjp-pg-alert{padding:12px 14px;margin:0 0 18px;font-size:14px;line-height:1.5}
.mjp-pg-alert.is-ok{background:#eef8e8;color:#24520f;border-left:4px solid var(--green)}
.mjp-pg-alert.is-err{background:#fdecea;color:#8a1f14;border-left:4px solid #c0392b}
.mjp-pg-sidec{display:flex;flex-direction:column;gap:22px}
.mjp-pg-info{background:#F7F1DC;padding:30px}
.mjp-pg-info h2{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--navy);margin:0 0 18px}
.mjp-pg-info .mjp-pg-line{display:flex;gap:14px;margin-bottom:16px;font-size:14px;line-height:1.55;color:var(--text)}
.mjp-pg-info .mjp-pg-line svg{width:20px;height:20px;color:var(--amber);flex-shrink:0;margin-top:2px}
.mjp-pg-info .mjp-pg-line a{font-weight:700;color:var(--navy)}
.mjp-pg-urgent{background:var(--navy);color:#fff;padding:28px 30px;border-left:5px solid var(--amber)}
.mjp-pg-urgent h2{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;display:flex;align-items:center;gap:10px}
.mjp-pg-urgent h2 svg{width:22px;height:22px;color:var(--amber)}
.mjp-pg-urgent p{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.78);margin:0 0 14px}
.mjp-pg-urgent a{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;letter-spacing:1.5px;color:#fff}
.mjp-pg-map{height:340px;background:linear-gradient(135deg,#dfeaf3,#c8dcea);position:relative;margin:0 72px 88px;border:1px solid rgba(27,63,110,.14);overflow:hidden}
.mjp-pg-map::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 40px,rgba(27,63,110,.05) 40px 41px)}
.mjp-pg-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mjp-pg-pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;z-index:1}
.mjp-pg-pin b{background:var(--navy);color:#fff;font-size:12px;padding:8px 14px;border-bottom:3px solid var(--amber);white-space:nowrap}
.mjp-pg-pin svg{width:34px;height:34px;color:var(--amber);fill:var(--amber);stroke:var(--navy)}

.mjp-pg-lg{display:grid;grid-template-columns:280px 1fr;gap:56px;padding:72px;align-items:start}
.mjp-pg-lg-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.mjp-pg-lg-nav{border:1px solid rgba(27,63,110,.14)}
.mjp-pg-lg-nav a{
  display:flex;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:600;color:var(--navy);
  border-bottom:1px solid rgba(27,63,110,.14);border-left:3px solid transparent;
}
.mjp-pg-lg-nav a:last-child{border-bottom:none}
.mjp-pg-lg-nav a svg{width:18px;height:18px;color:var(--teal);flex-shrink:0}
.mjp-pg-lg-nav a:hover{background:#F7F1DC;color:var(--navy)}
.mjp-pg-lg-nav a.is-on{background:#F7F1DC;border-left-color:var(--amber)}
.mjp-pg-toc{border:1px solid rgba(27,63,110,.14);padding:20px 22px}
.mjp-pg-toc h2{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--navy);margin:0 0 10px}
.mjp-pg-toc a{display:block;font-size:13px;color:var(--muted);padding:6px 0;border-bottom:1px dashed rgba(27,63,110,.14)}
.mjp-pg-toc a:last-child{border-bottom:none}
.mjp-pg-toc a:hover{color:var(--teal)}
.mjp-pg-doc{max-width:820px}
.mjp-pg-doc .mjp-pg-upd{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 30px}
.mjp-pg-doc h2{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:800;text-transform:uppercase;color:var(--navy);margin:44px 0 14px;padding-left:16px;border-left:5px solid var(--amber);line-height:1.05}
.mjp-pg-doc h2:first-of-type{margin-top:0}
.mjp-pg-doc h3{font-size:16px;font-weight:700;color:var(--navy);margin:22px 0 8px}
.mjp-pg-doc p,.mjp-pg-doc li{font-size:15px;line-height:1.85;color:#2c3a4e}
.mjp-pg-doc p{margin:0 0 12px}
.mjp-pg-doc ul{margin:0 0 14px 22px}
.mjp-pg-doc a{color:var(--teal);text-decoration:underline}
.mjp-pg-doc table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:14px}
.mjp-pg-doc th{background:var(--navy);color:#fff;text-align:left;padding:12px 14px;font-weight:600;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.mjp-pg-doc td{padding:12px 14px;border-bottom:1px solid rgba(27,63,110,.14);vertical-align:top;line-height:1.6;color:#2c3a4e}
.mjp-pg-doc tr:nth-child(even) td{background:#fafbfc}
.mjp-pg-id{background:#F7F1DC;border-left:4px solid var(--amber);padding:8px 24px;margin:12px 0 18px}
.mjp-pg-id div{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:8px 0;font-size:14.5px}
.mjp-pg-id b{color:var(--navy)}

.mjp-pg-sw{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}
.mjp-pg-sw input{opacity:0;width:0;height:0}
.mjp-pg-sw span{position:absolute;inset:0;background:#c5cfdb;border-radius:28px;cursor:pointer;transition:background .25s}
.mjp-pg-sw span::before{content:'';position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .25s}
.mjp-pg-sw input:checked+span{background:var(--navy)}
.mjp-pg-sw input:checked+span::before{transform:translateX(22px)}
.mjp-pg-sw input:disabled+span{opacity:.6;cursor:not-allowed}
.mjp-pg-pref{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid rgba(27,63,110,.14);border-left:4px solid var(--amber);margin-bottom:12px;background:#fff}
.mjp-pg-pref h3{margin:0 0 4px}
.mjp-pg-pref p{margin:0;font-size:14px}
.mjp-pg-pref .mjp-pg-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:#F7F1DC;color:var(--navy);padding:3px 8px;margin-left:8px;vertical-align:middle}
.mjp-pg-acts{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 8px}
.mjp-pg-banner{margin:28px 0 0;background:#0A1628;color:#fff;padding:24px 28px;display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:4px solid var(--amber);flex-wrap:wrap}
.mjp-pg-banner svg{width:30px;height:30px;color:var(--amber);flex-shrink:0}
.mjp-pg-banner .mjp-pg-tx{display:flex;gap:16px;align-items:flex-start;flex:1;min-width:0}
.mjp-pg-banner p{color:rgba(255,255,255,.8);font-size:13.5px;line-height:1.6;margin:0}
.mjp-pg-banner b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:19px;letter-spacing:1px;text-transform:uppercase;margin-bottom:3px}
.mjp-pg-banner .mjp-pg-ba{display:flex;gap:10px;flex-wrap:wrap}
.mjp-pg-banner .mjp-pg-btn{padding:11px 16px}
.mjp-pg-banner .mjp-pg-btn.is-ghost{color:#fff;border-color:rgba(255,255,255,.4);border-left-color:var(--amber)}
.mjp-pg-banner .mjp-pg-btn.is-ghost:hover{background:#fff;color:var(--navy)}

.mjp-pg-sm{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.mjp-pg-blk{border:1px solid rgba(27,63,110,.14);border-top:4px solid var(--amber);padding:24px 26px;background:#fff}
.mjp-pg-blk h3{margin:0 0 12px;font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--navy);display:flex;align-items:center;gap:10px}
.mjp-pg-blk h3 svg{width:20px;height:20px;color:var(--teal)}
.mjp-pg-blk ul{list-style:none;margin:0;padding:0}
.mjp-pg-blk li{padding:9px 0;border-bottom:1px solid rgba(27,63,110,.14);font-size:14.5px}
.mjp-pg-blk li:last-child{border-bottom:none}
.mjp-pg-blk li a{color:var(--navy);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:8px}
.mjp-pg-blk li a::before{content:'›';color:var(--amber);font-weight:700}
.mjp-pg-blk li a:hover{color:var(--teal)}
.mjp-pg-blk ul ul{margin:6px 0 0 18px}
.mjp-pg-ext{font-size:10px;color:var(--muted);margin-left:auto;letter-spacing:1px;text-transform:uppercase}

.mjp-consent[hidden]{display:none !important}
.mjp-consent{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:80;
  background:#0A1628;color:#fff;padding:22px 24px;display:flex;gap:24px;align-items:center;justify-content:space-between;
  border-top:4px solid var(--amber);flex-wrap:wrap;box-shadow:0 16px 40px rgba(0,0,0,.25);
}
.mjp-consent svg{width:30px;height:30px;color:var(--amber);flex-shrink:0}
.mjp-consent-tx{display:flex;gap:16px;align-items:flex-start;flex:1;min-width:0}
.mjp-consent b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:19px;letter-spacing:1px;text-transform:uppercase;margin-bottom:3px}
.mjp-consent p{margin:0;color:rgba(255,255,255,.8);font-size:13.5px;line-height:1.6}
.mjp-consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.mjp-consent .mjp-pg-btn{padding:11px 16px}
.mjp-consent .mjp-pg-btn.is-ghost{color:#fff;border-color:rgba(255,255,255,.4);border-left-color:var(--amber)}

@media(max-width:1100px){
  .mjp-pg-hero,.mjp-pg-wrap,.mjp-pg-cta-in,.mjp-pg-lg{padding-left:24px;padding-right:24px}
  .mjp-pg-hero h1{font-size:44px}
  .mjp-pg-grid,.mjp-pg-layout,.mjp-pg-layout .mjp-pg-grid,.mjp-pg-feat,.mjp-pg-feat2,.mjp-pg-cgrid,.mjp-pg-lg,.mjp-pg-sm{grid-template-columns:1fr}
  .mjp-pg-lg > *,
  .mjp-pg-doc,
  .mjp-pg-lg-nav,
  .mjp-pg-lg-nav a,
  .mjp-sv-fam,
  .mjp-sv-eq,
  .mjp-sv-intro,
  .mjp-sv-sect,
  .mjp-sv-meth,
  .mjp-rs-wrap,
  .mjp-rs-gal,
  .mjp-rs-rel,
  .mjp-ar-wrap{min-width:0;max-width:100%}
  .mjp-pg-cta-in{flex-direction:column;align-items:flex-start}
  .mjp-pg-cta-r{align-items:flex-start}
  .mjp-pg-side,.mjp-pg-lg-side{position:static}
  .mjp-pg-feat-body,.mjp-pg-feat2-body,.mjp-pg-form{padding:28px 24px}
  .mjp-pg-row,.mjp-pg-id div{grid-template-columns:1fr;gap:2px}
  .mjp-pg-map{margin:0 24px 56px}
  .mjp-pg-doc{overflow-x:auto}
  .mjp-pg-doc table{display:table;width:100%;max-width:100%;table-layout:fixed}
  .mjp-pg-doc th,.mjp-pg-doc td{overflow-wrap:anywhere}
}
@media(max-width:700px){
  .mjp-pg-facts{grid-template-columns:1fr}
  .mjp-consent{left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom))}
}

/* Page 404 */
.mjp-404-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,#2b6a8f 60%,var(--teal) 100%);
  color:#fff;
  padding:72px 24px 88px;
  text-align:center;
}
.mjp-404-hero::before,
.mjp-404-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.mjp-404-hero::before{
  right:-120px;top:-120px;width:420px;height:420px;
  border:60px solid rgba(255,255,255,.05);
}
.mjp-404-hero::after{
  left:-90px;bottom:-140px;width:340px;height:340px;
  border:48px solid rgba(245,166,35,.12);
}
.mjp-404-in{position:relative;z-index:1;max-width:760px;margin:0 auto}
.mjp-404 .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.mjp-404-acts svg,
.mjp-404-search svg,
.mjp-404-grid > a > svg,
.mjp-404-urg > svg,
.mjp-404-grid .mjp-pg-more svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mjp-404-in .mjp-crumb{justify-content:center}
.mjp-404-num{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:8px 0 28px;
  font-family:"Barlow Condensed",sans-serif;
  font-weight:800;
  font-size:clamp(84px, 18vw, 200px);
  line-height:.85;
  letter-spacing:2px;
  color:#fff;
}
.mjp-404-num span{color:var(--amber);line-height:.85}
.mjp-404-fan{width:clamp(74px, 16vw, 170px);height:auto;display:block;margin:0 4px;overflow:visible}
.mjp-404-blades{transform-origin:100px 100px;animation:mjp-404-spin 4s linear infinite}
.mjp-404-blades path{fill:var(--amber);stroke:none}
.mjp-404-ring{fill:none;stroke:#fff;stroke-width:9}
.mjp-404-hub{fill:#fff;stroke:none}
.mjp-404-hub2{fill:var(--navy);stroke:none}
@keyframes mjp-404-spin{to{transform:rotate(360deg)}}
.mjp-404-eye{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:12px}
.mjp-404-eye i{display:block;width:22px;height:3px;background:var(--amber)}
.mjp-404-eye span{font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--amber)}
body.mjp-pro .mjp-404-hero h1{color:#fff;max-width:16em;margin-left:auto;margin-right:auto}
body.mjp-pro .mjp-404-hero p{color:rgba(255,255,255,.88);max-width:560px;margin:0 auto 28px}
.mjp-404-acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.mjp-404-acts .mjp-pg-btn.is-line{
  background:transparent;color:#fff;
  border:2px solid rgba(255,255,255,.45);
  border-left:4px solid var(--amber);
}
.mjp-404-acts .mjp-pg-btn.is-line:hover{background:rgba(255,255,255,.1);color:#fff}
.mjp-404-search{display:flex;max-width:480px;margin:0 auto;min-width:0}
.mjp-404-search input{
  flex:1;min-width:0;max-width:100%;box-sizing:border-box;
  padding:15px 18px;border:none;
  font-family:"Barlow",sans-serif;font-size:16px;line-height:1.4;color:var(--text);
}
.mjp-404-search input::placeholder{color:#8a97a8}
.mjp-404-search button{
  width:56px;flex-shrink:0;border:none;background:var(--amber);color:var(--navy);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.mjp-404-search svg{width:22px;height:22px}
.mjp-404-useful{padding:80px 72px;background:#F7F1DC}
.mjp-404-head{text-align:center;margin-bottom:40px}
.mjp-404-head .mjp-404-eye{margin-bottom:14px}
.mjp-404-head .mjp-404-eye span{color:var(--amber)}
body.mjp-pro .mjp-404-useful h2{color:var(--navy)}
body.mjp-pro .mjp-404-useful h2{text-wrap:wrap}
body.mjp-pro .mjp-404-useful h2 em{font-style:normal;color:var(--teal);margin-right:.18em}
.mjp-404-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.mjp-404-grid a{
  min-width:0;
  background:#fff;border:1px solid rgba(27,63,110,.14);border-top:4px solid var(--teal);
  padding:26px 22px;display:flex;flex-direction:column;gap:10px;
  text-decoration:none;color:inherit;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.mjp-404-grid a:hover{border-top-color:var(--amber);box-shadow:0 10px 30px rgba(27,63,110,.1);transform:translateY(-3px)}
.mjp-404-grid svg{width:32px;height:32px;color:var(--teal);flex-shrink:0}
.mjp-404-grid .mjp-pg-more svg{width:14px;height:14px}
body.mjp-pro .mjp-404-grid h3{color:var(--navy);margin:0}
body.mjp-pro .mjp-404-useful p{color:var(--muted);margin:0}
.mjp-404-grid .mjp-pg-more{margin-top:auto}
.mjp-404-urg{
  margin-top:34px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  background:var(--navy);color:#fff;padding:22px 28px;border-left:5px solid var(--amber);
}
.mjp-404-urg svg{width:26px;height:26px;color:var(--amber);flex-shrink:0}
.mjp-404-urg span{font-family:"Barlow",sans-serif;font-size:16px;line-height:1.5}
.mjp-404-urg a{
  font-family:"Barlow Condensed",sans-serif;font-size:clamp(22px, 3vw, 28px);
  font-weight:800;letter-spacing:1.2px;color:var(--amber);text-decoration:none;line-height:1.2;
}
.mjp-404-urg a:hover{color:#fff}
@media (max-width:1000px){
  .mjp-404-useful{padding:56px 24px}
  .mjp-404-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .mjp-404-hero{padding:48px 20px 64px}
  .mjp-404-grid{grid-template-columns:1fr}
  .mjp-404-acts .mjp-pg-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .mjp-404-blades{animation:none}
}

/* Marchés publics et privés */
.mjp-mk-sub{display:flex;flex-wrap:wrap;gap:10px;padding:22px 72px;background:#fff;border-bottom:1px solid rgba(27,63,110,.12)}
.mjp-mk-sub a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(27,63,110,.14);color:var(--navy);font-size:13px;font-weight:600;text-decoration:none}
.mjp-mk-sub a:hover{border-color:var(--teal);color:var(--teal)}
.mjp-mk-sub svg{width:16px;height:16px}
.mjp-mk-blk{padding:72px}
.mjp-mk-blk.is-alt{background:var(--gray-50,#F4F6FA)}
.mjp-mk-head{margin-bottom:18px}
body.mjp-pro .mjp-mk h2 em{font-style:normal;color:var(--teal)}
.mjp-mk-lead{max-width:720px;margin:0 0 28px}
.mjp-mk-prof{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:28px;align-items:start}
.mjp-mk-card,.mjp-mk-prof aside{background:#fff;border:1px solid rgba(27,63,110,.14);padding:28px;min-width:0}
.mjp-mk-card-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--amber);margin-bottom:18px}
.mjp-mk-id{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.mjp-mk-logo{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:24px}
.mjp-mk-idg{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:0}
.mjp-mk-idg div{min-width:0}
.mjp-mk-idg dt{font-size:12px;color:var(--muted);margin:0}
.mjp-mk-idg dd{margin:2px 0 0;font-weight:600;color:var(--navy)}
.mjp-mk-actions,.mjp-consult-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.mjp-mk .mjp-pg-btn.is-line,.mjp-consult .mjp-pg-btn.is-line{background:transparent;color:var(--navy);border:2px solid var(--navy);border-left:4px solid var(--amber)}
.mjp-mk-prof aside ul{margin:16px 0 0;padding:0;list-style:none}
.mjp-mk-prof aside li{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px}
.mjp-mk-prof aside svg,.mjp-consult li svg{width:16px;height:16px;color:var(--teal);flex-shrink:0;margin-top:3px}
.mjp-mk-docs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mjp-mk-docs article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid rgba(27,63,110,.14);padding:16px;min-width:0}
.mjp-mk-ic{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#F7F1DC;color:var(--navy)}
.mjp-mk-docs h3{margin:0 0 4px}
.mjp-mk-docs p,.mjp-mk-docs small{display:block;margin:0;color:var(--muted)}
.mjp-mk-docs a{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:700;font-size:13px;text-decoration:none}
.mjp-mk-docs a:hover{color:var(--teal)}
.mjp-mk-filters{display:flex;flex-wrap:wrap;gap:18px 32px;margin-bottom:22px}
.mjp-mk-filters > div > span{display:block;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.mjp-mk-table{overflow-x:auto;max-width:100%}
.mjp-mk-table table{width:100%;min-width:760px;border-collapse:collapse}
.mjp-mk-table th,.mjp-mk-table td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(27,63,110,.12);vertical-align:top}
.mjp-mk-empty{color:var(--muted)}
.mjp-mk-steps,.mjp-mk-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mjp-mk-steps article,.mjp-mk-types article{background:#fff;border:1px solid rgba(27,63,110,.14);border-top:4px solid var(--teal);padding:20px;min-width:0}
.mjp-mk-types svg{width:28px;height:28px;color:var(--teal)}
.mjp-mk-consult{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;align-items:start}
.mjp-mk-consult dl{margin:0;display:flex;flex-direction:column;gap:14px}
.mjp-mk-consult dt{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.mjp-mk-consult dd{margin:2px 0 0;font-weight:700;color:var(--navy)}
.mjp-sv-mq{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:0 72px 8px;padding:36px 40px;background:var(--navy);color:#fff}
body.mjp-pro .mjp-sv-mq h2,body.mjp-pro .mjp-sv-mq p{color:#fff}
body.mjp-pro .mjp-sv-mq h2 em{font-style:normal;color:var(--amber)}
.mjp-sv-mq .mjp-pg-btn{flex-shrink:0}
.mjp-consult{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;padding:72px;background:#F7F1DC;align-items:start}
.mjp-consult ul{margin:0;padding:0;list-style:none}
.mjp-consult li{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px}
@media (max-width:1000px){
  .mjp-mk-sub,.mjp-mk-blk,.mjp-consult{padding-left:24px;padding-right:24px}
  .mjp-mk-prof,.mjp-mk-docs,.mjp-mk-steps,.mjp-mk-types,.mjp-mk-consult,.mjp-consult{grid-template-columns:1fr}
  .mjp-sv-mq{margin:0 24px;flex-direction:column;align-items:flex-start}
}
@media (max-width:700px){
  .mjp-mk-sub,.mjp-mk-blk,.mjp-consult{padding-left:20px;padding-right:20px}
  .mjp-mk-idg{grid-template-columns:1fr}
  .mjp-sv-mq{margin:0 20px;padding:28px 20px}
}
/* ===== cible.css ===== */
/* Pages cibles : industrie, tertiaire, collectivités, logements, et les suivantes. */

.mjp-pc {
	background: #fff;
	color: var(--text);
}

.mjp-pc-hero {
	position: relative;
	height: 62vh;
	min-height: 460px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	background: linear-gradient(135deg, var(--navy), var(--teal));
}

.mjp-pc-hero-img {
	position: absolute;
	inset: 0;
}

.mjp-pc-hero-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
}

.mjp-pc-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(8, 14, 24, 0.05) 0%, rgba(8, 14, 24, 0.35) 60%, rgba(8, 14, 24, 0.82) 100%);
}

.mjp-pc-breadcrumb {
	position: absolute;
	top: 24px;
	left: 72px;
	z-index: 2;
	font-size: 12px;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.7);
}

.mjp-pc-breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.mjp-pc-hero-content {
	position: relative;
	z-index: 2;
	padding: 0 72px 52px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

.mjp-pc-hero-label {
	display: block;
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3.5px;
	text-transform: uppercase;
	color: var(--amber);
}

.mjp-pc-hero-titre {
	margin: 0;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 72px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 0.92;
	color: #fff;
	letter-spacing: 0.5px;
}

.mjp-pc-hero-titre em {
	display: block;
	font-style: normal;
	background: linear-gradient(90deg, var(--teal), var(--green));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.mjp-pc-hero-right {
	max-width: 420px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: flex-start;
}

.mjp-pc-hero-desc {
	margin: 0;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.85);
}

.mjp-pc-btn,
.mjp-pc-btn-light {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	border-left: 4px solid var(--amber);
}

.mjp-pc-btn {
	background: var(--navy);
	color: #fff;
	font-size: 15px;
	padding: 16px 28px;
}

.mjp-pc-btn::after,
.mjp-pc-btn-light::after,
.mjp-pc-service-lien::after {
	content: "→";
}

.mjp-pc-btn:hover {
	background: #0f2748;
	color: #fff;
}

.mjp-pc-btn-light {
	color: var(--navy);
	font-size: 14px;
	padding: 14px 24px;
	border: 2px solid var(--navy);
	border-left: 4px solid var(--amber);
}

.mjp-pc-btn-light:hover {
	background: var(--navy);
	color: #fff;
}

.mjp-pc-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.mjp-pc-eyebrow i {
	display: block;
	width: 22px;
	height: 3px;
	background: var(--amber);
}

.mjp-pc-eyebrow span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3.5px;
	text-transform: uppercase;
	color: var(--amber);
}

.mjp-pc-intro {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 80px;
	padding: 96px 72px;
	background: #f7f1dc;
}

.mjp-pc-intro h2,
.mjp-pc-head h2 {
	margin: 0;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 46px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 0.95;
	color: var(--navy);
}

.mjp-pc-intro h2 span,
.mjp-pc-services .mjp-pc-head h2 span,
.mjp-pc-reals .mjp-pc-head h2 span {
	color: var(--teal);
}

.mjp-pc-intro-text {
	margin: 24px 0 0;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--muted);
}

.mjp-pc-points {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 26px;
}

.mjp-pc-point {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 20px;
	padding-bottom: 26px;
	border-bottom: 1px solid rgba(27, 63, 110, 0.15);
}

.mjp-pc-point:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.mjp-pc-point-num {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 54px;
	font-weight: 800;
	line-height: 0.9;
	color: var(--amber);
}

.mjp-pc-point h3 {
	margin: 0 0 6px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 21px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--navy);
}

.mjp-pc-point p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--muted);
}

.mjp-pc-services,
.mjp-pc-reals {
	padding: 96px 72px;
	background: #fff;
}

.mjp-pc-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 48px;
}

.mjp-pc-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.mjp-pc-service {
	padding: 32px 28px;
	background: #fff;
	border: 1px solid rgba(27, 63, 110, 0.12);
	border-top: 4px solid var(--teal);
}

.mjp-pc-service:hover {
	border-top-color: var(--amber);
	box-shadow: 0 8px 32px rgba(27, 63, 110, 0.08);
	transform: translateY(-3px);
}

.mjp-pc-service h3 {
	margin: 0 0 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--navy);
}

.mjp-pc-service p {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.75;
	color: var(--muted);
}

.mjp-pc-service-lien {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--teal);
	text-decoration: none;
}

.mjp-pc-refs {
	padding: 80px 72px;
	background: var(--navy);
}

.mjp-pc-refs .mjp-pc-head h2 {
	color: #fff;
	font-size: 38px;
}

.mjp-pc-refs .mjp-pc-head h2 span {
	color: var(--amber);
}

.mjp-pc-refs-note {
	max-width: 300px;
	margin: 0;
	font-size: 12px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.5);
}

.mjp-pc-refs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
}

.mjp-pc-ref {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 84px;
	padding: 26px 20px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.55);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
}

.mjp-pc-ref img {
	max-height: 42px;
	width: auto;
	object-fit: contain;
	filter: grayscale(1) brightness(2);
}

.mjp-pc-ref:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.mjp-pc-reals-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.mjp-pc-real {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(27, 63, 110, 0.1);
	color: inherit;
	text-decoration: none;
}

.mjp-pc-real:hover {
	box-shadow: 0 12px 36px rgba(27, 63, 110, 0.12);
	transform: translateY(-4px);
}

.mjp-pc-real-photo {
	height: 220px;
	background: linear-gradient(135deg, var(--navy), var(--teal));
}

.mjp-pc-real-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mjp-pc-real-body {
	padding: 24px 26px 28px;
}

.mjp-pc-real h3 {
	margin: 0 0 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.05;
	color: var(--navy);
}

.mjp-pc-real p {
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
	color: var(--muted);
}

.mjp-pc-cta {
	position: relative;
	overflow: hidden;
	background: #0f2748;
}

.mjp-pc-cta-bg,
.mjp-pc-cta-overlay {
	position: absolute;
	inset: 0;
}

.mjp-pc-cta-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mjp-pc-cta-overlay {
	background: linear-gradient(90deg, rgba(15, 39, 72, 0.95), rgba(15, 39, 72, 0.78));
}

.mjp-pc-cta-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	padding: 88px 72px;
}

.mjp-pc-cta h2 {
	margin: 0 0 16px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 54px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 0.95;
	color: #fff;
}

.mjp-pc-cta h2 em {
	font-style: normal;
	color: var(--amber);
}

.mjp-pc-cta-left p {
	max-width: 540px;
	margin: 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.7);
}

.mjp-pc-cta-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
}

.mjp-pc-cta-tel {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: #fff;
	text-decoration: none;
}

.mjp-pc-cta-tel:hover {
	color: var(--amber);
}

@media (max-width: 1000px) {
	.mjp-pc-hero-content,
	.mjp-pc-intro,
	.mjp-pc-services,
	.mjp-pc-refs,
	.mjp-pc-reals,
	.mjp-pc-cta-inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.mjp-pc-breadcrumb {
		left: 24px;
	}

	.mjp-pc-hero-content,
	.mjp-pc-cta-inner,
	.mjp-pc-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.mjp-pc-hero-titre {
		font-size: 48px;
	}

	.mjp-pc-intro,
	.mjp-pc-services-grid,
	.mjp-pc-reals-grid {
		grid-template-columns: 1fr;
	}

	.mjp-pc-intro {
		gap: 40px;
	}

	.mjp-pc-refs-grid {
		grid-template-columns: 1fr 1fr;
	}

	.mjp-pc-ref {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.mjp-pc-cta-right {
		align-items: flex-start;
	}

	.mjp-pc-cta h2 {
		font-size: 40px;
	}
}

@media (max-width: 560px) {
	.mjp-pc-refs-grid {
		grid-template-columns: 1fr;
	}
}
/* ===== entreprise.css ===== */
/* Page L'entreprise. */

.mjp-ent-histoire {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 80px;
	padding: 96px 72px;
	background: #f7f1dc;
}

.mjp-ent-histoire h2,
.mjp-ent-sect h2,
.mjp-ent-split-txt h2 {
	margin: 0;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 46px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 0.95;
	color: var(--navy);
}

.mjp-ent-histoire h2 span,
.mjp-ent-sect h2 span,
.mjp-ent-split-txt h2 span {
	color: var(--teal);
}

.mjp-ent-lead,
.mjp-ent-lead + p {
	margin: 20px 0 0;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--muted);
}

.mjp-ent-timeline {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 3px solid var(--amber);
	padding-left: 32px;
}

.mjp-ent-tl {
	position: relative;
	padding: 0 0 30px;
}

.mjp-ent-tl:last-child {
	padding-bottom: 0;
}

.mjp-ent-tl::before {
	content: "";
	position: absolute;
	left: -41px;
	top: 6px;
	width: 15px;
	height: 15px;
	background: var(--navy);
	border: 3px solid #f7f1dc;
	border-radius: 50%;
}

.mjp-ent-year {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	color: var(--navy);
}

.mjp-ent-tl p {
	margin: 4px 0 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--muted);
}

.mjp-ent-kpis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
	padding: 72px;
	background: var(--navy);
}

.mjp-ent-kpi {
	padding: 10px 28px;
	border-left: 3px solid var(--amber);
}

.mjp-ent-kpi b {
	display: block;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 64px;
	font-weight: 800;
	line-height: 1;
	color: #fff;
}

.mjp-ent-kpi span {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}

.mjp-ent-sect {
	padding: 96px 72px;
	background: #fff;
}

.mjp-ent-sect.is-alt {
	background: #f7f1dc;
}

.mjp-ent-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 48px;
}

.mjp-ent-head p {
	max-width: 420px;
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--muted);
}

.mjp-ent-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.mjp-ent-certs {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.mjp-ent-cert {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 22px;
	background: #fff;
	border: 1px solid rgba(27, 63, 110, 0.12);
	border-left: 4px solid var(--amber);
}

.mjp-ent-cert strong {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 1px;
	color: var(--navy);
}

.mjp-ent-cert span {
	font-size: 12px;
	line-height: 1.4;
	color: var(--muted);
}

.mjp-ent-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 480px;
}

.mjp-ent-photo {
	background: linear-gradient(135deg, var(--navy), var(--teal));
}

.mjp-ent-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mjp-ent-split-txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 80px 72px;
	background: #fff;
}

.mjp-ent-split-txt p {
	max-width: 500px;
	margin: 0 0 28px;
	font-size: 15px;
	line-height: 1.85;
	color: var(--muted);
}

.mjp-ent-zone {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mjp-ent-zone span {
	padding: 10px 18px;
	background: #fff;
	border: 1px solid rgba(27, 63, 110, 0.15);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--navy);
}

.mjp-ent-zone span.is-siege {
	background: var(--navy);
	border-color: var(--navy);
	color: #fff;
}

@media (max-width: 1000px) {
	.mjp-ent-histoire,
	.mjp-ent-sect,
	.mjp-ent-kpis,
	.mjp-ent-split-txt {
		padding-left: 24px;
		padding-right: 24px;
	}

	.mjp-ent-histoire,
	.mjp-ent-split,
	.mjp-ent-values {
		grid-template-columns: 1fr;
	}

	.mjp-ent-histoire,
	.mjp-ent-head {
		gap: 40px;
	}

	.mjp-ent-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.mjp-ent-kpis {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}

	.mjp-ent-kpi b {
		font-size: 48px;
	}
}

@media (max-width: 560px) {
	.mjp-ent-kpis {
		grid-template-columns: 1fr;
	}

	.mjp-ent-kpi {
		min-width: 0;
		padding-right: 12px;
		padding-left: 16px;
	}

	.mjp-ent-kpi b {
		font-size: 40px;
	}

	.mjp-ent-kpi span {
		letter-spacing: 1px;
		overflow-wrap: anywhere;
	}
}
/* ===== singles.css ===== */
/* Services, fiche réalisation, article. */

.mjp-sv-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mjp-sv-eyebrow i{display:block;width:22px;height:3px;background:var(--amber);border-radius:2px}
.mjp-sv-eyebrow span{font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--amber)}
.mjp-sv-title{font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:800;text-transform:uppercase;line-height:.95;color:var(--navy);margin:0}
.mjp-sv-title span,.mjp-sv-title em{font-style:normal;color:var(--teal)}
.mjp-rs-hero h1 em,.mjp-ar-hero h1 em{font-style:normal;color:var(--amber)}
.mjp-sv-fam-head h2 em{font-style:normal;color:var(--teal)}

.mjp-sv-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;padding:72px;background:#F7F1DC;align-items:center}
.mjp-sv-intro p{font-size:16px;line-height:1.85;color:var(--muted);margin:18px 0 0}
.mjp-sv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px}
.mjp-sv-stats div{border-left:4px solid var(--amber);padding-left:16px}
.mjp-sv-stats b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:800;color:var(--navy);line-height:1}
.mjp-sv-stats span{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}

.mjp-sv-fam{padding:72px;scroll-margin-top:96px}
.mjp-sv-fam:nth-of-type(even){background:#fafbfc}
.mjp-sv-fam-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:36px}
.mjp-sv-ico{width:64px;height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-bottom:4px solid var(--amber)}
.mjp-sv-ico svg{width:30px;height:30px}
.mjp-sv-fam-head h2{font-family:'Barlow Condensed',sans-serif;font-size:40px;font-weight:800;text-transform:uppercase;line-height:1;color:var(--navy);margin:0}
.mjp-sv-fam-head p{margin:8px 0 0;font-size:15px;line-height:1.7;color:var(--muted);max-width:640px}
.mjp-sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mjp-sv-card{background:#fff;border:1px solid rgba(27,63,110,.14);border-top:4px solid var(--teal);padding:28px 26px;display:flex;flex-direction:column;color:inherit}
.mjp-sv-card b{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--navy);line-height:1.05;margin-bottom:8px}
.mjp-sv-card p{font-size:13.5px;line-height:1.7;color:var(--muted);margin:0}

.mjp-sv-eq{background:var(--navy);padding:80px 72px}
.mjp-sv-eq .mjp-sv-title{color:#fff;margin-bottom:12px}
.mjp-sv-eq .mjp-sv-title span,.mjp-sv-eq .mjp-sv-title em{color:var(--amber)}
.mjp-sv-eq .mjp-sv-lead{color:rgba(255,255,255,.7);max-width:620px;line-height:1.7;margin:0 0 32px}
.mjp-sv-eq .mjp-pg-chip{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.mjp-sv-eq .mjp-pg-chip:hover{border-color:var(--amber)}
.mjp-sv-eq .mjp-pg-chip.is-on{background:var(--amber);color:var(--navy);border-color:var(--amber);box-shadow:none}
.mjp-sv-eqg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.mjp-sv-eqc{background:#fff;display:flex;flex-direction:column;color:inherit;transition:transform .25s}
.mjp-sv-eqc[hidden]{display:none !important}
a.mjp-sv-eqc:hover{transform:translateY(-4px);color:inherit}
.mjp-sv-ph{height:170px;background:linear-gradient(135deg,#dfeaf3,#c3d6e6);position:relative}
.mjp-sv-ph .mjp-pg-badge{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff}
.mjp-sv-eqb{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.mjp-sv-brand{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--amber);margin-bottom:6px}
.mjp-sv-eqb h3{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;color:var(--navy);line-height:1.05;margin:0 0 6px}
.mjp-sv-eqb p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.mjp-sv-brands{margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.mjp-sv-brands .mjp-sv-bl{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mjp-sv-brands span{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:2px;color:#fff;padding:9px 18px;border:1px solid rgba(255,255,255,.25);border-left:3px solid var(--amber)}

.mjp-sv-sect{padding:80px 72px;background:#fff}
.mjp-sv-sectg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.mjp-sv-sectg a{border:1px solid rgba(27,63,110,.14);padding:28px 24px;display:flex;flex-direction:column;gap:12px;background:#fff;color:inherit;transition:border-color .25s,box-shadow .25s,transform .25s}
.mjp-sv-sectg a:hover{border-color:var(--amber);box-shadow:0 10px 30px rgba(27,63,110,.1);transform:translateY(-3px);color:inherit}
.mjp-sv-sectg svg{width:34px;height:34px;color:var(--teal)}
.mjp-sv-sectg b{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;color:var(--navy)}
.mjp-sv-sectg p{font-size:13.5px;line-height:1.65;color:var(--muted);margin:0}
.mjp-sv-meth{padding:80px 72px;background:#F7F1DC}
.mjp-sv-methg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:34px;counter-reset:mjpstep}
.mjp-sv-methg div{padding-top:20px;border-top:3px solid var(--navy)}
.mjp-sv-methg div::before{counter-increment:mjpstep;content:'0' counter(mjpstep);font-family:'Barlow Condensed',sans-serif;font-size:50px;font-weight:800;color:var(--amber);line-height:1;display:block;margin-bottom:8px}
.mjp-sv-methg b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.mjp-sv-methg p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}

.mjp-rs-hero{background:linear-gradient(135deg,var(--navy) 0%,#2b6a8f 60%,var(--teal) 100%);padding:48px 72px 52px;color:#fff}
.mjp-rs-hero .mjp-pg-crumb{margin-bottom:24px}
.mjp-rs-hero h1{font-family:'Barlow Condensed',sans-serif;font-size:58px;font-weight:800;text-transform:uppercase;line-height:.98;max-width:900px;margin:16px 0 0}
.mjp-rs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:-34px 72px 0;position:relative;z-index:2;background:#fff;box-shadow:0 14px 40px rgba(15,39,72,.15);border-top:4px solid var(--amber)}
.mjp-rs-facts div{padding:22px 24px;border-right:1px solid rgba(27,63,110,.14)}
.mjp-rs-facts div:last-child{border-right:none}
.mjp-rs-facts span{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.mjp-rs-facts b{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;color:var(--navy);line-height:1.1}
.mjp-rs-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;padding:64px 72px 72px;align-items:start}
.mjp-rs-gal{display:grid;grid-template-columns:3fr 1fr;gap:12px;margin-bottom:44px}
.mjp-rs-main{min-height:440px;background:linear-gradient(135deg,#1B3F6E,#4AB8C1);background-size:cover;background-position:center}
.mjp-rs-ths{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}
.mjp-rs-th{background:linear-gradient(135deg,#0F2748,#7DC242);min-height:80px;background-size:cover;background-position:center}
.mjp-rs-sec{margin-bottom:46px}
.mjp-rs-sec h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;text-transform:uppercase;color:var(--navy);margin:0 0 14px;padding-left:16px;border-left:5px solid var(--amber);line-height:1.05}
.mjp-rs-sec p{font-size:16px;line-height:1.85;color:#2c3a4e;margin:0 0 14px}
.mjp-rs-step{display:grid;grid-template-columns:56px 1fr;gap:18px;padding-bottom:26px;position:relative}
.mjp-rs-step::before{content:'';position:absolute;left:27px;top:52px;bottom:0;width:2px;background:rgba(27,63,110,.14)}
.mjp-rs-step:last-child::before{display:none}
.mjp-rs-step .n{width:54px;height:54px;background:var(--navy);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--amber)}
.mjp-rs-step h3{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin:4px 0}
.mjp-rs-step p{margin:0;font-size:15px;line-height:1.7;color:var(--muted)}
.mjp-rs-equip{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.mjp-rs-equip div{display:flex;gap:14px;align-items:flex-start;border:1px solid rgba(27,63,110,.14);padding:18px;background:#fff}
.mjp-rs-equip svg{width:26px;height:26px;color:var(--teal);flex-shrink:0}
.mjp-rs-equip b{display:block;font-size:15px;color:var(--navy);margin-bottom:3px}
.mjp-rs-equip span{font-size:13.5px;color:var(--muted);line-height:1.55}
.mjp-rs-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:22px}
.mjp-rs-back svg{width:16px;height:16px;transform:rotate(180deg)}
.mjp-rs-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.mjp-rs-box{border:1px solid rgba(27,63,110,.14);border-top:4px solid var(--amber);padding:24px;background:#fff}
.mjp-rs-box h2{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);margin:0 0 12px}
.mjp-rs-box dl div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(27,63,110,.14);font-size:14px}
.mjp-rs-box dl div:last-child{border-bottom:none}
.mjp-rs-box dt{color:var(--muted)}
.mjp-rs-box dd{color:var(--navy);font-weight:600;text-align:right;margin:0}
.mjp-rs-tags{display:flex;flex-wrap:wrap;gap:8px}
.mjp-rs-tags span{font-size:12px;font-weight:600;color:var(--navy);background:#F7F1DC;padding:6px 12px}
.mjp-rs-box.is-dark{background:var(--navy);border-color:var(--navy);color:#fff}
.mjp-rs-box.is-dark h2{color:#fff}
.mjp-rs-box.is-dark p{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.78);margin:0 0 14px}
.mjp-rs-box.is-dark .mjp-pg-btn{width:100%;justify-content:center}
.mjp-rs-tel{display:block;text-align:center;margin-top:12px;font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;letter-spacing:1.2px;color:#fff}
.mjp-rs-rel{padding:72px;background:#F7F1DC}
.mjp-rs-rel h2{margin-bottom:34px}

.mjp-ar-hero{background:linear-gradient(135deg,var(--navy) 0%,#2b6a8f 60%,var(--teal) 100%);padding:48px 72px 0;color:#fff}
.mjp-ar-hero h1{font-family:'Barlow Condensed',sans-serif;font-size:56px;font-weight:800;text-transform:uppercase;line-height:.98;max-width:900px;margin:16px 0 20px}
.mjp-ar-meta{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:13px;color:rgba(255,255,255,.8);padding-bottom:36px}
.mjp-ar-meta span{display:inline-flex;align-items:center;gap:8px}
.mjp-ar-meta svg{width:16px;height:16px;color:var(--amber)}
.mjp-ar-cover{margin:0 72px;height:400px;background:linear-gradient(135deg,#0F2748,#4AB8C1);background-size:cover;background-position:center;transform:translateY(40px);box-shadow:0 20px 50px rgba(15,39,72,.25)}
.mjp-ar-wrap{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:48px;padding:96px 72px 72px;align-items:start}
.mjp-ar-toc{position:sticky;top:96px}
.mjp-ar-toc h2,.mjp-ar-side h2{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--navy);margin:0 0 12px;padding-bottom:8px;border-bottom:3px solid var(--amber);display:inline-block}
.mjp-ar-toc a{display:block;font-size:13.5px;line-height:1.45;color:var(--muted);padding:9px 0 9px 14px;border-left:2px solid rgba(27,63,110,.14)}
.mjp-ar-toc a:hover{color:var(--navy);border-left-color:var(--amber);font-weight:600}
.mjp-ar-prose{max-width:720px}
.mjp-ar-lead{font-size:19px;line-height:1.75;color:var(--navy);font-weight:500;margin:0 0 28px;padding-left:20px;border-left:4px solid var(--amber)}
.mjp-ar-prose h2{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:800;text-transform:uppercase;color:var(--navy);margin:48px 0 14px;line-height:1.02;scroll-margin-top:96px}
.mjp-ar-prose h3{font-size:19px;font-weight:700;color:var(--navy);margin:28px 0 8px}
.mjp-ar-prose p,.mjp-ar-prose li{font-size:16.5px;line-height:1.85;color:#2c3a4e}
.mjp-ar-prose p{margin:0 0 16px}
.mjp-ar-prose ol{margin:0 0 18px 24px;padding:0}
.mjp-ar-prose li{margin-bottom:6px}
.mjp-ar-prose li::marker{color:var(--amber);font-weight:700}
.mjp-ar-call{background:#F7F1DC;border-left:5px solid var(--amber);padding:22px 26px;margin:28px 0}
.mjp-ar-call b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:19px;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.mjp-ar-call p{margin:0;font-size:15px}
.mjp-ar-quote{margin:32px 0;padding:8px 0 8px 28px;border-left:4px solid var(--teal);font-size:21px;line-height:1.6;color:var(--navy);font-weight:500}
.mjp-ar-inline{background:var(--navy);color:#fff;padding:30px 32px;margin:40px 0;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-left:5px solid var(--amber)}
.mjp-ar-inline b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;text-transform:uppercase;line-height:1.05;margin-bottom:6px}
.mjp-ar-inline p{margin:0;color:rgba(255,255,255,.75);font-size:14px}
.mjp-ar-faq details{border:1px solid rgba(27,63,110,.14);margin-bottom:10px;background:#fff}
.mjp-ar-faq summary{padding:16px 20px;font-weight:700;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:16px}
.mjp-ar-faq summary::-webkit-details-marker{display:none}
.mjp-ar-faq summary::after{content:'+';font-size:22px;color:var(--amber);font-weight:700}
.mjp-ar-faq details[open] summary::after{content:'–'}
.mjp-ar-faq details[open]{border-left:4px solid var(--amber)}
.mjp-ar-faq details p{padding:0 20px 18px;margin:0;font-size:15px}
.mjp-ar-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;align-items:center}
.mjp-ar-tags .l{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-right:6px}
.mjp-ar-tags span{font-size:12px;font-weight:600;color:var(--navy);background:#F7F1DC;padding:6px 12px}
.mjp-ar-author{display:flex;gap:20px;align-items:center;border:1px solid rgba(27,63,110,.14);padding:24px;margin-top:40px;background:#fff}
.mjp-ar-av{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--teal));flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:22px}
.mjp-ar-author b{display:block;color:var(--navy);font-size:16px}
.mjp-ar-author small{display:block;color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-top:2px}
.mjp-ar-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.mjp-ar-box{border:1px solid rgba(27,63,110,.14);padding:22px;background:#fff}
.mjp-ar-box.is-dark{background:var(--navy);border-color:var(--navy);color:#fff}
.mjp-ar-box.is-dark h2{color:#fff;border-bottom-color:var(--amber)}
.mjp-ar-box.is-dark p{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.78);margin:0 0 14px}
.mjp-ar-box.is-dark .mjp-pg-btn{width:100%;justify-content:center}
.mjp-ar-mini{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(27,63,110,.14);color:inherit}
.mjp-ar-mini:last-child{border-bottom:none;padding-bottom:0}
.mjp-ar-mini i{width:62px;height:62px;flex-shrink:0;background:linear-gradient(135deg,#1B3F6E,#4AB8C1)}
.mjp-ar-mini b{font-size:13.5px;line-height:1.35;color:var(--navy)}
.mjp-ar-mini small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.mjp-ar-box.is-nl{background:var(--navy);border-color:var(--navy);color:#fff}
.mjp-ar-box.is-nl h2{color:#fff}
.mjp-ar-box.is-nl p{font-size:13.5px;color:rgba(255,255,255,.75);margin:0 0 14px}
.mjp-ar-box.is-nl input{width:100%;padding:12px 14px;border:none;margin-bottom:10px;font-family:'Barlow',sans-serif;font-size:14px}
.mjp-ar-box.is-nl .mjp-pg-btn{width:100%;justify-content:center}

@media(max-width:1200px){
  .mjp-sv-grid,.mjp-sv-eqg,.mjp-sv-sectg,.mjp-sv-methg{grid-template-columns:repeat(2,1fr)}
  .mjp-ar-wrap{grid-template-columns:minmax(0,1fr) 300px}
  .mjp-ar-toc{display:none}
}
@media(max-width:1000px){
  .mjp-sv-intro,.mjp-sv-fam,.mjp-sv-eq,.mjp-sv-sect,.mjp-sv-meth,.mjp-rs-hero,.mjp-rs-wrap,.mjp-rs-rel,.mjp-ar-hero,.mjp-ar-wrap,.mjp-pg-wrap{padding-left:24px;padding-right:24px}
  .mjp-sv-intro,.mjp-sv-fam-head,.mjp-rs-wrap,.mjp-rs-gal,.mjp-rs-equip,.mjp-ar-wrap,.mjp-sv-grid,.mjp-sv-eqg,.mjp-sv-sectg,.mjp-sv-methg{grid-template-columns:1fr}
  .mjp-sv-fam-head{flex-direction:column;align-items:flex-start}
  .mjp-sv-fam-head > div,.mjp-sv-fam-head h2,.mjp-sv-fam-head p{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .mjp-sv-fam-head h2{font-size:32px}
  .mjp-rs-wrap > *,
  .mjp-rs-equip,
  .mjp-rs-equip > div,
  .mjp-rs-wrap,.mjp-rs-gal,.mjp-rs-main,.mjp-rs-ths,.mjp-rs-th{min-width:0;max-width:100%}
  .mjp-rs-equip b,.mjp-rs-equip span{overflow-wrap:anywhere}
  .mjp-sv-title,.mjp-rs-hero h1,.mjp-ar-hero h1{font-size:36px}
  .mjp-rs-facts{margin:-30px 24px 0}
  .mjp-rs-main{min-height:260px}
  .mjp-rs-ths{grid-template-rows:none;grid-template-columns:repeat(3,1fr)}
  .mjp-rs-side,.mjp-ar-side{position:static}
  .mjp-ar-cover{margin:0 24px;height:240px}
  .mjp-ar-inline{align-items:flex-start}
}
/* ===== type.css ===== */
/* Typographie commune : une échelle de titres, un paragraphe, des liens et des listes.
   Chargé en dernier pour que chaque page utilise les mêmes tailles et le même interligne. */

body.mjp-pro :is(h1, h2, h3, h4, h5),
body.mjp-pro :is(
	.mjp-s-title,
	.mjp-sv-title,
	.mjp-pg-hero h1,
	.mjp-pc-hero-titre,
	.mjp-rs-hero h1,
	.mjp-ar-hero h1,
	.mjp-hero h1,
	.mjp-hero h1 .mjp-h1-main,
	.mjp-cta-inner h2,
	.mjp-newsletter-title,
	.mjp-seo-tabs-title,
	.mjp-secteurs-intro-title,
	.mjp-refs-title,
	.mjp-ft-top h2,
	.mjp-ft h3,
	.mjp-ar-prose h2,
	.mjp-ar-prose h3,
	.mjp-ar-toc h2,
	.mjp-ar-side h2,
	.mjp-rs-sec h2,
	.mjp-sv-fam-head h2,
	.mjp-pg-card h2,
	.mjp-pg-card h3,
	.mjp-feat-body h2,
	.mjp-pg-feat-body h2,
	.mjp-pg-feat2-body h2,
	.mjp-legal-content h2,
	.mjp-legal-content h3,
	.mjp-seo-tab-text h3,
	.mjp-seo-tab-faq h3
) {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	text-wrap: balance;
	overflow-wrap: break-word;
	scroll-margin-top: 96px;
}

body.mjp-pro h1,
body.mjp-pro .mjp-pg-hero h1,
body.mjp-pro .mjp-pc-hero-titre,
body.mjp-pro .mjp-rs-hero h1,
body.mjp-pro .mjp-ar-hero h1,
body.mjp-pro .mjp-hero h1 .mjp-h1-main {
	font-size: clamp(32px, 5vw, 56px);
	line-height: 1.12;
	margin-top: 0;
	margin-bottom: 0.3em;
}

body.mjp-pro .mjp-hero h1 .mjp-h1-location {
	display: block;
	margin-top: 0.35em;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.08em;
}

body.mjp-pro h2,
body.mjp-pro .mjp-s-title,
body.mjp-pro .mjp-sv-title,
body.mjp-pro .mjp-cta-inner h2,
body.mjp-pro .mjp-newsletter-title,
body.mjp-pro .mjp-seo-tabs-title,
body.mjp-pro .mjp-ft-top h2,
body.mjp-pro .mjp-ar-prose h2,
body.mjp-pro .mjp-rs-sec h2,
body.mjp-pro .mjp-sv-fam-head h2 {
	font-size: clamp(26px, 3.2vw, 40px);
	line-height: 1.15;
	margin-top: 0;
	margin-bottom: 0.4em;
}

body.mjp-pro h3,
body.mjp-pro .mjp-pg-card h3,
body.mjp-pro .mjp-ar-prose h3,
body.mjp-pro .mjp-ft h3,
body.mjp-pro .mjp-seo-tab-text h3,
body.mjp-pro .mjp-legal-content h3 {
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.22;
	margin-top: 0;
	margin-bottom: 0.4em;
}

body.mjp-pro h4,
body.mjp-pro .mjp-legal-content h4 {
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(17px, 1.6vw, 20px);
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	margin: 0 0 0.4em;
}

body.mjp-pro h5 {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	margin: 0 0 0.4em;
}

body.mjp-pro .mjp-main p,
body.mjp-pro .mjp-client p,
body.mjp-pro .mjp-pg-hero p,
body.mjp-pro .mjp-pc-hero-desc,
body.mjp-pro .mjp-pc-intro-text,
body.mjp-pro .mjp-ent-lead,
body.mjp-pro .mjp-ent-lead + p,
body.mjp-pro .mjp-s-intro,
body.mjp-pro .mjp-expertise-text,
body.mjp-pro .mjp-refs-intro,
body.mjp-pro .mjp-secteurs-intro-text,
body.mjp-pro .mjp-seo-tabs-intro,
body.mjp-pro .mjp-seo-tab-text p,
body.mjp-pro .mjp-newsletter-text,
body.mjp-pro .mjp-ar-lead,
body.mjp-pro .mjp-ar-prose p,
body.mjp-pro .mjp-ar-prose li,
body.mjp-pro .mjp-ar-quote,
body.mjp-pro .mjp-ar-call p,
body.mjp-pro .mjp-sv-lead,
body.mjp-pro .mjp-rs-sec p,
body.mjp-pro .mjp-pg-card p,
body.mjp-pro .mjp-pg-info p,
body.mjp-pro .mjp-legal-content p,
body.mjp-pro .mjp-ft-brand p,
body.mjp-pro .mjp-ft-top p {
	font-family: "Barlow", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	overflow-wrap: break-word;
}

body.mjp-pro .mjp-main .mjp-client p,
body.mjp-pro .mjp-ar-prose p,
body.mjp-pro .mjp-seo-tab-text p,
body.mjp-pro .mjp-legal-content p,
body.mjp-pro .mjp-rs-sec p {
	margin: 0 0 1em;
}

body.mjp-pro .mjp-main .mjp-client p:last-child,
body.mjp-pro .mjp-ar-prose p:last-child,
body.mjp-pro .mjp-seo-tab-text p:last-child,
body.mjp-pro .mjp-legal-content p:last-child {
	margin-bottom: 0;
}

body.mjp-pro .mjp-main ul,
body.mjp-pro .mjp-main ol,
body.mjp-pro .mjp-legal-content ul,
body.mjp-pro .mjp-legal-content ol {
	margin: 0 0 1.1em 1.25em;
	padding: 0;
	font-family: "Barlow", sans-serif;
	font-size: 16px;
	line-height: 1.7;
}

body.mjp-pro .mjp-main li,
body.mjp-pro .mjp-legal-content li {
	margin: 0 0 0.45em;
	line-height: 1.7;
	overflow-wrap: break-word;
}

body.mjp-pro .mjp-main li::marker,
body.mjp-pro .mjp-legal-content li::marker {
	color: var(--amber);
	font-weight: 700;
}

body.mjp-pro .mjp-main p a,
body.mjp-pro .mjp-main li a,
body.mjp-pro .mjp-client a,
body.mjp-pro .mjp-legal-content a {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	font-weight: 600;
}

body.mjp-pro .mjp-main p a:hover,
body.mjp-pro .mjp-main p a:focus-visible,
body.mjp-pro .mjp-main li a:hover,
body.mjp-pro .mjp-main li a:focus-visible,
body.mjp-pro .mjp-client a:hover,
body.mjp-pro .mjp-client a:focus-visible,
body.mjp-pro .mjp-legal-content a:hover,
body.mjp-pro .mjp-legal-content a:focus-visible {
	color: var(--amber);
}

.mjp-crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em 0.5em;
	position: relative;
	z-index: 3;
	max-width: 100%;
	margin: 0 0 18px;
	font-family: "Barlow", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.2px;
	color: rgba(255, 255, 255, 0.88);
}

.mjp-crumb a {
	color: #fff;
	font-weight: 400;
	text-decoration: none;
}

.mjp-crumb a[aria-current="page"] {
	font-weight: 700;
}

.mjp-crumb a:hover,
.mjp-crumb a:focus-visible {
	color: var(--amber);
	text-decoration: none;
}

.mjp-crumb-sep {
	color: inherit;
}

.mjp-pc-hero > .mjp-crumb {
	position: absolute;
	top: 28px;
	left: 72px;
	right: 72px;
	margin: 0;
}

.mjp-crumb-bar {
	padding: 28px 72px 0;
	background: #fff;
}

.mjp-crumb-bar .mjp-crumb {
	color: var(--navy);
}

.mjp-crumb-bar .mjp-crumb a {
	color: var(--navy);
}

.mjp-crumb-bar .mjp-crumb a:hover,
.mjp-crumb-bar .mjp-crumb a:focus-visible {
	color: var(--teal);
	text-decoration: none;
}

@media (max-width: 1000px) {
	.mjp-pg-hero,
	.mjp-rs-hero,
	.mjp-ar-hero {
		padding-left: 24px;
		padding-right: 24px;
	}

	.mjp-pc-hero > .mjp-crumb {
		left: 24px;
		right: 24px;
	}

	.mjp-crumb-bar {
		padding-left: 24px;
		padding-right: 24px;
	}

	.mjp-pc-hero > .mjp-crumb {
		padding: 0;
	}
}

@media (max-width: 700px) {
	.mjp-pg-hero,
	.mjp-rs-hero,
	.mjp-ar-hero {
		padding-left: 20px;
		padding-right: 20px;
	}

	.mjp-pc-hero > .mjp-crumb {
		top: 16px;
		left: 20px;
		right: 20px;
	}

	.mjp-crumb-bar {
		padding: 20px 20px 0;
	}

	.mjp-ar-cover {
		margin-left: 20px;
		margin-right: 20px;
	}
}
/* ===== motion.css ===== */
/* Mouvement léger. Aucun contenu n’est retiré du HTML.
   L’apparition au défilement n’existe que si le navigateur sait l’animer en CSS,
   et elle est coupée quand l’utilisateur demande moins d’animations. */

@media (prefers-reduced-motion: no-preference) {
	.mjp-hd {
		transition: box-shadow .35s ease;
	}

	.mjp-pg-card,
	.mjp-real-card,
	.mjp-pc-service,
	.mjp-pc-real,
	.mjp-pc-point,
	.mjp-sv-card,
	.mjp-sv-eqc,
	.mjp-rs-step,
	.mjp-faq-item,
	.mjp-exp-item,
	.mjp-404-grid > a,
	.mjp-pg-btn,
	.mjp-pc-btn,
	.mjp-pc-btn-light {
		transition: transform .35s ease, box-shadow .35s ease, background .25s ease, border-color .25s ease, color .25s ease;
	}

	.mjp-pc-real-photo,
	.mjp-real-img,
	.mjp-secteur-img {
		overflow: hidden;
	}

	.mjp-pc-real-photo img,
	.mjp-real-img img,
	.mjp-secteur-img img {
		transition: transform .6s ease;
	}

	.mjp-pc-real:hover img,
	.mjp-real-card:hover img,
	.mjp-secteur:hover img {
		transform: scale(1.06);
	}

	.mjp-pc-point:hover,
	.mjp-rs-step:hover,
	.mjp-faq-item:hover,
	.mjp-sv-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 12px 28px rgba(27, 63, 110, .1);
	}

	.mjp-pg-btn:hover,
	.mjp-pc-btn:hover,
	.mjp-pc-btn-light:hover {
		transform: translateY(-2px);
	}

	.mjp-crumb a,
	.mjp-ft-list a,
	.mjp-main p a {
		transition: color .2s ease;
	}
}

.mjp-hd.is-scrolled {
	box-shadow: 0 10px 28px rgba(8, 20, 40, .22);
}

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		@keyframes mjp-in {
			from {
				opacity: 0;
				translate: 0 22px;
			}
			to {
				opacity: 1;
				translate: 0 0;
			}
		}

		.mjp-main > section:not(:first-of-type),
		.mjp-ft-top {
			animation-name: mjp-in;
			animation-duration: auto;
			animation-timing-function: linear;
			animation-fill-mode: both;
			animation-timeline: view();
			animation-range: entry 0% cover 22%;
		}

		.mjp-main .mjp-pg-grid > *,
		.mjp-main .mjp-pc-points > *,
		.mjp-main .mjp-pc-services-grid > *,
		.mjp-main .mjp-pc-reals-grid > *,
		.mjp-main .mjp-404-grid > a,
		.mjp-main .mjp-exp-item,
		.mjp-main .mjp-rs-step,
		.mjp-main .mjp-sv-eqc {
			animation-name: mjp-in;
			animation-duration: auto;
			animation-timing-function: linear;
			animation-fill-mode: both;
			animation-timeline: view();
			animation-range: entry 8% cover 32%;
		}
	}
}
