.elementor-kit-6{--e-global-color-primary:#F4EFE9;--e-global-color-secondary:#A69E94;--e-global-color-text:#D9D2C9;--e-global-color-accent:#F2852A;--e-global-color-mcjred:#E5222D;--e-global-color-mcjnoir:#0B0A09;--e-global-color-mcjsurf:#141210;--e-global-typography-primary-font-family:"Anton";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Outfit";--e-global-typography-accent-font-weight:500;background-color:#0B0A09;color:#D9D2C9;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1360px;}.e-con{--container-max-width:1360px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================
   MCJ-DEV — Styles du site (thème sombre cinématographique)
   Couleurs du logo : noir, rouge #E5222D, orange #F2852A
   ========================================================== */
:root {
  --mcj-bg: #0B0A09;
  --mcj-s1: #141210;
  --mcj-tx: #F4EFE9;
  --mcj-tx2: #D9D2C9;
  --mcj-mu: #A69E94;
  --mcj-ln: rgba(244, 239, 233, .12);
  --mcj-red: #E5222D;
  --mcj-org: #F2852A;
  --mcj-grad: linear-gradient(90deg, #E5222D, #F2852A);
  --mcj-glass: rgba(20, 18, 16, .55);
  --mcj-ease: cubic-bezier(.2, .8, .2, 1);
}
html, body { background: var(--mcj-bg); }
body { color: var(--mcj-tx); font-family: 'Outfit', system-ui, sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; overflow-x: hidden; position: relative; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--mcj-org); outline-offset: 3px; }

/* Containers : pas de padding par défaut, le gap est géré par classe */
body .e-con { --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px; }
.e-con.mcj-wrap { width: 100%; max-width: 1360px; margin-inline: auto; padding-inline: 32px; box-sizing: border-box; }
.e-con.mcj-sec { padding-block: 0 140px; }
.e-con.mcj-center { text-align: center; align-items: center; }
.e-con.mcj-row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
.e-con.mcj-stack { gap: 24px; }
.e-con.mcj-stack-sm { gap: 18px; }
.e-con.mcj-auto, .e-con.mcj-hleft, .e-con.mcj-brand, .e-con.mcj-sechead > .e-con { --width: auto; width: auto; }
.mcj-bigtitle { font-family: 'Anton', Impact, sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(52px, 7vw, 112px); line-height: .95; margin: 22px 0 0; color: var(--mcj-tx); }
.mcj-bigtitle .mcj-ser { display: block; }
.e-con.mcj-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }

/* Typo */
.e-con .mcj-h1 .elementor-heading-title { font-family: 'Anton', Impact, sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(56px, 8.6vw, 138px); line-height: .95; letter-spacing: .005em; color: var(--mcj-tx); }
.e-con .mcj-h2 .elementor-heading-title { font-family: 'Anton', Impact, sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(44px, 5.4vw, 84px); line-height: .95; color: var(--mcj-tx); }
.e-con .mcj-h2.is-xl .elementor-heading-title { font-size: clamp(52px, 7vw, 112px); }
.mcj-ser { display: inline; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 1.04em; }
.mcj-h1 .mcj-ser { display: block; line-height: .9; margin-top: .04em; }
.mcj-gt { background: var(--mcj-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.e-con .mcj-kick .elementor-heading-title, span.mcj-kick { font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 400; letter-spacing: .28em; text-transform: uppercase; color: var(--mcj-mu); display: inline-flex; align-items: center; gap: 14px; line-height: 1.4; }
.e-con .mcj-kick .elementor-heading-title::before, span.mcj-kick::before { content: ""; width: 36px; height: 1px; background: currentColor; opacity: .6; }
.e-con .mcj-kick.is-both .elementor-heading-title::after { content: ""; width: 36px; height: 1px; background: currentColor; opacity: .6; }
.mcj-lead, .mcj-p { font-size: 18px; line-height: 1.7; color: var(--mcj-tx2); font-weight: 300; }
.mcj-lead p, .mcj-p p { margin: 0 0 1em; }
.mcj-lead p:last-child, .mcj-p p:last-child { margin-bottom: 0; }
.mcj-muted { color: var(--mcj-mu); line-height: 1.6; }
.mcj-muted p { margin: 0; }

/* Boutons Elementor */
.elementor-widget.mcj-btn .elementor-button { display: inline-flex; align-items: center; min-height: 52px; padding: 0 8px 0 24px; border-radius: 999px; font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 500; text-transform: none; letter-spacing: 0; background: var(--mcj-tx); color: #0B0A09; border: 0; box-shadow: none; transition: background .25s; }
.elementor-widget.mcj-btn .elementor-button-content-wrapper { display: flex; flex-direction: row; align-items: center; gap: 14px; }
.elementor-widget.mcj-btn .elementor-button-text { order: 1; }
.elementor-widget.mcj-btn .elementor-button-icon { order: 2; }
.elementor-widget.mcj-btn .elementor-button-icon { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; margin: 0; background: var(--mcj-grad); color: #fff; transition: transform .3s var(--mcj-ease); font-size: 14px; }
.elementor-widget.mcj-btn .elementor-button-icon svg { width: 14px; height: 14px; fill: currentColor; }
.elementor-widget.mcj-btn .elementor-button:hover .elementor-button-icon { transform: rotate(-45deg); }
.elementor-widget.mcj-btn.is-grad .elementor-button { background: var(--mcj-grad); color: #fff; }
.elementor-widget.mcj-btn.is-grad .elementor-button-icon { background: #0B0A09; }
.elementor-widget.mcj-btn.is-ghost .elementor-button { background: transparent; color: var(--mcj-tx); padding: 0 20px 0 6px; }
.elementor-widget.mcj-btn.is-ghost .elementor-button-content-wrapper { gap: 12px; }
.elementor-widget.mcj-btn.is-ghost .elementor-button-icon { order: 0; }
.elementor-widget.mcj-btn.is-ghost .elementor-button-icon { background: transparent; border: 1px solid rgba(244, 239, 233, .4); }
.elementor-widget.mcj-btn.is-ghost .elementor-button:hover .elementor-button-icon { transform: none; background: var(--mcj-tx); color: #0B0A09; }

/* Boutons des composants (shortcodes) */
.mcj-pill { display: inline-flex; align-items: center; gap: 14px; min-height: 52px; padding: 0 8px 0 24px; border-radius: 999px; font-size: 15px; font-weight: 500; text-decoration: none; background: var(--mcj-tx); color: #0B0A09; }
.mcj-pill.is-grad { background: var(--mcj-grad); color: #fff; }
.mcj-pill-ic { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--mcj-grad); color: #fff; transition: transform .3s var(--mcj-ease); }
.mcj-pill.is-grad .mcj-pill-ic { background: #0B0A09; }
.mcj-pill:hover .mcj-pill-ic, .mcj-next:hover .mcj-pill-ic { transform: rotate(-45deg); }
.mcj-circ { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(244, 239, 233, .3); background: transparent; color: var(--mcj-tx); cursor: pointer; padding: 0; transition: background .2s, border-color .2s, color .2s; }
.mcj-circ:hover, .mcj-circ:focus { background: var(--mcj-tx); color: #0B0A09; border-color: var(--mcj-tx); }
.mcj-circ.is-fill { background: var(--mcj-tx); color: #0B0A09; border-color: var(--mcj-tx); }
.mcj-circ.is-fill:hover { background: var(--mcj-org); border-color: var(--mcj-org); color: #fff; }

/* Verre dépoli */
.mcj-glass, .e-con.mcj-glass, .mcj-feat, .mcj-cf-info, .mcj-facts { background: var(--mcj-glass); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); border: 1px solid rgba(244, 239, 233, .12); }

/* ---------- En-tête (Theme Builder) ---------- */
.e-con.mcj-header { position: absolute; top: 14px; left: 14px; right: auto; width: calc(100% - 28px); max-width: none; box-sizing: border-box; z-index: 50; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; }
body:not(.home):not(.single-projet) .e-con.mcj-header { position: relative; top: 0; left: 0; margin: 14px; }
.admin-bar .e-con.mcj-header { top: 14px; }
.e-con.mcj-brand { flex-direction: row; align-items: center; gap: 12px; width: auto; }
.mcj-logo img { width: 40px; height: 40px; object-fit: contain; background: #fff; border-radius: 50%; padding: 3px; box-sizing: border-box; }
.e-con .mcj-brand-txt .elementor-heading-title { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; color: var(--mcj-tx); }
.e-con .mcj-brand-txt .elementor-heading-title a { color: inherit; }
.mcj-nav .elementor-nav-menu--main .elementor-nav-menu { background: var(--mcj-glass); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid rgba(244, 239, 233, .12); border-radius: 999px; padding: 5px; gap: 4px; }
body .elementor .mcj-nav .elementor-nav-menu .elementor-item { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--mcj-tx); }
body .elementor .mcj-nav .elementor-nav-menu--main .elementor-item { padding: 11px 20px; border-radius: 999px; transition: background .2s; }
body .elementor .mcj-nav .elementor-nav-menu--main .elementor-item:hover, body .elementor .mcj-nav .elementor-nav-menu--main .elementor-item:focus, body .elementor .mcj-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { background: rgba(244, 239, 233, .1); color: var(--mcj-tx); }
.mcj-nav .elementor-menu-toggle { width: 46px; height: 46px; border-radius: 50%; background: var(--mcj-glass); color: var(--mcj-tx); border: 1px solid rgba(244, 239, 233, .14); }
.mcj-nav .elementor-menu-toggle svg { fill: var(--mcj-tx); }
.mcj-nav .elementor-nav-menu--dropdown { background: #141210; border: 1px solid var(--mcj-ln); border-radius: 18px; margin-top: 12px; overflow: hidden; }
.mcj-nav .elementor-nav-menu--dropdown a { color: var(--mcj-tx); padding: 16px 22px; font-family: 'Outfit', sans-serif; }
.mcj-nav .elementor-nav-menu--dropdown a:hover { background: rgba(229, 34, 45, .18); color: var(--mcj-tx); }

/* ---------- Hero accueil ---------- */
.e-con.mcj-hero { position: relative; margin: 14px; width: calc(100% - 28px); max-width: none; border-radius: 30px; overflow: hidden; min-height: 860px; background: #000; padding-top: 96px; gap: 0; }
.e-con.mcj-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(11, 10, 9, .92) 0%, rgba(11, 10, 9, .62) 42%, rgba(11, 10, 9, .15) 75%), linear-gradient(0deg, rgba(11, 10, 9, .85) 0%, rgba(11, 10, 9, 0) 40%); }
.mcj-hero-bg { position: absolute !important; inset: 0; z-index: 0; width: 100% !important; height: 100%; margin: 0 !important; }
.mcj-hero-bg .elementor-widget-container, .mcj-hero-bg .elementor-shortcode { height: 100%; }
.mcj-hbgs { position: absolute; inset: 0; }
.mcj-hbg { position: absolute; inset: 0; opacity: 0; transform: scale(1.06); transition: opacity 1.1s ease, transform 7s ease; }
.mcj-hbg.is-on { opacity: 1; transform: scale(1); }
.mcj-hbg img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.9) brightness(.62); }
.e-con.mcj-hbody { position: relative; z-index: 2; flex: 1; flex-direction: row; gap: 32px; padding: 56px 64px 0; }
.e-con.mcj-hleft { flex: 1; gap: 0; }
.mcj-hleft .mcj-h1 { margin-top: 26px; }
.e-con.mcj-hleft > .elementor-widget.mcj-lead { max-width: 34em; margin: 26px 0 34px; }
.mcj-side { width: 170px; flex: none; align-self: flex-start; margin-top: 30px; border-left: 1px solid var(--mcj-ln); padding: 6px 0 6px 18px; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-tx2); line-height: 2.2; }
.mcj-side p { margin: 0; }
.e-con.mcj-hfoot { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .8fr); gap: 16px; padding: 40px 26px 26px; align-items: end; }
.mcj-feat { border-radius: 24px; padding: 14px; display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
.mcj-feat-th { border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; display: block; }
.mcj-feat-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mcj-feat-body { display: flex; flex-direction: column; justify-content: space-between; gap: 10px; min-width: 0; }
.mcj-feat-top { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-mu); }
.mcj-feat-name { display: block; margin: 6px 0; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; font-size: 34px; line-height: 1; text-decoration: none; color: var(--mcj-tx); }
.mcj-feat-meta { font-size: 14px; color: var(--mcj-tx2); }
.mcj-feat-ctrl { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.mcj-arrows { display: flex; gap: 8px; }
.mcj-dots { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.mcj-dots i { height: 3px; width: 14px; border-radius: 2px; background: rgba(244, 239, 233, .3); display: block; transition: width .3s, background .3s; }
.mcj-dots i.is-on { width: 34px; background: var(--mcj-grad); }
.e-con.mcj-stats { border-radius: 24px; padding: 26px 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.mcj-stat { text-align: center; padding: 0 8px; }
.mcj-stat + .mcj-stat { border-left: 1px solid var(--mcj-ln); }
.mcj-stat p { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 13px; color: var(--mcj-mu); }
.mcj-stat strong { font-family: 'Anton', sans-serif; font-weight: 400; font-size: 40px; line-height: 1; color: var(--mcj-tx); }
.e-con.mcj-vision { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 18px; border-radius: 24px; padding: 18px 22px 18px 18px; background: rgba(11, 10, 9, .82); border: 1px solid var(--mcj-ln); min-height: 170px; text-decoration: none; color: var(--mcj-tx); transition: border-color .3s; box-sizing: border-box; }
.e-con.mcj-vision::after { content: "\2197"; position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--mcj-tx); color: #0B0A09; font-size: 15px; transition: background .25s, color .25s; }
.e-con.mcj-vision:hover::after { background: var(--mcj-grad); color: #fff; }
.mcj-avatar img { width: 96px; height: 128px; object-fit: cover; object-position: center 20%; border-radius: 16px; display: block; }
.e-con.mcj-vision-txt { gap: 8px; padding-right: 36px; }
.e-con.mcj-vision:hover { border-color: var(--mcj-org); }
.e-con .mcj-vision-t .elementor-heading-title { font-family: 'Outfit', sans-serif; font-size: 20px; font-weight: 500; text-transform: none; line-height: 1.2; color: var(--mcj-tx); }

/* ---------- Carrousel en arc ---------- */
.e-con.mcj-projets { padding: 130px 0 120px; overflow: hidden; }
.mcj-cf { width: 100%; }
.mcj-cf-stage { position: relative; height: 500px; perspective: 1500px; margin-top: 56px; }
.mcj-cf-glow { position: absolute; left: 50%; top: 50%; width: 520px; height: 340px; transform: translate(-50%, -30%); background: radial-gradient(closest-side, rgba(229, 34, 45, .35), rgba(242, 133, 42, .12), transparent); filter: blur(30px); pointer-events: none; }
.mcj-cf-item { --gap: 250px; --off: 0; --abs: 0; position: absolute; left: 50%; top: 20px; width: 300px; height: 430px; border-radius: 22px; overflow: hidden; border: 0; padding: 0; cursor: pointer; background: #1C1916; transform: translateX(calc(-50% + var(--off) * var(--gap))) translateZ(calc(var(--abs) * 46px)) rotateY(calc(var(--off) * -21deg)) scale(calc(1 - var(--abs) * .03)); transition: transform .7s var(--mcj-ease), opacity .5s, filter .5s; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8); filter: brightness(.5) saturate(.8); }
.mcj-cf-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mcj-cf-item.is-act { filter: none; box-shadow: 0 50px 90px -30px rgba(229, 34, 45, .45), 0 0 0 1px rgba(242, 133, 42, .6); }
.mcj-cf-item.is-far, .mcj-cf-item.is-out { opacity: 0; pointer-events: none; }
.mcj-cf-lab { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 18px 18px; text-align: left; background: linear-gradient(0deg, rgba(11, 10, 9, .92), transparent); color: var(--mcj-tx); }
.mcj-cf-lab small { display: block; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-tx2); }
.mcj-cf-lab span { display: block; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; font-size: 28px; margin-top: 4px; line-height: 1; }
.mcj-cats { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 28px; padding-inline: 16px; }
.mcj-cat { background: transparent; border: 0; color: var(--mcj-mu); cursor: pointer; font-family: inherit; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; gap: 16px; transition: color .2s; }
.mcj-cat:hover, .mcj-cat:focus { background: transparent; color: var(--mcj-tx); }
.mcj-cat::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--mcj-org); opacity: .7; }
.mcj-cat:last-child::after { display: none; }
.mcj-cat.is-on { color: var(--mcj-tx); }
.mcj-cat.is-on span { border-bottom: 2px solid var(--mcj-org); padding-bottom: 4px; }
.mcj-cf-info { width: calc(100% - 64px); max-width: 1296px; margin: 36px auto 0; padding: 22px 26px; border-radius: 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; box-sizing: border-box; }
.mcj-cf-txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mcj-cf-meta { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-mu); }
.mcj-cf-name { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; font-size: 38px; line-height: 1; }
.mcj-cf-ctrl { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* ---------- Galerie ---------- */
.e-con.mcj-sechead { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.mcj-sechead .mcj-muted { max-width: 26em; }
.mcj-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.mcj-card { position: relative; border-radius: 22px; overflow: hidden; height: 380px; text-decoration: none; color: var(--mcj-tx); display: block; background: #1C1916; }
.mcj-card.is-big { grid-column: span 2; }
.mcj-card.is-hidden { display: none; }
.mcj-more { display: flex; justify-content: center; margin-top: 40px; }
.mcj-more .mcj-pill { border: 0; cursor: pointer; font-family: inherit; }
.mcj-more .mcj-pill:hover .mcj-pill-ic { transform: translateY(3px); }
.mcj-more-n { color: #6b645c; }
.mcj-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--mcj-ease), filter .5s; filter: brightness(.72); }
.mcj-card:hover img { transform: scale(1.06); filter: brightness(.85); }
.mcj-card-ov { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11, 10, 9, .95) 0%, rgba(11, 10, 9, .2) 55%, transparent); display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; gap: 6px; }
.mcj-card-num { font-size: 12px; letter-spacing: .2em; color: var(--mcj-tx2); display: flex; align-items: center; gap: 12px; }
.mcj-card-num::after { content: ""; width: 40px; height: 1px; background: var(--mcj-org); }
.mcj-card-name { margin-top: 4px; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; font-size: 32px; line-height: 1.05; }
.mcj-card-meta { font-size: 14px; color: var(--mcj-tx2); }
.mcj-card-ex { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-org); display: inline-flex; gap: 8px; align-items: center; margin-top: 8px; }

/* ---------- Profil ---------- */
.e-con.mcj-pcard { position: relative; border-radius: 28px; overflow: hidden; min-height: 560px; background: radial-gradient(120% 90% at 30% 20%, #2a1610 0%, #120e0c 55%, #0B0A09 100%); border: 1px solid var(--mcj-ln); align-items: center; justify-content: center; }
.mcj-pcard-photo { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; }
.mcj-pcard-photo .elementor-widget-container, .mcj-pcard-photo img { width: 100%; height: 100%; }
.mcj-pcard-photo img { object-fit: cover; object-position: center 25%; display: block; }
.e-con.mcj-pcard::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(11, 10, 9, .75) 0%, rgba(11, 10, 9, 0) 45%), linear-gradient(135deg, rgba(229, 34, 45, .25), transparent 50%); }
.mcj-chip { z-index: 2; }
.mcj-chip { position: absolute !important; width: auto !important; border-radius: 18px; padding: 14px 18px; }
.mcj-chip.is-a { left: 24px; top: 24px; }
.mcj-chip.is-b { right: 24px; bottom: 24px; }
.mcj-chip p { margin: 0; display: flex; flex-direction: column; gap: 4px; font-size: 18px; font-weight: 500; color: var(--mcj-tx); }
.mcj-chip small { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-mu); font-weight: 400; }
.mcj-tl { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 8px; }
.mcj-tl::before { content: ""; position: absolute; left: 8px; right: 8px; top: 7px; height: 1px; background: linear-gradient(90deg, var(--mcj-red), var(--mcj-org), rgba(242, 133, 42, .1)); }
.mcj-tl > div { position: relative; padding-top: 30px; display: flex; flex-direction: column; gap: 6px; }
.mcj-tl > div::before { content: ""; position: absolute; left: 0; top: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--mcj-bg); border: 2px solid var(--mcj-org); box-sizing: border-box; }
.mcj-tl strong { font-size: 17px; font-weight: 500; }
.mcj-tl span { font-size: 14px; color: var(--mcj-mu); line-height: 1.5; }

/* ---------- Services (Icon Box) ---------- */
.e-con.mcj-svcs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: svc; margin-top: 40px; }
.mcj-svc { counter-increment: svc; border-radius: 24px; padding: 28px; background: var(--mcj-s1); border: 1px solid var(--mcj-ln); position: relative; transition: border-color .3s, transform .4s var(--mcj-ease); }
.mcj-svc:hover { border-color: rgba(242, 133, 42, .55); transform: translateY(-4px); }
.mcj-svc::after { content: "0" counter(svc); position: absolute; top: 30px; right: 28px; font-size: 12px; letter-spacing: .2em; color: var(--mcj-mu); }
.mcj-svc .elementor-icon-box-wrapper { text-align: left; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.mcj-svc .elementor-icon-box-icon { margin: 0 !important; }
.mcj-svc .elementor-icon { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(229, 34, 45, .12); color: var(--mcj-org); fill: var(--mcj-org); font-size: 22px; }
.mcj-svc .elementor-icon svg { width: 22px; height: 22px; fill: var(--mcj-org); }
.mcj-svc .elementor-icon-box-title { margin: 0 0 10px; font-family: 'Outfit', sans-serif; font-size: 22px; font-weight: 500; text-transform: none; color: var(--mcj-tx); line-height: 1.2; }
.mcj-svc .elementor-icon-box-description { margin: 0; color: var(--mcj-mu); line-height: 1.6; font-size: 15px; font-family: 'Outfit', sans-serif; font-weight: 300; }

/* ---------- Contact ---------- */
.e-con.mcj-cta { position: relative; margin: 0 14px; width: calc(100% - 28px); max-width: none; border-radius: 30px; overflow: hidden; padding: 96px 0; background: #110E0C; border: 1px solid var(--mcj-ln); }
.e-con.mcj-cta::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 80% at 0% 0%, rgba(229, 34, 45, .42), transparent 70%), radial-gradient(50% 70% at 100% 100%, rgba(242, 133, 42, .32), transparent 70%); }
.mcj-cta-deco { position: absolute !important; left: 30%; top: 50%; width: 560px !important; transform: translate(-50%, -50%); opacity: .12; pointer-events: none; margin: 0 !important; }
.mcj-cta-deco img { width: 100%; height: auto; display: block; }
.mcj-cta > .e-con { position: relative; z-index: 1; }
.mcj-links p { margin: 0; display: flex; gap: 22px; flex-wrap: wrap; font-size: 15px; }
.mcj-links a { padding: 10px 0; text-decoration: none; color: var(--mcj-tx); }
.mcj-links a:hover { color: var(--mcj-org); }
.mcj-form { border-radius: 26px; padding: 30px; }
.mcj-form .elementor-field-group { margin-bottom: 18px; }
.mcj-form .elementor-field-label { font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--mcj-tx2); margin-bottom: 8px; }
.elementor-widget.mcj-form .elementor-field-group .elementor-field-textual, .elementor-widget.mcj-form .elementor-field-group .elementor-select-wrapper select { font-family: 'Outfit', sans-serif; font-size: 16px; color: var(--mcj-tx); background: rgba(244, 239, 233, .06); border: 1px solid rgba(244, 239, 233, .16); border-radius: 14px; padding: 12px 14px; min-height: 48px; }
.elementor-widget.mcj-form .elementor-field-group .elementor-field-textual:focus, .elementor-widget.mcj-form .elementor-field-group select:focus { border-color: var(--mcj-org); box-shadow: none; outline: none; }
.mcj-form select option { color: #0B0A09; }
.mcj-form .elementor-select-wrapper .select-caret-down-wrapper { color: var(--mcj-tx2); }
.elementor-widget.mcj-form .elementor-button { min-height: 52px; padding: 0 28px; border-radius: 999px; background: var(--mcj-grad); color: #fff; font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 500; text-transform: none; }
.mcj-form .elementor-message { color: var(--mcj-tx); }

/* ---------- Pied de page ---------- */
.e-con.mcj-footer { flex-direction: row; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 36px 32px; margin: 40px auto 0; max-width: 1360px; border-top: 1px solid var(--mcj-ln); color: var(--mcj-mu); font-size: 14px; }
.mcj-footer-links p, .mcj-footer-copy p { margin: 0; display: flex; gap: 6px 24px; flex-wrap: wrap; }
.mcj-footer-links a { text-decoration: none; padding: 10px 0; color: var(--mcj-mu); }
.mcj-footer-links a:hover { color: var(--mcj-tx); }

/* ---------- Page projet ---------- */
.e-con.mcj-phero { position: relative; margin: 14px; width: calc(100% - 28px); max-width: none; border-radius: 30px; overflow: hidden; min-height: 760px; justify-content: flex-end; padding: 120px 56px 48px; gap: 22px; background-size: cover; background-position: center; background-color: #000; }
.e-con.mcj-phero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11, 10, 9, .95) 0%, rgba(11, 10, 9, .45) 55%, rgba(11, 10, 9, .6) 100%); pointer-events: none; }
.mcj-phero > .elementor-element { position: relative; z-index: 1; }
.e-con .mcj-ptitle .elementor-heading-title { font-family: 'Anton', Impact, sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(64px, 12vw, 200px); line-height: .9; color: var(--mcj-tx); }
.e-con.mcj-pcap { padding-bottom: 120px; }
.e-con .elementor-widget.mcj-plead, .e-con .elementor-widget.mcj-plead p { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 500; font-size: clamp(26px, 2.6vw, 40px); line-height: 1.2; color: var(--mcj-tx); max-width: 22em; margin: 0; }
.mcj-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-radius: 22px; padding: 20px 8px; margin: 10px 0 0; max-width: 960px; }
.mcj-facts div { padding: 6px 18px; display: flex; flex-direction: column; gap: 8px; border-left: 1px solid var(--mcj-ln); }
.mcj-facts div:first-child { border-left: 0; }
.mcj-facts dt { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--mcj-mu); }
.mcj-facts dd { margin: 0; font-size: 16px; color: var(--mcj-tx); }
.mcj-facts a { color: var(--mcj-org); text-decoration: none; }
.e-con.mcj-pbody { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 56px; padding-top: 110px; padding-bottom: 80px; }
.mcj-pcontent { font-size: 19px; line-height: 1.75; color: var(--mcj-tx2); }
.mcj-pcontent p:first-child { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 500; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.25; color: var(--mcj-tx); }
.mcj-browser { margin: 0 0 120px; border-radius: 22px; overflow: hidden; background: var(--mcj-s1); border: 1px solid var(--mcj-ln); box-shadow: 0 60px 120px -40px rgba(229, 34, 45, .35); }
.mcj-browser-bar { display: flex; align-items: center; gap: 16px; padding: 14px 18px; color: var(--mcj-mu); font-size: 13px; }
.mcj-browser-dots { display: flex; gap: 7px; width: 47px; }
.mcj-browser-dots i { width: 11px; height: 11px; border-radius: 50%; display: block; background: #3a3631; }
.mcj-browser-dots i:first-child { background: var(--mcj-red); }
.mcj-browser-dots i:nth-child(2) { background: var(--mcj-org); }
.mcj-browser-url { flex: 1; text-align: center; background: #1f1c19; border-radius: 999px; padding: 7px 0; max-width: 420px; margin: 0 auto; }
.mcj-browser-bar > span:last-child { width: 47px; }
.mcj-browser img { width: 100%; height: auto; display: block; }
.mcj-next { position: relative; display: block; margin: 0 14px 14px; border-radius: 30px; overflow: hidden; text-decoration: none; color: var(--mcj-tx); min-height: 420px; }
.mcj-next img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.4); transition: transform .9s var(--mcj-ease); }
.mcj-next:hover img { transform: scale(1.05); }
.mcj-next-in { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; min-height: 420px; padding: 64px 56px; box-sizing: border-box; background: linear-gradient(120deg, rgba(229, 34, 45, .45), rgba(11, 10, 9, .6) 60%); }
.mcj-next-txt { display: flex; flex-direction: column; gap: 14px; }
.mcj-next .mcj-kick { color: #EDE6DE; }
.mcj-next-name { font-family: 'Anton', sans-serif; text-transform: uppercase; font-size: clamp(52px, 8vw, 128px); line-height: .95; }
.mcj-next-meta { color: var(--mcj-tx2); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .e-con.mcj-hfoot { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .e-con.mcj-vision, .mcj-side { display: none; }
  .e-con.mcj-two, .e-con.mcj-pbody { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .mcj-grid, .e-con.mcj-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .e-con.mcj-wrap { padding-inline: 16px; }
  .e-con.mcj-header { left: 8px; top: 8px; width: calc(100% - 16px); padding: 14px 14px; }
  .e-con.mcj-brand .mcj-brand-txt { display: none; }
  .e-con.mcj-header .mcj-btn { display: none; }
  .e-con.mcj-hero, .e-con.mcj-phero { margin: 8px; width: calc(100% - 16px); border-radius: 22px; min-height: 0; }
  .e-con.mcj-hbody { padding: 28px 20px 0; }
  .e-con.mcj-hfoot { grid-template-columns: minmax(0, 1fr); padding: 28px 12px 12px; }
  .mcj-cta-deco { width: 340px !important; left: 70%; top: 22%; }
  .mcj-feat { grid-template-columns: 110px minmax(0, 1fr); }
  .mcj-cf-item { width: 220px; height: 320px; --gap: 120px; }
  .mcj-cf-stage { height: 380px; }
  .mcj-cf-info { width: calc(100% - 32px); }
  .mcj-grid, .e-con.mcj-svcs { grid-template-columns: minmax(0, 1fr); }
  .mcj-card.is-big { grid-column: auto; }
  .mcj-card { height: 320px; }
  .mcj-tl { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .mcj-tl::before { display: none; }
  .e-con.mcj-cta { margin: 0 8px; width: calc(100% - 16px); padding: 56px 0; }
  .mcj-form { padding: 20px; }
  .e-con.mcj-pcard { min-height: 400px; }
  .e-con.mcj-phero { padding: 110px 20px 24px; }
  .mcj-facts div { border-left: 0; }
  .mcj-next { margin: 0 8px 8px; }
  .mcj-next-in { padding: 40px 24px; }
  .e-con.mcj-sec { padding-bottom: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .mcj-hbg, .mcj-cf-item, .mcj-card img, .mcj-svc, .mcj-pill-ic, .elementor-widget.mcj-btn .elementor-button-icon, .mcj-next img { transition: none; }
}/* End custom CSS */