.mrcc-cm-page{--cm-navy:#0D1B2A;--cm-navy2:#1B263B;--cm-gold:#D4AF37;--cm-paper:#F5F7FA;--cm-ink:#142033;--cm-muted:#657084;--cm-line:#E3E8EE;font-family:Inter,Arial,sans-serif;color:var(--cm-ink);overflow:hidden}
.mrcc-cm-page *{box-sizing:border-box}.cm-wrap{width:min(1280px,calc(100% - 40px));margin:auto}.cm-kicker{font:800 12px Montserrat,Arial,sans-serif;letter-spacing:.2em;color:var(--cm-gold);margin:0 0 17px}.cm-kicker.dark{color:#9A7900}.cm-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:105px 0;background:linear-gradient(135deg,#07121E 0%,var(--cm-navy) 52%,var(--cm-navy2) 100%);color:#fff;overflow:hidden}.cm-grid-bg{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:62px 62px}.cm-glow{position:absolute;width:720px;height:720px;right:-230px;top:-300px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.26),transparent 68%)}.cm-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.cm-copy h1{font:800 clamp(49px,6vw,82px) Montserrat,Arial,sans-serif;line-height:1;letter-spacing:-.05em;margin:0;color:#fff}.cm-lead{font-size:19px;line-height:1.7;color:#D4DCE6;margin:28px 0 34px}.cm-actions{display:flex;gap:14px;flex-wrap:wrap}.cm-actions-center{justify-content:center}.cm-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;font:700 14px Montserrat,Arial,sans-serif;text-decoration:none!important;transition:.25s}.cm-btn:hover{transform:translateY(-3px)}.cm-btn-gold{background:var(--cm-gold);color:var(--cm-navy)!important;box-shadow:0 14px 38px rgba(212,175,55,.24)}.cm-btn-outline{border:1px solid rgba(255,255,255,.35);color:#fff!important}.cm-btn-dark{background:var(--cm-navy);color:#fff!important}.cm-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:36px;color:#C9D2DD;font-size:13px}.cm-proof span:before{content:"✓";color:var(--cm-gold);margin-right:7px}
.cm-scene{position:relative;height:555px}.cm-magazine{position:absolute;background:#fff;padding:8px;box-shadow:0 35px 90px rgba(0,0,0,.38)}.cm-magazine img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.cm-magazine-main{left:130px;top:25px;width:340px;height:470px;transform:rotate(1.5deg);z-index:3}.cm-magazine-left{left:8px;top:115px;width:245px;height:340px;transform:rotate(-8deg);z-index:1}.cm-magazine-right{right:0;top:105px;width:235px;height:330px;transform:rotate(8deg);z-index:2}.cm-floating-card{position:absolute;right:20px;bottom:12px;z-index:5;width:200px;padding:19px;border-radius:18px;background:#fff;color:var(--cm-navy);box-shadow:0 18px 48px rgba(0,0,0,.28)}.cm-floating-card small{font:800 9px Montserrat;letter-spacing:.14em;color:#8B6E00}.cm-floating-card strong{display:block;font:800 25px Montserrat;margin:6px 0}.cm-floating-card span{font-size:12px;color:var(--cm-muted)}
.cm-section{padding:105px 0}.cm-heading{text-align:center;max-width:860px;margin:0 auto 52px}.cm-heading-left{text-align:left;margin-left:0}.cm-heading h2,.cm-split h2,.cm-final h2{font:800 clamp(36px,4.4vw,56px) Montserrat,Arial,sans-serif;line-height:1.08;letter-spacing:-.04em;margin:0}.cm-heading>p:last-child{font-size:17px;color:var(--cm-muted)}.cm-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cm-services-grid article{padding:29px;border:1px solid var(--cm-line);border-radius:21px;background:#fff}.cm-services-grid article>span{font-size:30px}.cm-services-grid h3{font:700 20px Montserrat;margin:16px 0 8px}.cm-services-grid p{color:var(--cm-muted);margin:0}
.cm-dark{width:100vw;margin-left:calc(50% - 50vw);background:var(--cm-navy);color:#fff}.cm-dark h2{color:#fff}.cm-process{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.cm-process article{padding:27px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.04)}.cm-process strong{font:800 22px Montserrat;color:var(--cm-gold)}.cm-process h3{font:700 19px Montserrat;margin:18px 0 8px}.cm-process p{font-size:14px;color:#BEC8D4}
.cm-pale{width:100vw;margin-left:calc(50% - 50vw);background:var(--cm-paper)}.cm-projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cm-project{border-radius:23px;background:#fff;overflow:hidden;box-shadow:0 15px 48px rgba(13,27,42,.09)}.cm-cover{position:relative;display:block;height:440px;padding:24px;background:linear-gradient(145deg,#E9EDF2,#F9FAFB);overflow:hidden}.cm-cover img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 18px 28px rgba(13,27,42,.24));transition:.3s}.cm-project:hover .cm-cover img{transform:scale(1.025)}.cm-cover>span{position:absolute;right:18px;top:18px;padding:7px 11px;border-radius:99px;background:var(--cm-gold);color:var(--cm-navy);font:800 10px Montserrat}.cm-project-body{padding:28px}.cm-project-type{font:800 10px Montserrat;letter-spacing:.14em;color:#927200;margin:0}.cm-project h3{font:700 23px Montserrat;margin:11px 0}.cm-project-body>p:not(.cm-project-type){color:var(--cm-muted)}.cm-project ul{list-style:none;padding:0;margin:20px 0}.cm-project li{padding:5px 0}.cm-project li:before{content:"✓";color:var(--cm-gold);margin-right:8px}.cm-text-link{color:#0E315B!important;font-weight:800;text-decoration:none!important}
.cm-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}.cm-muted{font-size:18px;line-height:1.7;color:var(--cm-muted)}.cm-checks{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cm-checks span{padding:18px;border-radius:15px;background:var(--cm-paper);font-weight:700}.cm-checks span:before{content:"✓";color:#927200;margin-right:9px}
.cm-note{width:100vw;margin-left:calc(50% - 50vw);padding:29px 0;background:#FFF5D5;border-top:1px solid #F0D77F;border-bottom:1px solid #F0D77F}.cm-note .cm-wrap{display:flex;gap:30px;align-items:center}.cm-note strong{font:800 18px Montserrat;color:#715800;white-space:nowrap}.cm-note p{margin:0;color:#5E6672}.cm-final{width:100vw;margin-left:calc(50% - 50vw);padding:95px 0;text-align:center;background:linear-gradient(135deg,#F2E2A7,#fff)}.cm-final p:not(.cm-kicker){color:var(--cm-muted);font-size:17px}
@media(max-width:1050px){.cm-hero-grid,.cm-split{grid-template-columns:1fr}.cm-scene{max-width:650px;width:100%;margin:auto}.cm-services-grid{grid-template-columns:repeat(2,1fr)}.cm-process{grid-template-columns:repeat(2,1fr)}.cm-projects-grid{grid-template-columns:1fr}.cm-cover{height:530px}}
@media(max-width:680px){.cm-wrap{width:min(100% - 26px,1280px)}.cm-hero{padding:72px 0}.cm-copy h1{font-size:42px}.cm-lead{font-size:17px}.cm-section{padding:78px 0}.cm-scene{height:415px}.cm-magazine-main{left:50%;transform:translateX(-50%) rotate(1.5deg);width:250px;height:345px}.cm-magazine-left{left:0;top:95px;width:170px;height:240px}.cm-magazine-right{right:0;top:90px;width:165px;height:230px}.cm-floating-card{display:none}.cm-services-grid,.cm-process,.cm-checks{grid-template-columns:1fr}.cm-cover{height:390px}.cm-note .cm-wrap{display:block}.cm-note strong{white-space:normal}}


/* V2 — intégration pleine largeur avec le thème actif */
body.mrcc-cm-active .site-main,
body.mrcc-cm-active .content-area,
body.mrcc-cm-active .site-content,
body.mrcc-cm-active .entry-content,
body.mrcc-cm-active article.page,
body.mrcc-cm-active main,
body.mrcc-cm-active #primary,
body.mrcc-cm-active #main {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}

body.mrcc-cm-active .entry-header,
body.mrcc-cm-active .page-header,
body.mrcc-cm-active .entry-title {
  display: none !important;
}

body.mrcc-cm-active .entry-content > .mrcc-cm-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.mrcc-cm-page .cm-hero,
.mrcc-cm-page .cm-dark,
.mrcc-cm-page .cm-pale,
.mrcc-cm-page .cm-note,
.mrcc-cm-page .cm-final {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mrcc-cm-page .cm-hero {
  min-height: 720px;
  display: flex;
  align-items: center;
}

.mrcc-cm-page .cm-hero-grid {
  width: min(1380px, calc(100% - 64px));
}

.mrcc-cm-page .cm-copy {
  min-width: 0;
}

.mrcc-cm-page .cm-copy h1 {
  max-width: 760px;
  overflow-wrap: normal;
  word-break: normal;
}

.mrcc-cm-page .cm-scene {
  min-width: 0;
}

@media (max-width: 1050px) {
  .mrcc-cm-page .cm-hero {
    min-height: auto;
  }
  .mrcc-cm-page .cm-hero-grid {
    width: min(100% - 40px, 1280px);
  }
}

@media (max-width: 680px) {
  .mrcc-cm-page .cm-hero-grid {
    width: min(100% - 26px, 1280px);
  }
}

/* V3 — modèle pleine largeur indépendant */
#mrcc-cm-fullwidth,
.mrcc-cm-fullwidth{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
#mrcc-cm-fullwidth .mrcc-cm-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#mrcc-cm-fullwidth .cm-hero,
#mrcc-cm-fullwidth .cm-dark,
#mrcc-cm-fullwidth .cm-pale,
#mrcc-cm-fullwidth .cm-note,
#mrcc-cm-fullwidth .cm-final{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
#mrcc-cm-fullwidth .cm-wrap,
#mrcc-cm-fullwidth .cm-hero-grid{
  width:min(1380px,calc(100% - 64px))!important;
}
#mrcc-cm-fullwidth .cm-hero{
  min-height:760px;
  padding:90px 0;
}
#mrcc-cm-fullwidth .cm-hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);
  gap:72px;
}
#mrcc-cm-fullwidth .cm-copy h1{
  font-size:clamp(54px,5.4vw,82px);
  max-width:760px;
}
#mrcc-cm-fullwidth .cm-scene{
  width:100%;
  max-width:620px;
  justify-self:end;
}
@media(max-width:1100px){
  #mrcc-cm-fullwidth .cm-wrap,
  #mrcc-cm-fullwidth .cm-hero-grid{
    width:min(100% - 40px,1280px)!important;
  }
  #mrcc-cm-fullwidth .cm-hero-grid{grid-template-columns:1fr}
  #mrcc-cm-fullwidth .cm-scene{justify-self:center}
  #mrcc-cm-fullwidth .cm-hero{min-height:auto}
}
@media(max-width:680px){
  #mrcc-cm-fullwidth .cm-wrap,
  #mrcc-cm-fullwidth .cm-hero-grid{
    width:min(100% - 26px,1280px)!important;
  }
  #mrcc-cm-fullwidth .cm-copy h1{font-size:42px}
}


/* V3.1 — correction du sous-menu du thème */
.site-header nav ul,
.site-header .menu,
.site-header .sub-menu,
header nav ul,
header .menu,
header .sub-menu {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

@media (min-width: 901px) {
  .site-header nav .menu > li,
  header nav .menu > li,
  .main-navigation .menu > li,
  .primary-menu > li {
    position: relative;
  }

  .site-header nav .sub-menu,
  header nav .sub-menu,
  .main-navigation .sub-menu,
  .primary-menu .sub-menu {
    position: absolute !important;
    z-index: 99999 !important;
    top: calc(100% + 12px) !important;
    left: 0 !important;
    min-width: 265px !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(8px);
    padding: 10px !important;
    border: 1px solid rgba(13,27,42,.10);
    border-radius: 16px;
    background: #fff !important;
    box-shadow: 0 18px 50px rgba(13,27,42,.16);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }

  .site-header nav li:hover > .sub-menu,
  .site-header nav li:focus-within > .sub-menu,
  header nav li:hover > .sub-menu,
  header nav li:focus-within > .sub-menu,
  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .sub-menu,
  .primary-menu li:hover > .sub-menu,
  .primary-menu li:focus-within > .sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0);
  }

  .site-header nav .sub-menu li,
  header nav .sub-menu li,
  .main-navigation .sub-menu li,
  .primary-menu .sub-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .site-header nav .sub-menu a,
  header nav .sub-menu a,
  .main-navigation .sub-menu a,
  .primary-menu .sub-menu a {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: 10px;
    color: #142033 !important;
    text-decoration: none !important;
    white-space: nowrap;
    line-height: 1.3;
  }

  .site-header nav .sub-menu a:hover,
  header nav .sub-menu a:hover,
  .main-navigation .sub-menu a:hover,
  .primary-menu .sub-menu a:hover {
    background: #f5f7fa !important;
    color: #9a7900 !important;
  }
}

@media (max-width: 900px) {
  .site-header nav .sub-menu,
  header nav .sub-menu,
  .main-navigation .sub-menu,
  .primary-menu .sub-menu {
    position: static !important;
    width: 100% !important;
    margin-top: 8px !important;
    padding-left: 16px !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
  }
}
