html, html.avada-html-layout-wide,
body, html body.custom-background,
#main, .layout-wide-mode #main, .layout-wide-mode #wrapper,
.layout-boxed-mode #main, .layout-boxed-mode.avada-footer-fx-sticky .above-footer-wrapper,
.layout-boxed-mode.avada-footer-fx-sticky-with-parallax-bg-image .above-footer-wrapper { background-color: #111111 !important; }
/* =============================================
   CUSTOM FONT — Avenir Next LT Pro
   ============================================= */
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Demi.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Demi-Italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Bold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Bold.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro Condensed';
  src: url('/wp-content/themes/Archetype/fonts/Avenir-Next-LT-Pro-Condensed.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Global font override — Avenir Next LT Pro */
:root {
  --avenir: 'Avenir Next LT Pro', 'Avenir', 'Nunito Sans', sans-serif;
  --body_typography-font-family: var(--avenir) !important;
  --body_typography-font-weight: 400 !important;
  --h1_typography-font-family: var(--avenir) !important;
  --h1_typography-font-weight: 700 !important;
  --h2_typography-font-family: var(--avenir) !important;
  --h2_typography-font-weight: 700 !important;
  --h3_typography-font-family: var(--avenir) !important;
  --h3_typography-font-weight: 700 !important;
  --h4_typography-font-family: var(--avenir) !important;
  --h5_typography-font-family: var(--avenir) !important;
  --h6_typography-font-family: var(--avenir) !important;
  --nav_typography-font-family: var(--avenir) !important;
  --nav_typography-font-weight: 600 !important;
  --h1_typography-text-transform: none !important;
  --h2_typography-text-transform: none !important;
  --h3_typography-text-transform: none !important;
  --h4_typography-text-transform: none !important;
  --h5_typography-text-transform: none !important;
  --h6_typography-text-transform: none !important;
}

/* Headings — no uppercase (except hero) */
h1, h2, h3, h4, h5, h6,
.fusion-title h1, .fusion-title h2, .fusion-title h3, .fusion-title h4,
.post-content h1, .post-content h2, .post-content h3,
body .fusion-builder-row h2 {
  text-transform: none !important;
}

body,
body #wrapper,
body .fusion-body,
h1, h2, h3, h4, h5, h6,
.fusion-title h1, .fusion-title h2, .fusion-title h3, .fusion-title h4,
.fusion-widget-area,
.fusion-footer-widget-area,
.fusion-main-menu > ul > li > a,
.fusion-secondary-menu > ul > li > a,
.fusion-mobile-menu-design-modern .fusion-mobile-nav-holder li a,
.post-content,
p, a, span, li, td, th, input, textarea, select, button,
.fusion-button,
.avada-blog-layout-grid .post-content,
.fusion-rollover-content,
.fusion-tab-heading,
.panel-title a,
.fusion-accordian .panel-title a,
.fusion-content-boxes .heading,
.fusion-counter-box .counter-box-number,
.fusion-countdown .countdown-section .countdown-amount,
blockquote {
  font-family: var(--avenir) !important;
}

/* Body text — regular weight, 18px base (Figma match) */
body, body .fusion-body, .post-content, p, li, td, th,
.light-section .fusion-text p {
  font-weight: 400 !important;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.005em;
}
/* span/a inherit size from parent */
span, a {
  font-weight: inherit !important;
  font-size: inherit;
}

/* Section headings — Figma 40px */
h2, .fusion-title h2,
.fusion-fullwidth h2,
.fusion-content-boxes .heading h2,
body .fusion-builder-row h2 {
  font-weight: 700;
  font-size: 40px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
}
/* All h2 headings — force 700 Bold with !important to override Avada var() */
body .fusion-body h2,
body .fusion-body .post-content h2,
body .fusion-body .fusion-text h2,
body .fusion-body .ei-title h2,
body .fusion-body .main-flex .slide-content h2,
body .fusion-body .fusion-builder-row h2 {
  font-weight: 700 !important;
}
/* "Une expertise" heading — 900/Black */
body .fusion-body .fusion-text h2[style*="font-weight:900"],
body .fusion-body .fusion-text h2[style*="font-weight:900"] span {
  font-weight: 900 !important;
}

h3, .fusion-title h3,
body .fusion-builder-row h3 {
  font-weight: 700 !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
}

h4, .fusion-title h4 {
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Hero heading — Figma 60px, Bold, uppercase, tracking -0.3px, 872px width */
/* ── Hero heading — Figma: left-aligned, 60px, at left:163px ── */
.tfs-slider h1, .tfs-slider h2,
body.home .tfs-slider .slide-content h1 {
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-weight: 700 !important;
  font-size: 60px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
  text-transform: uppercase;
  max-width: 872px !important;
}
/* Force hero text LEFT alignment (override Avada fusion-title-center) */
body.home .tfs-slider .fusion-title-center,
body.home .tfs-slider .title-heading-center,
body.home .tfs-slider .slide-content,
body.home .tfs-slider .slide-content-container,
body.home .tfs-slider .heading,
body.home .tfs-slider .heading .fusion-title,
body.home .tfs-slider .heading .fusion-title-sc-wrapper,
body.home .tfs-slider .caption,
body.home .tfs-slider .buttons {
  text-align: left !important;
}
/* Remove dark background behind heading */
body.home .tfs-slider .fusion-title-sc-wrapper {
  background-color: transparent !important;
  background: transparent !important;
}
/* Hero content container — left-aligned at 163px */
body.home .tfs-slider .slide-content-container {
  text-align: left !important;
}
/* EN slide post 2643 has an inline display:none on the content container.
   Force it visible — FR doesn't have the inline style so FR is unaffected. */
body.home .tfs-slider .slide-content-container[style*="display: none"],
body.home .tfs-slider .slide-content-container[style*="display:none"] {
  display: block !important;
}
body.home .tfs-slider .slide-content {
  text-align: left !important;
  max-width: 932px !important;
}

/* Stats / counter numbers — Figma 36px bold */
.fusion-counter-box .counter-box-number,
.fusion-countdown .countdown-amount {
  font-weight: 700 !important;
  font-size: 36px !important;
  line-height: 40px !important;
}

/* Counter label text — Figma 20px Demi */
.fusion-counter-box .counter-box-content {
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
}

/* Buttons — Figma 17px, demi weight */
.fusion-button {
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* CTA section heading — Figma 33px */
.cta-card h2, .cta-card .fusion-title h2 {
  font-size: 33px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Careers section heading — Figma 40px */
body.home .fusion-builder-row h2[style*="font-size:36px"] {
  font-size: 40px !important;
}

/* "La rigueur" heading override — Figma 40px */
body.home .fusion-builder-row h2[style*="font-size:38px"] {
  font-size: 40px !important;
}

/* voir http://css3please.com/ pour une liste complete */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.nogutter, .nogutter [class*="col"] { padding-left: 0; padding-right: 0; }
:-moz-any-link:focus { outline: none; }
a img.alignright { float: right; margin: 5px 0 20px 20px; }
a img.alignnone  { margin: 5px 20px 20px 0; }
a img.alignleft  { float: left; margin: 5px 20px 20px 0; }
a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
img { max-width: 100%; height: auto; border: 0; -ms-interpolation-mode: bicubic; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.centered, .fusion-column.centered { margin: 0 auto; float: none; }
.show-on-laptop, .show-on-mobile { display: none; }

/* =============================================
   DARK THEME
   ============================================= */

body, #wrapper, .fusion-body { background-color: #111111 !important; color: #cccccc !important; }

/* ── Header shell — fully transparent ── */
#header,
.fusion-header-wrapper,
#sticky-nav,
.fusion-sticky-header-wrapper,
.fusion-header-v1, .fusion-header-v2, .fusion-header-v3,
.fusion-header-v4, .fusion-header-v5,
.fusion-top-header .fusion-header,
.fusion-header {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
/* Hide secondary header bar and sticky-height spacer */
.fusion-secondary-header,
.fusion-header-sticky-height {
  display: none !important;
}
/* Header padding: creates space above the pill */
.fusion-header {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* ── Header wrapper — always on top ── */
.fusion-header-wrapper {
  z-index: 10000 !important;
}
/* ── Home: header floats over hero so image fills full viewport ── */
body.home .fusion-header-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
body.home #wrapper {
  padding-top: 0 !important;
}
/* Center content on large screens while keeping section backgrounds full-width */
@media only screen and (min-width: 1441px) {
  /* Content rows centered */
  .fusion-fullwidth .fusion-row { max-width: 1294px !important; margin-left: auto !important; margin-right: auto !important; }
  .fusion-header .fusion-row { max-width: 1266px !important; margin-left: auto !important; margin-right: auto !important; }
  /* Hero slider content centered */
  body .tfs-slider .slide-content-container {
    max-width: 1294px !important; margin: 0 auto !important;
    padding-left: 163px !important; padding-right: 40px !important;
    box-sizing: border-box !important;
    left: 0 !important; right: 0 !important;
  }
  /* Stats row centered — override Avada inline width:104% !important */
  .stats-numbers-section .fusion-row[style],
  body.home .stats-numbers-section .fusion-builder-row.fusion-row[style] { width: 1294px !important; max-width: 1294px !important; margin-left: auto !important; margin-right: auto !important; }
  .rigueur-stats { max-width: 1107px !important; margin: 0 auto !important; }
  .rigueur-bg .fusion-row,
  .rigueur-bg.fusion-fullwidth .fusion-row { max-width: 1294px !important; margin-left: auto !important; margin-right: auto !important; }
  /* Social handle row — left/right aligned to match feed width */
  .social-handle-row { justify-content: space-between !important; }
  /* CTA card centered */
  body.home .cta-parler .fusion-column-wrapper , body.page-id-3378 .cta-parler .fusion-column-wrapper , body.page-id-3805 .cta-parler .fusion-column-wrapper { max-width: 1294px !important; }
  /* Footer content centered */
  .fusion-footer-widget-area .fusion-row { max-width: 1294px !important; width: 1294px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
  .fusion-footer-copyright-area .fusion-row { max-width: 1294px !important; width: 1294px !important; margin-left: auto !important; margin-right: auto !important; }
}


/* ── Logo — overlaps pill from top-left (Figma: 298×202px at left:74px top:-29px) ── */
@media only screen and (min-width: 1281px) {
  .fusion-logo {
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .fusion-logo .fusion-standard-logo,
  .fusion-logo .fusion-sticky-logo,
  .fusion-logo img {
    height: 75px !important;
    max-height: none !important;
    width: auto !important;
    filter: none !important;
  }
  /* Push nav items right to clear the logo */
  .fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) {
    margin-left: 280px !important;
  }
}
/* Narrow desktop smoothing (1281-1440): tighter nav spacing */
@media only screen and (min-width: 1281px) and (max-width: 1440px) {
  .fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) {
    margin-left: 200px !important;
    margin-right: 170px !important;
  }
  .fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) > .fusion-menu {
    gap: 20px !important;
  }
  .fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) > .fusion-menu > li > a {
    font-size: 15px !important;
  }
}
/* Tablet/mobile logo — stays in flow, smaller */

/* Tablet/mobile logo — stays in flow, smaller */
@media only screen and (max-width: 1280px) {
  /* Override desktop 163px padding on slider for mobile/tablet */
  body .tfs-slider .slide-content-container { padding-left: 26px !important; padding-right: 26px !important; }
  .fusion-logo {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .fusion-logo .fusion-standard-logo,
  .fusion-logo .fusion-sticky-logo,
  .fusion-logo img {
    height: var(--logo-h, 44px) !important;
    max-height: var(--logo-h, 44px) !important;
    width: auto !important;
    filter: none !important;
  }
}

/* ── Pill — dark rounded bar (Apr 2026 designer spec: 89px height) ── */
.fusion-header .fusion-row {
  --logo-h: 44px;
  position: relative !important;
  background: #111111 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 120px !important;
  max-width: 1266px !important;
  width: calc(100% - 170px) !important;
  height: 89px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
  box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important;
}
/* Remove pill shadow on inner pages */
body:not(.home) .fusion-header .fusion-row { box-shadow: none !important; }
/* Push inner page banner content below the pill nav */
/* body:not(.home) .fusion-page-title-bar { padding-top: 130px !important; }  [replaced by flex-centered banner CSS below] */
/* Override Avada's --nav_height CSS variable — Figma pill is 91px tall */
.fusion-header .fusion-main-menu {
  --nav_height: 81px;
}

/* Hide sticky nav — desktop pill handles navigation */
.fusion-main-menu.fusion-sticky-menu,
.fusion-mobile-sticky-nav-holder {
  display: none !important;
}
/* Hide mobile menu elements on desktop (mobile override below) */
@media only screen and (min-width: 768px) {
  .fusion-mobile-menu-icons,
  .fusion-mobile-nav-holder {
    display: none !important;
  }
}

/* Nav container — balanced margins to center nav between logo (220px) and CTA (216px) */
.fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  margin-right: 216px !important;
}
/* Hide search overlay */
.fusion-header .fusion-row .fusion-main-menu .fusion-overlay-search {
  display: none !important;
}
/* ul: flex, centered — Figma has nav items centered with ~40px gaps */
.fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) > .fusion-menu {
  display: flex !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 40px !important;
  float: none !important;
  flex-wrap: nowrap !important;
}
.fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) > .fusion-menu > li {
  float: none !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
}
/* Prevent any nav child from wrapping to a second line */
.fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) > .fusion-menu > li > a {
  line-height: var(--nav_height, 58px) !important;
  height: var(--nav_height, 58px) !important;
}
/* Sub-menus must be absolutely positioned so they don't affect pill flow */
.fusion-main-menu .fusion-menu > li { position: relative !important; }
.fusion-main-menu .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
}
.fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) > .fusion-menu > li > a {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ── Language switcher — outside pill ── */
.fusion-header { position: relative !important; }
.custom-lang-switcher {
  position: absolute;
  z-index: 10001;
}
.custom-lang-switcher a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.075px !important;
  text-transform: uppercase !important;
}
/* Contact page has a white background — switch lang toggle to black */
body.page-contact .custom-lang-switcher a,
body.page-id-3172 .custom-lang-switcher a {
  color: #000000 !important;
}
.custom-lang-switcher a:hover { color: #e06919 !important; }
.custom-lang-switcher a.lang-active { display: none !important; }

/* Hide tablet lang switcher on desktop — custom-lang-switcher handles it */
.tablet-lang-switcher { display: none !important; }
/* 768–1280: lang inside pill instead of outside */
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .custom-lang-switcher { display: none !important; }
  .tablet-lang-switcher {
    display: flex !important;
    align-items: center !important;
    order: 99 !important;
    flex-shrink: 0 !important;
    margin-left: 8px !important;
    margin-right: 12px !important;
  }
  .tablet-lang-switcher a.lang-active { display: none !important; }
  .tablet-lang-switcher a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    border: none !important;
  }
  .tablet-lang-switcher a:hover { color: #e06919 !important; }
}

/* Sticky pill */
.fusion-is-sticky .fusion-header {
  background: transparent !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.fusion-is-sticky .fusion-header .fusion-row,
.fusion-sticky-menu .fusion-header .fusion-row {
  background: rgba(10, 10, 10, 0.97) !important;
  border-radius: 100px !important;
}

/* Navigation — Figma: 17px, demi (600), white, centered */
.fusion-main-menu > ul > li > a,
.fusion-main-menu .fusion-menu > li > a {
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -0.085px !important;
  text-align: center !important;
}
.fusion-main-menu > ul > li > a:hover,
.fusion-main-menu .fusion-menu > li > a:hover { color: #e06919 !important; }
.fusion-main-menu .fusion-menu > li.current-menu-item > a,
.fusion-main-menu .fusion-menu > li.current_page_item > a { color: #e06919 !important; }

/* Secondary header — hidden (pill nav design, language via mobile nav) */
.fusion-secondary-header { display: none !important; }

/* Dropdowns */
.fusion-main-menu .sub-menu,
.fusion-megamenu-wrapper,
.fusion-megamenu-holder { display: none !important; }
.fusion-main-menu .fusion-caret,
.fusion-main-menu .fusion-arrow-svg,
.fusion-main-menu .fusion-dropdown-svg,
.fusion-main-menu li > a .arrow,
.fusion-main-menu li > a::after { display: none !important; }
.fusion-megamenu-title, .fusion-megamenu-title a { color: #e06919 !important; }
.fusion-megamenu-holder li a { color: #cccccc !important; }
.fusion-megamenu-holder li a:hover { color: #e06919 !important; }

/* =============================================
   OVERRIDE AVADA SECTION BACKGROUNDS
   Avada uses .fusion-fullwidth with --awb-bg-color CSS var
   ============================================= */
.fusion-fullwidth { background-color: #111111 !important; }
.fusion-builder-row-inner { background-color: transparent !important; }
.fusion-column-wrapper { background-color: transparent !important; }

/* Text */
h1, h2, h3, h4, h5, h6 { color: #ffffff !important; }
p, li, td, th { color: #cccccc !important; }
a { color: #e06919 !important; }
a:hover { color: #e8952e !important; }
/* Links styled as filled buttons (inline background + color) must keep their own text color */
a[style*="background"][style*="color:#ffffff"],
a[style*="background"][style*="color:#fff"],
a[style*="background:#e06919"],
a[style*="background: #e06919"],
a.fusion-button,
a.awb-button,
a.choix-modal-btn,
a.contact-email-link,
a.contact-cta-phone,
a.menu-btn-cta,
.footer-cta-btn { color: #ffffff !important; }
a[style*="background"][style*="color:#ffffff"]:hover,
a[style*="background"][style*="color:#fff"]:hover,
a.fusion-button:hover,
a.awb-button:hover,
a.choix-modal-btn:hover,
a.contact-email-link:hover,
a.menu-btn-cta:hover { color: #ffffff !important; }

/* Page title bar */
.fusion-page-title-bar, #page-title-bar { background-color: #1a1a1a !important; border-color: #222222 !important; }
.fusion-page-title-bar h1, .fusion-page-title-bar .fusion-page-title { color: #ffffff !important; }
.fusion-breadcrumbs a { color: #aaaaaa !important; }
.fusion-breadcrumbs .fusion-breadcrumb-sep { color: #555555 !important; }

/* Separator */
.fusion-separator,
.fusion-separator-border,
.fusion-separator-border.sep-single { border-color: #333333 !important; }
/* Hide separators entirely on services page (dark theme) */
body:not(.home) .fusion-separator-border.sep-single { border-color: transparent !important; }
body:not(.home) .fusion-sep-clear { display: none !important; }

/* Sidebar */
.fusion-sidebar-section, #sidebar, .sidebar { background-color: #1a1a1a !important; }
.widget-title { color: #e06919 !important; }

/* Forms */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="number"], input[type="search"], textarea, select {
  background-color: #1a1a1a !important;
  border-color: #333333 !important;
  color: #cccccc !important;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
  border-color: #e06919 !important;
  outline: none !important;
}

/* Service teasers — reduce section padding to match Figma */
body.home .fusion-fullwidth.teasers-services {
  padding-top: 0px !important;
  padding-bottom: 10px !important;
}
/* Service teasers — custom CSS grid (replaces Avada columns) */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 31px;
  max-width: 1107px;
  margin: 0 auto;
}
.svc-card {
  aspect-ratio: 1/1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  box-sizing: border-box;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none !important;
}
.svc-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--svc-bg);
  background-size: cover;
  background-position: center center;
  transition: transform 0.4s ease;
  border-radius: 20px;
}
.svc-card::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 24.5%, rgba(0,0,0,0.85) 100%);
  border-radius: 20px;
  pointer-events: none;
  z-index: 0;
}
.svc-card:hover::before { transform: scale(1.08); }
.svc-label {
  display: block;
  position: relative;
  z-index: 1;
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  opacity: 0.7;
  margin: 0 0 6px !important;
}
.svc-title {
  display: block;
  position: relative;
  z-index: 1;
  color: #ffffff !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-align: center;
  margin: 0 !important;
}
.svc-pill-row {
  grid-column: 1 / -1;
}
.svc-grid > p:empty {
  display: none;
}
/* Social section — increase padding to match Figma height */
body.home .reseaux-section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.reseaux-section .fusion-text p,
.fusion-fullwidth.light-section.reseaux-section .fusion-text p,
.fusion-fullwidth.light-section.reseaux-section p {
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  font-weight: 400;
  color: #000000 !important;
}
/* Social section heading — Figma 44px */
.reseaux-section h2, .reseaux-section .fusion-title h2 {
  font-size: 44px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
}
/* Social section — heading & description (Figma match) */
.light-section .fusion-text-11 h2 {
  font-size: 44px !important;
  color: #000000 !important;
  letter-spacing: -0.22px !important;
}
.light-section .fusion-text-11 p {
  color: #000000 !important;
  max-width: 646px !important;
  font-size: 18px !important;
  letter-spacing: -0.09px !important;
  line-height: 1.2 !important;
}
/* Social section — Instagram handle row + feed grid */
.social-handle-row {
  display: flex;
  align-items: center;
  justify-content: space-between; /* Apr 2026: handle left, arrow right (per designer) */
  margin: 0 auto 24px;
  position: relative;
}
.social-handle {
  display: flex;
  align-items: center;
  gap: 12px;
}
.social-handle span,
.social-handle span[style] {
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}
.social-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.social-suivez-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  line-height: 0;
}
.social-suivez-btn svg {
  width: 40px;
  height: 40px;
  display: block;
}
.social-suivez-btn:hover {
  transform: translateY(-50%) scale(1.1);
  opacity: 0.9;
}
.social-feed-carousel {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
}
.social-feed-carousel::before,
.social-feed-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(130px, 20vw, 300px);
  z-index: 2;
  pointer-events: none;
}
.social-feed-carousel::before {
  left: 0;
  background: linear-gradient(to right, #ffffff, transparent);
}
.social-feed-carousel::after {
  right: 0;
  background: linear-gradient(to left, #ffffff, transparent);
}
.social-feed-track {
  display: flex;
  gap: 36px;
  transition: transform 0.5s ease;
  padding: 0 3%;
}
.social-feed-item {
  flex: 0 0 auto;
  width: 326px;
  height: 326px;
  background-color: #e5e5e5;
  border-radius: 20px;
  display: block;
  transition: opacity 0.2s;
  overflow: hidden;
}
.social-feed-item.social-feed-tall {
  width: 326px;
  height: 326px;
}
.social-feed-item:hover { opacity: 0.8; }
.social-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 48px;
}
.social-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #cccccc;
  cursor: pointer;
  transition: background 0.3s;
}
.social-dot.active {
  background: #0e60a1;
}

/* Service teasers on inner pages still use solid dark blue */
body .list_child_pages_teasers .fusion-layout-column .fusion-column-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0f2a4a !important;
  border: 1px solid #1a3d6b !important;
  transition: background-color 0.3s;
}
body .list_child_pages_teasers .fusion-layout-column .fusion-column-wrapper:hover {
  background-color: #1a3d6b !important;
}
body .teasers-services .fusion-layout-column.fusion_builder_column_1_6 .fusion-column-wrapper,
body .list_child_pages_teasers .fusion-layout-column.fusion_builder_column_1_6 .fusion-column-wrapper {
  background-color: transparent !important;
  border: none !important;
}
body .teasers-services .fusion-title,
body .list_child_pages_teasers .fusion-title { margin-bottom: 0 !important; }
body .teasers-services h3.title-heading-center,
body .list_child_pages_teasers h3.title-heading-center {
  padding: 10px !important;
  display: flex;
  color: #ffffff !important;
  font-weight: 300;
  text-shadow: 0 2px 10px rgba(0,0,0,0.85);
}

/* ── Disable parallax — hide the separate parallax divs, force bg on sections ── */
body.home .fusion-bg-parallax { display: none !important; }
body.home .tunesaispas-bg {
  background-color: #000000 !important;
  background-position: center center !important;
  padding-top: 420px !important;
  padding-bottom: 76px !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  margin-top: -200px !important;
  margin-bottom: -2px !important;
}
/* Stats / numbers section — darker black to match image fade */
body.page-id-1188 .fusion-builder-row-7,
body.page-id-2640 .fusion-builder-row-6 {
  background-color: #080808 !important;
}

/* ================================================================
   LA RIGUEUR SECTION — Consolidated CSS
   3 breakpoints: mobile (<768), tablet (768+), desktop (1280+)
   ================================================================ */

/* --- Base (all sizes) --- */
body.home .rigueur-bg {
  background-attachment: scroll !important;
  background-size: cover !important;
  background-position: 65% 45% !important;
  background-repeat: no-repeat !important;
  padding: 0 !important;
  position: relative;
  background-color: #000000 !important;
}
.rigueur-bg > .fusion-builder-row { position: relative; z-index: 2; }
.rigueur-bg::before { display: none !important; }
.rigueur-bg::after { display: none; }
.rigueur-bg .fusion-column-wrapper { padding: 0 !important; }
.rigueur-bg .fusion-layout-column { width: 100% !important; max-width: 100% !important; }

.rigueur-all { display: flex; flex-direction: column; justify-content: center; max-width: 1440px; margin: 0 auto; }
.rigueur-content { display: flex; align-items: center; margin: 0 auto; }
body.home .rigueur-left h2 { font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important; font-weight: 700 !important; line-height: 1.2 !important; }
body.home .rigueur-bg .rigueur-right p,
body.home .rigueur-bg .rigueur-desc { font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important; line-height: 1.2 !important; color: #ffffff !important; letter-spacing: -0.065px !important; }
.rigueur-divider { width: 1px; height: 267px; background: #e06919; flex-shrink: 0; }
.rigueur-right > div[style*="margin-top"] { margin-top: 0 !important; }
.rigueur-pill { display: inline-flex; align-items: center; justify-content: center; background: rgba(25,25,25,0.4); border: 1px solid #3c3c3c; color: #ffffff; font-weight: 400; letter-spacing: 0; text-transform: uppercase; opacity: 0.8; border-radius: 50px; white-space: nowrap; }
.rigueur-btn { display: inline-flex; align-items: center; justify-content: center; background: #e06919; color: #ffffff !important; border: none; border-radius: 50px; font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif; font-weight: 600 !important; text-decoration: none; white-space: nowrap; transition: all 0.2s; }
.rigueur-btn:hover { background: #c8681a; color: #ffffff !important; }
.rigueur-arrow { display: inline-flex; align-items: center; vertical-align: middle; }
.rigueur-dot { background: #545454; border-radius: 50%; display: inline-block; transition: all 0.3s ease; }
.rigueur-dot.active { background: #e06919; border-radius: 50px; }
body.home .rigueur-heading { transition: opacity 0.3s ease; color: #e06919 !important; font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important; font-weight: 700 !important; line-height: 1.2 !important; font-size: clamp(14px, 2.3vw, 24px) !important; margin-bottom: clamp(10px, 1.5vw, 12px) !important; }
body.home .rigueur-bg .rigueur-desc { transition: opacity 0.3s ease; margin-bottom: 0 !important; }

/* --- Stats (separate section, kept here for proximity) --- */
.stats-numbers-section.fusion-fullwidth { background-color: #000000 !important; padding-top: 40px !important; padding-bottom: 60px !important; }
.rigueur-stats { display: flex; justify-content: center; gap: 80px; text-align: center; width: 100%; max-width: 1107px; margin: 0 auto; padding: 0; }
.rigueur-stat { display: flex; flex-direction: column; align-items: center; border: none !important; position: relative; }
.rigueur-stat-number { font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important; font-weight: 700 !important; font-size: 36px !important; line-height: 40px !important; color: #ffffff !important; }
.rigueur-stat-label { font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important; font-weight: 600 !important; font-size: 20px !important; line-height: 22px !important; color: #ffffff !important; text-align: center; margin-top: 24px; } /* Apr 2026: weight 600 (Demi) per designer */

/* --- Stacked layout (<1024px) — Fluid scaling, no divider --- */
/* Figma gaps: pill→heading 14/22px, heading→dots 0/16px, left→right 9px */
/* h3 heading is extra (not in Figma) — needs its own breathing room */
@media (max-width: 1023px) {
  .rigueur-all { padding: 0 !important; min-height: clamp(585px, 90vw, 655px) !important; aspect-ratio: auto !important; }
  .rigueur-content { flex-direction: column !important; gap: clamp(30px, 4.5vw, 30px) !important; max-width: 700px !important; padding: 0 clamp(26px, 4vw, 30px) !important; }
  .rigueur-left { flex: none !important; width: 100% !important; padding-right: 0 !important; max-width: none !important; }
  body.home .rigueur-left h2 { font-size: clamp(27px, 4.5vw, 35px) !important; letter-spacing: -0.135px !important; max-width: 13.5em !important; }
  .rigueur-divider { display: none !important; }
  .rigueur-right { flex: none !important; width: 100% !important; max-width: 100% !important; margin-left: 0 !important; padding-left: 0 !important; }
  body.home .rigueur-bg .rigueur-right p, body.home .rigueur-bg .rigueur-desc { font-size: clamp(13px, 2vw, 15px) !important; letter-spacing: -0.065px !important; }
  .rigueur-pill { font-size: clamp(13px, 2vw, 15px) !important; width: auto !important; min-width: 0 !important; height: 38px !important; padding: 0 clamp(18px, 2vw, 20px) !important; }
  .rigueur-pill-wrapper { margin-bottom: clamp(18px, 3vw, 22px) !important; }
  .rigueur-dots { margin-top: clamp(10px, 2vw, 16px) !important; }
  .rigueur-dot { width: clamp(7px, 1.3vw, 10px) !important; height: clamp(7px, 1.3vw, 10px) !important; }
  .rigueur-dot.active { width: clamp(29px, 5.5vw, 43px) !important; }
  body.home .rigueur-bg .rigueur-desc { margin-bottom: 0 !important; max-width: clamp(280px, 50vw, 381px) !important; min-height: 130px !important; }
  .rigueur-right > p:not(.rigueur-desc) { display: block !important; color: rgba(255,255,255,0.85) !important; font-size: 13px !important; line-height: 1.4 !important; margin-top: 12px !important; }
  .rigueur-right > div[style*="margin-top"] { margin-top: 32px !important; }
  .rigueur-btn { font-size: clamp(13px, 2vw, 15px) !important; height: clamp(31px, 5vw, 37px) !important; width: auto !important; min-width: 0 !important; padding: 0 clamp(18px, 2.5vw, 24px) !important; margin-top: clamp(0.1px, calc(1.543vw - 5.79px), 10px) !important; }
  .rigueur-btn .rigueur-arrow { margin-left: 8px !important; }
  .rigueur-arrow svg { width: clamp(9px, 1.4vw, 11px) !important; height: clamp(9px, 1.4vw, 11px) !important; }
}

/* --- Desktop (1024px+) — Side-by-side, centered divider, proportional scaling --- */
@media (min-width: 1024px) {
  body.home .rigueur-bg { background-position: 50% 40% !important; }
  .rigueur-all { padding: 0 !important; min-height: clamp(600px, 72vw, 655px) !important; aspect-ratio: auto !important; }
  .rigueur-content { flex-direction: row !important; max-width: clamp(840px, 82vw, 1107px) !important; padding: 0 clamp(30px, 3vw, 40px) !important; gap: clamp(50px, 5.2vw, 75px) !important; }
  .rigueur-left { flex: 1 1 0 !important; width: auto !important; padding-right: 0 !important; max-width: none !important; }
  .rigueur-divider { display: block !important; margin: 0 !important; }
  .rigueur-right { flex: 1 1 0 !important; width: auto !important; max-width: none !important; margin-left: 0 !important; padding-left: 0 !important; }
  body.home .rigueur-left h2 { font-size: clamp(35px, 3vw, 40px) !important; letter-spacing: -0.2px !important; }
  body.home .rigueur-bg .rigueur-right p { font-size: clamp(15px, 1.3vw, 18px) !important; letter-spacing: -0.09px !important; }
  .rigueur-pill { font-size: clamp(15px, 1.2vw, 17px) !important; width: auto !important; min-width: 0 !important; height: clamp(38px, 2.8vw, 40px) !important; padding: 0 24px !important; }
  .rigueur-pill-wrapper { margin-bottom: clamp(22px, 2.1vw, 29px) !important; }
  .rigueur-dots { margin-top: clamp(16px, 2vw, 27px) !important; }
  .rigueur-btn { font-size: clamp(15px, 1.3vw, 18px) !important; height: clamp(37px, 3.3vw, 46px) !important; width: auto !important; min-width: 0 !important; padding: 0 clamp(20px, 1.8vw, 28px) !important; margin-top: clamp(10px, 1.5vw, 20px) !important; }
  .rigueur-dot { width: 10px !important; height: 10px !important; }
  .rigueur-dot.active { width: 43px !important; }
  .rigueur-arrow { margin-left: 8px !important; }
  .rigueur-arrow svg { width: clamp(11px, 1vw, 13px) !important; height: clamp(11px, 1vw, 13px) !important; }
}

/* Carrières section */
/* ================================================================
   CAREERS SECTION
   Architecture: image on column-first (inherits --awb-background-image),
   text on column-last with black bg. Gradient on column-first::after.
   Stacked (<1024px) / side-by-side (>=1024px). No section-level bg hack.
   ================================================================ */

/* -- Section: black bg, kill Avada background (moved to column-first) -- */
.carrieres-bg.fusion-fullwidth,
.carrieres-bg.fusion-fullwidth[style] {
  position: relative;
  background-color: #000000 !important;
  background-image: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  --awb-padding-top: 0px !important;
  --awb-padding-bottom: 0px !important;
}
/* Kill section-level pseudo-elements (gradient now lives on column-first) */
.carrieres-bg::before,
.carrieres-bg::after { display: none !important; }

/* -- Row: full-width (override Avada 1294px max-width), natural flow -- */
.carrieres-bg .fusion-builder-row.fusion-row {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  display: block !important;
  background: transparent !important;
}
.carrieres-bg > .fusion-builder-row { position: relative; z-index: 2; }

/* -- Image column: inherits --awb-background-image from section -- */
.carrieres-bg .fusion-layout-column.fusion-column-first {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: min(78vw, 470px) !important;
  margin: 0 !important;
  float: none !important;
  overflow: hidden !important;
  background-image: var(--awb-background-image) !important;
  background-size: cover !important;
  background-position: 30% 35% !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
}
/* Hide the empty wrapper inside column-first */
.carrieres-bg .fusion-layout-column.fusion-column-first .fusion-column-wrapper {
  display: none !important;
}
/* Gradient overlay on image (mobile only: bottom fade to black) */
.carrieres-bg .fusion-layout-column.fusion-column-first::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(to bottom, transparent 0%, #000000 100%);
  z-index: 1;
  pointer-events: none;
}

/* -- Text column: gradient top (transparent where it overlaps image) to black -- */
.carrieres-bg .fusion-layout-column.fusion-column-last {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  background: linear-gradient(to bottom, transparent 0px, #000000 50px) !important;
  --awb-bg-color: transparent !important;
}
.carrieres-bg .fusion-layout-column.fusion-column-last[style] { --awb-padding-right: 0 !important; }
.carrieres-bg .fusion-layout-column[style] { --awb-padding-top: 0px !important; --awb-padding-bottom: 0px !important; }
.carrieres-bg .fusion-column-wrapper[style] { --awb-padding-top: 0px !important; --awb-padding-bottom: 0px !important; }

/* Text wrapper padding (Figma mobile: 38px sides, 83px bottom; pill overlaps 37px into gradient) */
.carrieres-bg .fusion-layout-column.fusion-column-last .fusion-column-wrapper {
  padding: 0 clamp(26px, 10vw, 38px) clamp(83px, 12vw, 83px) !important;
  margin-top: -37px !important;
  position: relative !important;
  z-index: 2 !important;
  background: none !important;
}

/* Transparent backgrounds on inner text wrappers only */
.carrieres-bg .fusion-column-wrapper.fusion-flex-column-wrapper-legacy,
.carrieres-bg .fusion-column-content-centered,
.carrieres-bg .fusion-column-content,
.carrieres-bg .fusion-text,
.carrieres-bg .fusion-clearfix,
.carrieres-bg .fusion-alignleft {
  background: none !important;
  background-color: transparent !important;
}

/* Text alignment */
.carrieres-bg .carrieres-pill-wrapper,
.carrieres-bg .fusion-column-content-centered,
.carrieres-bg .fusion-column-content,
.carrieres-bg .fusion-text { text-align: left !important; }
.carrieres-bg .fusion-column-content-centered { margin-left: 0; }
.carrieres-bg .fusion-alignleft { padding: 0 !important; margin: 0 !important; text-align: left !important; float: none !important; }

/* Pill (Figma: 13px/101w mobile -> 17px/143w desktop) */
.carrieres-pill-wrapper { margin-bottom: clamp(8px, 1.5vw, 15px); text-align: left !important; }
.carrieres-pill {
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(25,25,25,0.4); border: 1px solid #3c3c3c;
  color: #ffffff; font-family: 'Avenir Next LT Pro', sans-serif;
  font-size: clamp(13px, 2vw, 17px); font-weight: 400; text-transform: uppercase; opacity: 0.8;
  width: auto; min-width: 0; height: clamp(38px, 5vw, 40px);
  padding: 0 24px; white-space: nowrap; border-radius: 50px;
}

/* Heading (Figma: 27px mobile -> 35px iPad -> 40px desktop) */
body.home .carrieres-bg h2[style],
.carrieres-bg h2,
.carrieres-bg h2[style] {
  font-size: clamp(27px, 4.5vw, 35px) !important; line-height: 1.2 !important;
  letter-spacing: -0.135px !important;
  margin-bottom: clamp(33px, 3vw, 20px) !important;
  text-align: left !important;
}

/* Body (Figma: 13px mobile -> 15px iPad -> 18px desktop) */
body.home .carrieres-bg .fusion-text p,
body.home .carrieres-bg p[style],
.carrieres-bg .fusion-text p,
.carrieres-bg p,
.carrieres-bg p[style] {
  font-family: 'Avenir Next LT Pro', sans-serif !important; font-weight: 400;
  font-size: clamp(13px, 2vw, 15px) !important; line-height: 1.2 !important;
  color: rgba(255,255,255,0.85) !important; max-width: 422px !important;
  margin-bottom: clamp(34px, 3.2vw, 34px) !important; text-align: left !important;
}

/* Button — no arrow (Figma: plain text in orange pill) */
.carrieres-bg .fusion-button,
.carrieres-bg .fusion-button.carrieres-btn,
.carrieres-bg a.fusion-button {
  background: #e06919 !important; background-image: none !important;
  border: none !important; border-radius: 50px !important;
  height: clamp(31px, 5vw, 42px) !important; min-height: 31px !important;
  padding: 0 clamp(16px, 2vw, 19px) !important;
  width: clamp(190px, 30vw, 242px) !important; max-width: none !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  font-size: clamp(13px, 2vw, 15px) !important; font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important; white-space: nowrap !important;
  box-shadow: none !important; text-transform: none !important; transition: all 0.2s;
  box-sizing: border-box !important;
}
.carrieres-bg .fusion-button:hover {
  background: #c8681a !important; background-image: none !important;
  border: none !important; transform: none !important;
}
.carrieres-bg .fusion-button .fusion-button-text {
  color: #ffffff !important; font-size: clamp(13px, 2vw, 15px) !important; font-weight: 600 !important;
  display: inline-flex !important; align-items: center !important;
}
.carrieres-bg .fusion-button .fusion-button-text::after {
  content: '' !important;
  display: none !important;
  width: 13px !important; height: 13px !important;
  margin-left: 10px !important;
  background: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.32136 1L13.9998 7.5L7.32136 14' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.9997 7.50023L1 7.50023' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
}

/* -- Side-by-side (1024px+): Figma iPad/Desktop -- */
@media only screen and (min-width: 1024px) {
  /* Row: flex side-by-side, full-width */
  .carrieres-bg .fusion-builder-row.fusion-row,
  .carrieres-bg .fusion-builder-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: clamp(533px, 51vw, 800px) !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .carrieres-bg > .fusion-builder-row { height: clamp(533px, 51vw, 800px) !important; min-height: 0 !important; }

  /* Image column: left 52%, full height, anchored on subjects */
  .carrieres-bg .fusion-layout-column.fusion-column-first {
    width: 52% !important;
    max-width: 52% !important;
    height: auto !important;
    background-position: 35% center !important;
  }
  /* Desktop gradient: soften the right edge so image fades into black panel */
  .carrieres-bg .fusion-layout-column.fusion-column-first::after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    background: linear-gradient(to right, transparent 0%, transparent 55%, rgba(0,0,0,0.55) 80%, #000 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }
  /* Ultra-wide cap: keep section from sprawling past 1700px */
  @media (min-width: 1700px) {
    .carrieres-bg .fusion-builder-row.fusion-row,
    .carrieres-bg > .fusion-builder-row {
      max-width: 1700px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  /* Text column: right 48%, vertically centered */
  .carrieres-bg .fusion-layout-column.fusion-column-last {
    width: 48% !important;
    max-width: 48% !important;
    height: 100% !important;
  }
  .carrieres-bg .fusion-layout-column.fusion-column-last .fusion-column-wrapper {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    padding: clamp(40px, 4vw, 60px) clamp(30px, 3vw, 50px) !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }
  .carrieres-bg .fusion-column-content-centered {
    margin: 0 !important;
    max-width: clamp(400px, 85%, 500px);
  }

  /* Desktop font sizes (Figma: heading 487px max, body 422px max) */
  .carrieres-pill { font-size: 17px !important; width: auto !important; min-width: 0 !important; height: 40px !important; padding: 0 24px !important; }
  .carrieres-pill-wrapper { margin-bottom: 14px; }
  body.home .carrieres-bg h2[style],
  .carrieres-bg h2, .carrieres-bg h2[style] {
    font-size: clamp(35px, 2.8vw, 40px) !important;
    letter-spacing: -0.2px !important;
    margin-bottom: 20px !important;
    max-width: 487px !important;
  }
  body.home .carrieres-bg .fusion-text p,
  .carrieres-bg .fusion-text p {
    font-size: clamp(15px, 1.25vw, 18px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.09px !important;
    color: rgba(255,255,255,0.85) !important;
    margin-bottom: clamp(24px, 2.4vw, 34px) !important;
    max-width: 422px !important;
  }
  .carrieres-bg .fusion-button,
  .carrieres-bg .fusion-button.carrieres-btn,
  .carrieres-bg a.fusion-button {
    height: clamp(37px, 3.2vw, 46px) !important;
    min-height: clamp(37px, 3.2vw, 46px) !important;
    padding: 0 clamp(17px, 1.4vw, 19px) !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
    letter-spacing: 0 !important;
    width: clamp(242px, 20vw, 284px) !important;
  }
  .carrieres-bg .fusion-button .fusion-button-text {
    font-size: clamp(15px, 1.25vw, 18px) !important;
  }
  .carrieres-bg .fusion-button .fusion-button-text::after {
    display: inline-block !important;
  }
}


/* Footer */
#footer, .fusion-footer-widget-area, .fusion-footer-copyright-area, footer#footer {
  background-color: #000000 !important;
  border: none !important;
}
.fusion-footer-widget-area { background-color: #000000 !important; padding-top: 80px !important; padding-bottom: 40px !important; text-align: left !important; }
.fusion-footer-widget-area .fusion-column { text-align: left !important; }
body .fusion-footer-widget-area .widget-title { text-align: left !important; }
footer#footer .fusion-copyright-content .fusion-copyright-notice,
.fusion-copyright-notice, footer p, footer span, footer li { color: rgba(255,255,255,0.8) !important; }
body .fusion-footer-widget-area .widget-title,
body .fusion-footer-widget-area h3,
body .fusion-footer-widget-column .product-title { color: #ffffff !important; font-size: 16px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 22px !important; }
/* Footer links */
.footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.footer-links li { padding: 4px 0 !important; }
.footer-links li a { color: rgba(255,255,255,0.8) !important; text-decoration: none !important; font-size: 16px; font-weight: 400; line-height: 22px; transition: color 0.2s; }
.footer-links li a:hover { color: #e06919 !important; }
/* Footer "Trouve ta succursale" link — blue per Figma */
/* Footer contact links — Figma: white, 80% opacity, underlined for "Trouve ta succursale" */
.footer-link-with-icon { color: rgba(255,255,255,0.8) !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 16px !important; }
.footer-link-with-icon:hover { color: #ffffff !important; }
a.footer-link-with-icon[href*="bureaux"] { text-decoration: underline !important; }
/* Footer CTA button — auto-width, fixed 24px horizontal padding */
.footer-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  width: auto;
  min-width: 0;
  height: 43px;
  padding: 0 24px;
  background: #e06919;
  color: #ffffff !important;
  border: 2px solid #e06919;
  border-radius: 50px;
  box-shadow: 0 1px 4px 0 rgba(25,33,61,0.08);
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.1px;
  line-height: 1.3;
  text-decoration: none !important;
  transition: all 0.2s;
  white-space: nowrap;
}
.footer-cta-btn:hover { background: #c8681a; border-color: #ffffff; color: #ffffff !important; transform: none; }
@media only screen and (min-width: 1281px) {
  footer.fusion-footer-widget-area .fusion-row .fusion-columns.fusion-columns-4 { display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; }
  /* Figma proportions: logo 28%, services 26%, entreprise 16%, contact 20%, with gaps via padding */
  footer.fusion-footer-widget-area .fusion-row .fusion-columns.fusion-columns-4 > .fusion-column { float: none !important; box-sizing: border-box !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 > .fusion-column:nth-child(1) { flex: 0 0 30% !important; width: 30% !important; max-width: 30% !important; padding-right: 50px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 > .fusion-column:nth-child(2) { flex: 0 0 28% !important; width: 28% !important; max-width: 28% !important; padding-left: 30px !important; padding-right: 20px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 > .fusion-column:nth-child(3) { flex: 0 0 16% !important; width: 16% !important; max-width: 16% !important; padding-left: 20px !important; padding-right: 20px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 > .fusion-column:nth-child(4) { flex: 0 0 26% !important; width: 26% !important; max-width: 26% !important; padding-left: 30px !important; }
  /* Footer vertical divider — column 1 right border */
  footer.fusion-footer-widget-area .fusion-columns-4 > .fusion-column:first-child {
    border-right: 1px solid rgba(255,255,255,0.12);
  }
}
.footer-brand img { max-width: 200px; margin-bottom: 12px; }
.footer-brand p { color: rgba(255,255,255,0.8) !important; font-size: 16px !important; font-weight: 400 !important; line-height: 22px !important; }
/* Footer horizontal separator above copyright */
.fusion-footer-copyright-area { border-top: 1px solid rgba(255,255,255,0.12) !important; }
/* Footer contact icons */
.footer-links .footer-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 10px; vertical-align: middle; flex-shrink: 0; }
.footer-links .footer-link-with-icon { display: inline-flex; align-items: center; }
.footer-links .footer-link-underline { text-decoration: underline !important; text-underline-offset: 3px; }
footer#footer #credit_archetype { text-align: center; font-size: 13px; line-height: 20px; color: #888888; margin-top: 15px; }
footer#footer #credit_archetype #logo_archetype { max-width: 112px; }
footer#footer #credit_archetype #logo_archetype .c_fill { fill: #888888; }
footer#footer #credit_archetype i { font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif !important; }
footer#footer #credit_archetype .logo { margin-right: 5px; }
footer#footer #credit_archetype a { color: #e06919 !important; }
footer#footer #credit_archetype a:hover { color: #e8952e !important; }
footer .fusion-copyright-content { display: block; }
footer .fusion-copyright-content .fusion-copyright-notice,
footer .fusion-copyright-content .fusion-social-links-footer { display: block; text-align: center; width: 100%; }
footer .fusion-copyright-content .fusion-copyright-notice {
  font-family: 'Inter', 'Avenir Next LT Pro', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.5) !important;
  line-height: 22px;
}
footer .fusion-copyright-content .fusion-copyright-notice a { color: inherit !important; }
footer .fusion-copyright-content .fusion-copyright-notice a:hover { color: #e06919 !important; }
footer .fusion-copyright-content .fusion-social-links-footer .fusion-social-networks a { font-size: 22px; }
footer .fusion-copyright-content .fusion-social-links-footer .fusion-social-networks .fusion-social-network-icon { -webkit-transition: all 0.25s; transition: all 0.25s; }
footer .fusion-copyright-content .fusion-social-links-footer .fusion-social-networks .fusion-social-network-icon:hover { background-color: #e06919 !important; border-color: #e06919 !important; opacity: 1; }
footer#footer .last { clear: right; margin-right: 0 !important; }

/* Mobile nav */
.fusion-mobile-nav-holder, #mobile-nav { background-color: #111111 !important; }
.fusion-mobile-nav-holder ul li a { color: #ffffff !important; border-color: #333333 !important; }
.fusion-mobile-nav-holder ul li a:hover { background-color: #1a1a1a !important; color: #e06919 !important; }
.fusion-mobile-menu-design-modern .fusion-mobile-nav-holder { background-color: #111111 !important; }

/* List children */
.list_children { list-style: none; }
.list_children li { margin-bottom: 10px; display: block; position: relative; float: none; text-align: left; }
.list_children li a { display: block; background-color: #1a1a1a; color: #cccccc; margin: 0; padding: 10px 30px; font-size: 18px; line-height: 1.52; }
.list_children li.current_page_item a, .list_children li a:hover { background-color: #e06919; color: #fff; }

/* Reading box */
#wrapper .fusion-reading-box-container h2 { color: #fff; }

/* Content boxes */
.fusion-content-box-wrapper, .fusion-panels-container { background-color: #1a1a1a !important; border-color: #333333 !important; }

/* =============================================
   CUSTOMS (preserved)
   ============================================= */
@media only screen and (min-width: 1281px) { body .tfs-slider .slide-content-container { top: 50%; padding-left: 110px !important; } } /* Apr 2026: shift hero text more to the left per designer */
body .tfs-slider .slide-content-container h1,
body .tfs-slider .slide-content-container h2,
body .tfs-slider .slide-content-container p,
body .tfs-slider .slide-content-container .slide-content { color: #ffffff !important; }
body .post-content h2 { text-transform: none; }
body .fusion-contact-info { font-weight: 800; font-size: 16px; font-family: Arial, Helvetica, sans-serif; }
body .title-heading-left { line-height: 1 !important; }
body .teasers-services .fusion-builder-row, body .list_child_pages_teasers .fusion-builder-row { display: flex; justify-content: flex-start; flex-wrap: wrap; }
.content-box-disable-hover .heading { pointer-events: none; }
.link-mobile { display: none !important; }
.fusion-main-menu .lang, .lang-mobile { display: none !important; }
.fusion-main-menu .fusion-menu > li > a { text-transform: none; }
.container_form_paypal input[type="image"] { margin-top: 15px; }
a[href^="tel"] { font-weight: 700; }
.bureaux div[itemprop="address"] { line-height: 1.4; margin-bottom: 20px; }
.bureaux div[itemprop="address"] + p { line-height: 1.4; }
.bureaux div[itemprop="address"] + p + a { margin-bottom: 20px; display: inline-block; }
.bureaux .shortcode-map.fusion-google-map { margin-bottom: 40px; }
.fusion-mobile-nav-holder > ul > li.fusion-mobile-nav-item > a { text-transform: uppercase; }
.fusion-mobile-nav-holder > ul > li.fusion-mobile-nav-item > a span.menu-text { line-height: 50px; }
body .gform_wrapper .gravity-select-parent { width: auto !important; }
body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .gform_wrapper .gravity-select-parent select { padding: 5px 10px; }

/* Responsive */
@media only screen and (max-width: 1440px) { .fusion-header { padding-left: 0 !important; padding-right: 0 !important; } }
@media only screen and (max-width: 1350px) { .show-on-laptop { display: block; } }
@media only screen and (max-width: 1280px) { .fusion-hide-on-mobile { display: none !important; } .show-on-mobile { display: block !important; } }
@media only screen and (max-width: 800px) {
  .fusion-builder-row.fusion-row .fusion_builder_column_3_5 + .fusion_builder_column_2_5 { margin-top: 40px !important; }
  .header-social .top-menu, .fusion-secondary-menu { display: none !important; }
  .fusion-main-menu .lang, .lang-mobile { display: block !important; }
  #wrapper footer#footer .copyright, #wrapper footer#footer #credit_archetype { display: block; text-align: center; margin-top: 20px; }
  body .list_child_pages_teasers .fusion-builder-row { flex-direction: column; }
  /* Footer column stacking removed — tablet (768-1100) and mobile (767-) blocks handle footer layout */
  .fusion-footer .fusion-column .widget-title { display: block !important; text-align: left !important; }
  .fusion_builder_column_1_1 .fusion-column-wrapper[style*="padding: 0px 15% 0px 15%"] { padding: 0 !important; }
}
@media only screen and (max-width: 640px) { .sep_after_slider_home { margin-top: 0 !important; } }
/* Hero top:50% removed — conflicts with mobile flex layout (justify-content:flex-end) */
@media only screen and (max-width: 480px) {
  .gform_wrapper .top_label li.gfield.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half { float: none !important; width: 97% !important; }
}


/* =============================================
   FIX VISUAL BUGS - CONTENT BOXES & SEPARATORS
   ============================================= */

/* Content boxes - dark background */
.fusion-content-boxes .fusion-content-box-hover .link-area-box,
.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover,
.fusion-content-box-wrapper,
.fusion-content-box {
  background-color: #1a1a1a !important;
  border-color: #2a2a2a !important;
}
.fusion-content-box-hover .heading-link h2,
.fusion-content-box-hover .heading-link h3,
.fusion-content-box .fusion-read-more,
.fusion-content-box .fusion-content-box-title { color: #ffffff !important; }
.fusion-content-box p, .fusion-content-box .fusion-content-box-content { color: #aaaaaa !important; }
.fusion-content-box .more a { color: #e06919 !important; }

/* Icon circles */
.fusion-content-box .fontawesome-icon,
.fusion-content-box .icon-wrapper,
.icon-wrapper { background-color: #333333 !important; border-color: #444444 !important; color: #e06919 !important; }
.fusion-icon-wrapper .fontawesome-icon { color: #e06919 !important; }

/* Section separators - force dark fill */
.fusion-section-separator svg path { fill: #111111 !important; }
.fusion-section-separator { background-color: transparent !important; }

/* Portfolio section */
.fusion-portfolio .fusion-portfolio-content,
.fusion-portfolio-post { background-color: #111111 !important; }
.fusion-portfolio .fusion-portfolio-wrapper { background-color: #111111 !important; }
.fusion-portfolio .fusion-col-spacing { background-color: #111111 !important; }
.fusion-portfolio-post .fusion-image-wrapper img {
  height: 250px !important;
  object-fit: cover !important;
  width: 100% !important;
}
.fusion-portfolio .fusion-portfolio-title a { color: #ffffff !important; }
.fusion-portfolio .fusion-portfolio-cats a { color: #e06919 !important; }

/* Gravity forms */
.gform_wrapper .gfield_label { color: #cccccc !important; }
.gform_wrapper .gform_footer input[type="submit"] {
  background-color: #e06919 !important;
  border-color: #e06919 !important;
  color: #ffffff !important;
}

/* Reading box */
.fusion-reading-box-container { background-color: #1a1a1a !important; }

/* Dark overlay on light background image sections (contact banner rows) */
.fusion-builder-row-4.fusion-parallax-up,
.fusion-builder-row-9.fusion-parallax-up { position: relative; }
.fusion-builder-row-4.fusion-parallax-up::before,
.fusion-builder-row-9.fusion-parallax-up::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72) !important;
  z-index: 1;
  pointer-events: none;
}
.fusion-builder-row-4.fusion-parallax-up > .fusion-builder-row,
.fusion-builder-row-9.fusion-parallax-up > .fusion-builder-row { position: relative; z-index: 2; }


/* ── CTA "Prêt à nous parler" — blue card on white bg ──────────────── */
body.home .cta-parler , body.page-id-3378 .cta-parler , body.page-id-3805 .cta-parler {
  background-color: #ffffff !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
body.home .cta-parler .fusion-row , body.page-id-3378 .cta-parler .fusion-row , body.page-id-3805 .cta-parler .fusion-row {
  max-width: 1294px !important;
}
/* Blue card with rounded corners */
body.home .cta-parler .fusion-column-wrapper , body.page-id-3378 .cta-parler .fusion-column-wrapper , body.page-id-3805 .cta-parler .fusion-column-wrapper {
  background-color: #0e60a1 !important;
  border-radius: 30px !important;
  padding: 65px 88px 56px !important;
  overflow: hidden;
  margin: 0 auto !important;
  max-width: 1294px !important;
}
/* Flex layout on .fusion-column-content (actual parent of text + button) */
body.home .cta-parler .fusion-column-content , body.page-id-3378 .cta-parler .fusion-column-content , body.page-id-3805 .cta-parler .fusion-column-content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px;
}
body.home .cta-parler .fusion-column-content .fusion-text , body.page-id-3378 .cta-parler .fusion-column-content .fusion-text , body.page-id-3805 .cta-parler .fusion-column-content .fusion-text {
  flex: 1 !important;
  min-width: 0 !important;
}
body.home .cta-parler h2 , body.page-id-3378 .cta-parler h2 , body.page-id-3805 .cta-parler h2 {
  text-align: left !important;
  font-size: 33px !important;
  line-height: 40px !important;
  letter-spacing: -0.17px !important;
  margin-bottom: 30px !important;
  color: #ffffff !important;
  white-space: nowrap !important; /* Apr 2026: title on one line per designer */
}
@media (max-width: 900px) {
  body.home .cta-parler h2 , body.page-id-3378 .cta-parler h2 , body.page-id-3805 .cta-parler h2 {
    white-space: normal !important; /* let title wrap on small screens */
  }
}
body.home .cta-parler h2 span , body.page-id-3378 .cta-parler h2 span , body.page-id-3805 .cta-parler h2 span { color: #ffffff !important; }
body.home .cta-parler p , body.page-id-3378 .cta-parler p , body.page-id-3805 .cta-parler p {
  text-align: left !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 25px !important;
  letter-spacing: -0.09px !important;
  margin-bottom: 0 !important;
}
body.home .cta-parler p strong, body.page-id-3378 .cta-parler p strong, body.page-id-3805 .cta-parler p strong,
body.home .cta-parler p b , body.page-id-3378 .cta-parler p b , body.page-id-3805 .cta-parler p b { color: #ffffff !important; font-weight: 600 !important; }
/* Button — right side, outlined white pill */
body.home .cta-parler .fusion-aligncenter , body.page-id-3378 .cta-parler .fusion-aligncenter , body.page-id-3805 .cta-parler .fusion-aligncenter {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
body.home .cta-parler .fusion-button, body.page-id-3378 .cta-parler .fusion-button, body.page-id-3805 .cta-parler .fusion-button,
body.home .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button.button-flat {
  background-color: transparent !important;
  background-image: none !important;
  border: 2px solid #ffffff !important;
  border-radius: 50px !important;
  height: 55px !important;
  padding: 0 30px !important;
  max-width: none !important;
  white-space: nowrap;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: all 0.2s !important;
}
body.home .cta-parler .fusion-button , body.page-id-3378 .cta-parler .fusion-button , body.page-id-3805 .cta-parler .fusion-button { border: 2px solid #ffffff !important; }
body.home .cta-parler .fusion-button:hover , body.page-id-3378 .cta-parler .fusion-button:hover , body.page-id-3805 .cta-parler .fusion-button:hover {
  background-color: rgba(255,255,255,0.15) !important;
  background-image: none !important;
  border-color: #ffffff !important;
  transform: none !important;
}
body.home .cta-parler .fusion-button .fusion-button-text , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text {
  color: #ffffff !important;
}
body.home .cta-parler .fusion-button .fusion-button-text::after , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text::after , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text::after {
  display: none !important;
}
/* CTA mobile override removed - controlled by functions.php */

/* ── Light / white sections (exception to dark theme) ─────────────── */
.fusion-fullwidth.light-section,
body .post-content .fusion-fullwidth.light-section {
  background-color: #ffffff !important;
}
.fusion-fullwidth.light-section .fusion-builder-row-inner,
.fusion-fullwidth.light-section .fusion-column-wrapper {
  background-color: transparent !important;
}
/* Headings and text must be dark on white background */
.fusion-fullwidth.light-section h1,
.fusion-fullwidth.light-section h2,
.fusion-fullwidth.light-section h3,
.fusion-fullwidth.light-section h4,
.fusion-fullwidth.light-section h5,
.fusion-fullwidth.light-section h6 { color: #111111 !important; }
.fusion-fullwidth.light-section p,
.fusion-fullwidth.light-section li { color: #444444 !important; }
.fusion-fullwidth.light-section.reseaux-section p { color: #000000 !important; }
/* But service card titles and labels stay white (dark card bg) */
.fusion-fullwidth.light-section .teasers-services h3,
.fusion-fullwidth.light-section .teasers-services h3 span,
.fusion-fullwidth.light-section.teasers-services h3,
.fusion-fullwidth.light-section.teasers-services h3 span,
.fusion-fullwidth.light-section.teasers-services p { color: #ffffff !important; }
/* Restore orange accent spans in light sections */
.fusion-fullwidth.light-section h2 span[style*="color:#e06919"],
.fusion-fullwidth.light-section h2 span[style*="color: #e06919"] { color: #e06919 !important; }
/* Restore orange separator in light sections */
.fusion-fullwidth.light-section .fusion-separator-border { border-color: var(--awb-sep-color) !important; }

/* ── Expertise section — reduce top padding to match Figma hero-to-trouvez spacing */
body.home .fusion-fullwidth.fusion-builder-row-3.light-section {
  padding-top: 100px !important;
  padding-bottom: 0px !important;
}

/* ── Expertise section — gap between heading and description (Figma: ~50px) */
body.home .light-section:not(.teasers-services) .fusion-title {
  margin-bottom: 40px !important;
}
body.home .light-section:not(.teasers-services) .fusion-column-wrapper {
  margin-bottom: 40px !important;
}

/* ── Expertise section heading — match Figma (desktop: 40px, tablet: 35px) */
body.home .fusion-builder-row-3 h2 {
  font-size: 40px !important;
  letter-spacing: -0.2px !important;
  text-transform: none !important;
  margin-bottom: 50px !important;
}
body.home .fusion-builder-row-3 h2 span { color: #0E60A1 !important; }
body.home .fusion-builder-row-3 p { font-size: 18px !important; line-height: 1.2 !important; color: #000000 !important; }

/* ── Pill badge below cards ─────────────────────────────────────────── */

/* ── Tu ne sais pas — overlay on Montreal skyline bg ──────────────── */
/* Figma uses alpha-mask PNG on the city photo. Top fades from white (hiding image),
   middle is transparent (image visible), bottom fades to solid black.
   Replicated here with a multi-stop gradient overlay. */
.tunesaispas-bg { position: relative; }
.tunesaispas-bg > .fusion-builder-row { position: relative; z-index: 2; margin-bottom: 0; }
.tunesaispas-bg::before {
  content: '';
  position: absolute;
  top: -8px;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to bottom,
    #ffffff 0%,
    #ffffff 5%,
    rgba(255,255,255,0.92) 10%,
    rgba(255,255,255,0.75) 16%,
    rgba(255,255,255,0.55) 22%,
    rgba(255,255,255,0.35) 28%,
    rgba(255,255,255,0.15) 34%,
    rgba(0,0,0,0) 42%,
    rgba(0,0,0,0) 55%,
    rgba(0,0,0,0.08) 65%,
    rgba(0,0,0,0.2) 73%,
    rgba(0,0,0,0.4) 81%,
    rgba(0,0,0,0.65) 88%,
    rgba(0,0,0,0.85) 94%,
    #000000 100%
  ) !important;
  z-index: 1;
  pointer-events: none;
}
/* Stats section seamless bg */
/* stats now in rigueur-stats-section container */
/* Text color fixes */
.tunesaispas-bg h2 { color: #ffffff !important; font-size: 40px !important; letter-spacing: -0.2px !important; text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important; }
.tunesaispas-bg h2 span { color: #e06919 !important; }
.tunesaispas-bg p { color: #ffffff !important; font-size: 18px !important; line-height: 1.2 !important; letter-spacing: -0.09px !important; }
.tunesaispas-bg .fusion-text p { color: #ffffff !important; }
/* Button stacks below text */
.tunesaispas-bg .fusion-column-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* Dark bg extends to cover the button below the text box */
  background-color: #111111 !important;
}
/* Match the text box left/right padding for the button */
body.home .fusion-builder-row-9 .fusion-builder-column-14 .fusion-alignleft {
  padding: 0 40px 50px 60px;
}


/* ── Tu ne sais pas checklist — fix li color overridden by global rule  */
.tunesaispas-bg li { color: #ffffff !important; }
.tunesaispas-bg li > span:first-child {
  color: #e06919 !important;
  font-size: 1.2em;
  font-weight: 700;
}

/* ── Choice boxes — hover + cursor ──────────────────────────────────── */
.choix-trigger {
  transition: all 0.2s;
}
.choix-trigger span[style*="white-space"] {
  white-space: normal !important;
}
.choix-trigger:hover {
  background: rgba(0,0,0,0.75) !important;
}
.rigueur-trigger.choix-trigger:hover {
  background: transparent !important;
}

/* ── Modal overlay ─────────────────────────────────────────────────── */
.choix-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0,0,0,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.choix-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}
.choix-modal {
  background: #1a1a1a;
  border-radius: 24px;
  width: 90%;
  max-width: 680px;
  max-height: 85vh;
  overflow-y: auto;
  padding: 48px 48px 40px;
  position: relative;
  transform: translateY(30px);
  transition: transform 0.3s;
}
.choix-modal-overlay.active .choix-modal {
  transform: translateY(0);
}
.choix-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255,255,255,0.1);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.choix-modal-close:hover {
  background: rgba(255,255,255,0.2);
}
.choix-modal-close svg {
  width: 16px;
  height: 16px;
}
.choix-modal h3 {
  color: #ffffff !important;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 16px;
}
.choix-modal h4 {
  color: #ffffff !important;
  font-size: 20px;
  font-weight: 700;
  margin: 24px 0 12px;
}
.choix-modal p {
  color: #cccccc !important;
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 12px;
}
.choix-modal ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.choix-modal ul li {
  color: #cccccc !important;
  font-size: 17px;
  line-height: 1.7;
  padding-left: 22px;
  position: relative;
}
.choix-modal ul li::before {
  content: '';
  width: 8px;
  height: 8px;
  background: #e06919;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 10px;
}
.choix-modal-hr {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.12);
  margin: 24px 0;
}
.choix-modal-btn {
  display: inline-block;
  background: #e06919;
  border: 2px solid #e06919;
  color: #ffffff !important;
  font-size: 17px;
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 30px;
  text-decoration: none !important;
  transition: all 0.2s;
  margin: 8px 0;
}
.choix-modal-btn:hover {
  background: #c8681a;
  border-color: #ffffff;
  color: #ffffff !important;
}
.choix-modal-cta {
  text-align: center;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.choix-modal-cta p.cta-heading {
  color: #ffffff !important;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px !important;
}
.choix-modal-cta p.cta-sub {
  color: #888888 !important;
  font-size: 14px;
  margin-top: 10px !important;
}


/* ── Pill nav: logo sizing ──────────────────────────────────────────── */
.fusion-header .fusion-logo {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.fusion-header .fusion-logo img {
  height: var(--logo-h, 44px) !important;
  max-height: var(--logo-h, 44px) !important;
  width: auto !important;
}

/* ── CTA button — absolute positioned inside pill (Figma: right ~27px, 42px tall, 189px wide) ── */
.fusion-header .fusion-row > .menu-btn-cta {
  position: absolute !important;
  right: 27px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 10 !important;
}
/* <a> — orange outlined pill button (Figma: 42px tall, border-radius 30px,
   auto width hugging text with fixed 24px horizontal padding) */
.menu-btn-cta > a,
.menu-btn-cta > a.fusion-arrow-highlight {
  background-color: transparent !important;
  color: #e06919 !important;
  border: 2px solid #e06919 !important;
  border-radius: 30px !important;
  width: auto !important;
  height: 42px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 17px !important;
  letter-spacing: -0.085px !important;
  white-space: nowrap !important;
  transition: all 0.2s !important;
}
.menu-btn-cta > a:hover {
  background-color: #e06919 !important;
  color: #ffffff !important;
}
.menu-btn-cta > a .fusion-arrow-svg { display: none !important; }

/* ── Navigation: hide items not in Figma ───────────────────────────── */
.fusion-main-menu .hide-desktop { display: none !important; }
li.menu__list__lang { display: none !important; }

/* ── Navigation: hide Portfolio from EN nav (not in Figma) ─────────── */
.fusion-main-menu .menu-item-3164 { display: none !important; }


/* ── Hide sep_after_slider_home row entirely — causes gray box below hero ── */
body.home .fusion-builder-row-1.sep_after_slider_home { display: none !important; }

/* ── Slider container transparent background — removes white bg on carousel ── */
body.home #sliders-container,
body.home .fusion-slider-visibility,
body.home .tfs-slider,
body.home .tfs-slide,
body.home .fusion-slider-loading { background-color: #0d0d0d !important; }

/* ── Hero: height + dark left-to-right gradient overlay ── */
/* Hero: force slider to exactly 100vh, overriding Avada's JS-set 900px inline style */
body.home .fusion-slider-container {
  height: 100vh !important;
  max-height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background-color: #0d0d0d !important;
}
body.home .tfs-slider {
  height: 100vh !important;
  max-height: 100vh !important;
}
body.home .tfs-slide {
  height: 100vh !important;
  max-height: 100vh !important;
}
/* Background image covers the full slide */
body.home .fusion-slider-container .background.background-image {
  height: 100vh !important;
  max-height: 100vh !important;
  background-size: cover !important;
  background-position: center center !important;
}
/* Hero bottom fade — REMOVED per Figma (no overlay) */
body.home .fusion-slider-container::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
/* Hide slider pagination dots/arrows */
body.home .fusion-slider-nav,
body.home .tfs-slider .flex-control-nav,
body.home .tfs-slider .flex-direction-nav,
body.home .fusion-slider-container .fusion-slider-nav {
  display: none !important;
}

/* ── Hero buttons — equal size ── */
/* Hero paragraph: regular weight, bold only on <strong> */
body.home .tfs-slider .slide-content-container .slide-content .caption h3,
body.home .tfs-slider .slide-content-container .slide-content .caption h3.fusion-title-heading,
body.home .tfs-slider .slide-content-container .slide-content .caption h3.fusion-responsive-typography-calculated,
body.home .tfs-slider .caption .fusion-title h3 {
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-size: 25px !important;
  line-height: 32px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  max-width: 932px !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
body.home .tfs-slider .caption h3 strong {
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-weight: 700 !important;
}

/* Hero buttons wrapper — 28px gap between buttons, 47px below subtitle */
body.home .tfs-slider .buttons {
  display: flex !important;
  gap: 28px !important;
  align-items: center !important;
  margin-top: 36px !important;
}
body.home .tfs-slider .tfs-button-1,
body.home .tfs-slider .tfs-button-2 {
  display: inline-flex !important;
  float: none !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-size: 20px !important;
  letter-spacing: -0.1px !important;
  border-radius: 50px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: #ffffff !important;
}
/* Button 1 — orange filled */
body.home .tfs-slider .tfs-button-1 {
  background: #e06919 !important;
  border: none !important;
  height: 56px !important;
  padding: 0 27px !important;
  font-weight: 700 !important;
  min-width: 350px !important;
}
body.home .tfs-slider .tfs-button-1::after {
  content: '' !important;
  display: inline-block !important;
  width: 9px !important;
  height: 15px !important;
  margin-left: 12px !important;
  background: url("data:image/svg+xml,%3Csvg width='9' height='15' viewBox='0 0 9 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7.67845 7.5L1 14' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
/* Button 2 — white outlined */
body.home .tfs-slider .tfs-button-2 {
  background: transparent !important;
  border: 2px solid #ffffff !important;
  height: 55px !important;
  padding: 0 30px !important;
  font-weight: 600 !important;
}
/* Hero buttons — shared styles (target both button-large and button-small) */
body.home .tfs-slider .fusion-button {
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-size: 20px !important;
  line-height: 1 !important;
  letter-spacing: -0.1px !important;
  min-height: auto !important;
  max-height: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50px !important;
  --button-border-radius-top-left: 50px !important;
  --button-border-radius-top-right: 50px !important;
  --button-border-radius-bottom-right: 50px !important;
  --button-border-radius-bottom-left: 50px !important;
  box-sizing: border-box !important;
}
/* Hero button 1 — "Obtenir une soumission gratuite" — Figma 392×56 orange filled */
body.home .tfs-slider .fusion-button.button-1 {
  width: 392px !important;
  height: 56px !important;
  padding: 0 27px !important;
  font-weight: 700 !important;
}
/* Arrow ">" icon inside button 1 — Figma SVG chevron (vector-117.svg) */
body.home .tfs-slider .fusion-button.button-1 .fusion-button-text {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}
body.home .tfs-slider .fusion-button.button-1 .fusion-button-text::after {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 14px;
  height: 22px;
  margin-left: 12px;
  background: url("data:image/svg+xml,%3Csvg width='9' height='15' viewBox='0 0 9 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7.67845 7.5L1 14' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Hero button 2 — "Nos services" — Figma 163×55 white outlined */
body.home .tfs-slider .fusion-button.button-2 {
  width: 163px !important;
  height: 55px !important;
  padding: 0 !important;
  white-space: nowrap !important;
  background: transparent !important;
  border: 2px solid #ffffff !important;
  font-weight: 600 !important;
}
body.home .tfs-slider .button-1 .awb-button__icon { display: none !important; }

/* Remove Avada default border between white sections on homepage */
body.home .fusion-fullwidth.light-section {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ── Service cards mobile rules moved into main mobile @media block below ── */

/* ── Responsive — mobile ──────────────────────────────────── */

@media only screen and (max-width: 767px) {
  /* Prevent horizontal scroll */
  html, body, #boxed-wrapper, #wrapper { overflow-x: hidden !important; }
  /* iPhone safe area */
  body { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left) !important; }
  /* Portfolio single column */
  .fusion-portfolio-post { width: 100% !important; }
  /* Inner page columns stack (not homepage) */
  body:not(.home) .fusion-layout-column { width: 100% !important; }

  /* ============================================================

  /* =============================================================
     MOBILE HOMEPAGE — Complete rewrite from Figma phone (375px)
     This is the ONLY place mobile homepage CSS lives.
     site_css_final.css mobile block is minimal (overflow only).
     ============================================================= */

  
  /* =============================================================
     SECTION CONTAINMENT & SPACING — prevent overlap on mobile
     Each section: position:relative, clear padding, no negative margins
     ============================================================= */
  /* Every homepage section must contain its own content */
  body.home .fusion-fullwidth {
    position:relative !important;
    overflow:hidden !important;
    float:none !important;
    clear:both !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  /* Override ALL Avada padding variables on mobile */
  body.home .fusion-fullwidth[style] {
    --awb-padding-left:0px !important;
    --awb-padding-right:0px !important;
  }
  body.home .fusion-fullwidth.services-ticker-bar[style] { --awb-padding-top:12px !important; --awb-padding-bottom:12px !important; }
  body.home .fusion-fullwidth.light-section[style] { --awb-padding-top:30px !important; --awb-padding-bottom:20px !important; }
  body.home .fusion-fullwidth.tunesaispas-bg[style] { --awb-padding-top:20px !important; --awb-padding-bottom:30px !important; }
  body.home .fusion-fullwidth.stats-numbers-section,
  body.home .fusion-fullwidth.stats-numbers-section[style] { --awb-padding-top:10px !important; --awb-padding-bottom:10px !important; padding-top:10px !important; padding-bottom:10px !important; }
  /* rigueur-bg padding — handled in consolidated block above */
  body.home .fusion-fullwidth.cta-parler[style] , body.page-id-3378 .fusion-fullwidth.cta-parler[style] , body.page-id-3805 .fusion-fullwidth.cta-parler[style] { --awb-padding-top:20px !important; --awb-padding-bottom:20px !important; }
  body.home .reseaux-section.fusion-fullwidth[style] { --awb-padding-top:30px !important; --awb-padding-bottom:30px !important; }
  /* Column padding overrides */
  .tunesaispas-bg .fusion-column-wrapper[style] { --awb-padding-top:10px !important; --awb-padding-bottom:10px !important; --awb-padding-left:26px !important; --awb-padding-right:26px !important; }
  .tunesaispas-bg .fusion-layout-column[style] { --awb-padding-top:10px !important; --awb-padding-left:0 !important; --awb-padding-right:0 !important; }
  /* Override 15% column padding on mobile — prevents wasted space on small screens */
  body.home .light-section .fusion-column-wrapper[style],
  body.home .reseaux-section .fusion-column-wrapper[style] { --awb-padding-right:0 !important; --awb-padding-left:0 !important; padding-left:26px !important; padding-right:26px !important; }
  /* Also override on the layout-column parent (where the inline style actually lives) */
  body.home .light-section .fusion-layout-column[style],
  body.home .reseaux-section .fusion-layout-column[style] { --awb-padding-right:0 !important; --awb-padding-left:0 !important; }

/* GLOBAL: all body text 13px on mobile */
  body.home .fusion-text p,
  body.home .fusion-column-wrapper p,
  body.home p[style] { font-size:13px !important; line-height:1.4 !important; }

  /* ---------------------------------------------------------------
     HERO (Figma phone: 46px title, 16px subtitle, 95vh, stacked buttons)
     --------------------------------------------------------------- */
  /* Title: 42px Bold uppercase, 323px width, left-aligned */
  .tfs-slider .heading .fusion-title-heading,
  .tfs-slider .heading .fusion-title-heading.fusion-responsive-typography-calculated {
    font-size:42px !important; --awb-font-size:42px !important; --fontSize:42 !important;
    line-height:1.1 !important; letter-spacing:-0.21px !important;
    text-transform:uppercase !important; max-width:323px !important;
    text-align:left !important; word-break:normal !important; overflow-wrap:normal !important;
    hyphens:none !important; -webkit-hyphens:none !important;
  }
  /* Subtitle: 16px Regular, line-height 24px, 316px width */
  .tfs-slider .caption .fusion-title-heading,
  .tfs-slider .caption .fusion-title-heading.fusion-responsive-typography-calculated,
  body.home .tfs-slider .slide-content-container .slide-content .caption h3,
  body.home .tfs-slider .slide-content-container .slide-content .caption h3.fusion-title-heading,
  body.home .tfs-slider .slide-content-container .slide-content .caption h3.fusion-responsive-typography-calculated {
    font-size:16px !important; line-height:24px !important;
    max-width:316px !important; text-align:left !important;
    font-weight:400 !important;
  }
  /* Content container: centered vertically with header clearance */
  body .tfs-slider .slide-content-container {
    top:0 !important; bottom:0 !important; left:0 !important; right:0 !important;
    height:100% !important; width:100% !important;
    transform:none !important;
    padding:80px 26px 30px !important; text-align:left !important;
    display:flex !important; flex-direction:column !important;
    justify-content:center !important; align-items:flex-start !important;
    box-sizing:border-box !important;
  }
  body .tfs-slider .slide-content {
    max-width:100% !important; text-align:left !important;
    display:flex !important; flex-direction:column !important;
    align-items:flex-start !important; gap:0 !important;
  }
  body .tfs-slider .heading { margin-bottom:7px !important; width:100% !important; }
  body .tfs-slider .heading .fusion-title[style] { --awb-font-size:42px !important; }
  body .tfs-slider .heading .fusion-title-heading[style] { font-size:42px !important; --fontSize:42 !important; }
  body .tfs-slider .caption { margin-bottom:20px !important; width:100% !important; }
  body .tfs-slider .caption * { font-size:16px !important; line-height:24px !important; letter-spacing:normal !important; }
  /* Subtitle paragraph: 16px, line-height 24px, compact */
  body .tfs-slider .caption .fusion-title,
  body .tfs-slider .caption .fusion-title[style] { --awb-font-size:16px !important; }
  body .tfs-slider .caption h3,
  body .tfs-slider .caption h3[style],
  body .tfs-slider .caption .fusion-title-heading[style] {
    font-size:16px !important; --fontSize:16 !important;
    line-height:24px !important; font-weight:400 !important;
    max-width:316px !important;
  }
  body .tfs-slider .caption h3 strong { font-weight:700 !important; }
  /* Slider height */
  body.home .fusion-slider-container,
  body.home .tfs-slider,
  body.home .tfs-slide { height:auto !important; max-height:none !important; min-height:0 !important; overflow:visible !important; }
  /* Buttons: stacked, left-aligned (Figma: both buttons flush-left at x=26) */
  body.home .tfs-slider .slide-content .buttons {
    display:flex !important; flex-direction:column !important;
    gap:12px !important; align-items:flex-start !important; margin-top:0 !important;
    width:auto !important; max-width:323px !important;
  }
  /* Buttons: auto-width so they shrink to content, not stretch */
  body.home .tfs-slider .buttons .tfs-button-1,
  body.home .tfs-slider .buttons .tfs-button-2 { margin:0 !important; display:inline-flex !important; text-align:center !important; width:auto !important; max-width:100% !important; font-size:16px !important; height:46px !important; padding:0 24px !important; }
  body.home .tfs-slider .tfs-button-1 { min-width:280px !important; }
  body.home .tfs-slider .tfs-button-2 { min-width:140px !important; }
  body.home .tfs-slider .buttons .fusion-button-wrapper { margin:0 !important; padding:0 !important; display:inline-block !important; text-align:left !important; width:auto !important; }
  body.home .tfs-slider .buttons .fusion-button,
  body.home .tfs-slider .buttons .fusion-button.fusion-button-default-span,
  body.home .tfs-slider .buttons .fusion-button.button-1,
  body.home .tfs-slider .buttons .fusion-button.button-2,
  body.home .tfs-slider .buttons a.fusion-button.fusion-button-default-span.button-small,
  body.home .tfs-slider .buttons a.fusion-button.fusion-button-default-span.button-large {
    width:auto !important; max-width:calc(100vw - 52px) !important; min-width:0 !important;
    display:inline-flex !important; height:46px !important;
    font-size:16px !important; padding:0 24px !important;
  }

  /* ---------------------------------------------------------------
     TICKER
     --------------------------------------------------------------- */
  .fusion-fullwidth.services-ticker-bar { margin-top:-30px !important; padding:12px 0 !important; }
  .services-ticker { font-size:11px !important; }

  /* ---------------------------------------------------------------
     UNE EXPERTISE / LIGHT SECTION (Figma: white bg, 27px heading)
     --------------------------------------------------------------- */
  .fusion-fullwidth.light-section { padding:50px 26px 30px !important; }
  body.home .light-section h2,
  body.home .light-section h2[style] { font-size:27px !important; font-weight:700 !important; text-align:center !important; line-height:1.25 !important; margin-bottom:30px !important; }
  body.home .light-section p { font-size:13px !important; text-align:center !important; line-height:1.25 !important; }
  .trouvez-pill, a.trouvez-pill { width:auto !important; height:37px !important; padding:0 18px !important; font-size:13px !important; margin-bottom:20px !important; opacity:0.8 !important; white-space:nowrap !important; }

  /* ---------------------------------------------------------------
     SERVICE CARDS (Figma: 321x280, stacked, text at bottom)
     --------------------------------------------------------------- */
  .svc-grid { display:flex !important; flex-direction:column !important; gap:28px !important; align-items:stretch !important; padding:0 !important; margin:0 !important; }
  .svc-card { width:100% !important; min-width:0 !important; max-width:none !important; height:auto !important; aspect-ratio:1/1 !important; justify-content:flex-end !important; align-items:flex-start !important; padding:0 20px 30px !important; box-sizing:border-box !important; border-radius:20px !important; overflow:hidden !important; }
  .svc-card::after { background:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.7) 80%, #000000 100%) !important; }
  .svc-label { margin-bottom:5px !important; }
  .svc-title { line-height:1.2 !important; }
  /* Side padding on the cards column wrapper — Figma: 27px each side */
  .teasers-servic .fusion-column-wrapper { padding-left:27px !important; padding-right:27px !important; }
  .svc-card::after { display:block !important; content:"" !important; position:absolute !important; inset:0 !important; background:linear-gradient(to bottom, rgba(0,0,0,0) 24.5%, rgba(0,0,0,0.85) 100%) !important; border-radius:20px !important; pointer-events:none !important; z-index:0 !important; }
  .svc-label { font-size:15px !important; font-weight:600 !important; z-index:1 !important; position:relative !important; text-align:left !important; opacity:0.7 !important; letter-spacing:-0.075px !important; }
  .svc-title { font-size:20px !important; z-index:1 !important; position:relative !important; text-align:left !important; font-weight:700 !important; letter-spacing:-0.1px !important; }
  .svc-pill-row { max-width:none !important; margin-top:0 !important; width:100% !important; display:flex !important; justify-content:center !important; }
  a.service-cta-pill {
    max-width:none !important; width:100% !important; height:94px !important; aspect-ratio:auto !important; min-height:94px !important;
    border-radius:20px !important; background:#000 !important;
    display:block !important;
    padding:23px 70px 23px 20px !important; box-sizing:border-box !important;
    position:relative !important; overflow:hidden !important;
    margin:0 auto !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:13px !important; font-weight:600 !important; letter-spacing:1.2px !important;
    text-transform:uppercase !important;
    line-height:1.2 !important;
  }
  a.service-cta-pill .scta-icon-star {
    display:inline !important;
    font-size:14px !important;
    line-height:1 !important;
    color:#0e60a1 !important;
    margin-right:6px !important;
    vertical-align:middle !important;
  }
  /* Hide the dot on mobile — it becomes a line break via CSS */
  a.service-cta-pill .scta-dot {
    display:block !important;
    width:100% !important; height:0 !important;
    overflow:hidden !important;
    font-size:0 !important; line-height:0 !important;
    margin:0 !important; padding:0 !important;
    color:transparent !important;
  }
  a.service-cta-pill strong {
    font-size:20px !important; font-weight:700 !important; line-height:1.2 !important;
    text-transform:none !important; display:block !important;
    letter-spacing:-0.1px !important;
    margin-top:6px !important;
    color:#fff !important;
  }
  /* Arrow: absolutely positioned on the right, vertically centered */
  a.service-cta-pill .scta-icon-arrow {
    position:absolute !important;
    right:20px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    margin:0 !important;
    width:35px !important; height:35px !important;
  }
  a.service-cta-pill .scta-icon-arrow svg { width:35px !important; height:35px !important; display:block !important; }

  /* ---------------------------------------------------------------
     TU NE SAIS PAS — background fix for narrow viewports
     cover switches to height-fit below ~600px, showing bright sky.
     Force width-fit so image crops bottom, not sides.
     --------------------------------------------------------------- */
  body.home .fusion-fullwidth.tunesaispas-bg { background-size:auto 100% !important; background-position:38% top !important; }
  /* Pull section up to reduce gap between CTA and city (Figma: ~170px gap) */
  body.home .fusion-fullwidth.tunesaispas-bg { margin-top:-250px !important; }
  body.home .fusion-fullwidth.tunesaispas-bg,
  body.home .fusion-fullwidth.tunesaispas-bg[style] { padding-top: 500px !important; }
  /* Zero column padding — section padding-top handles the gap */
  .tunesaispas-bg .fusion-layout-column:first-child[style] { --awb-padding-top:0px !important; --awb-padding-left:27px !important; --awb-padding-right:27px !important; }
  .tunesaispas-bg .fusion-layout-column:last-child[style] { --awb-padding-left:24px !important; --awb-padding-right:24px !important; }
  /* Hide seam between city image bottom and stats black bg */
  body.home .stats-numbers-section { margin-top:-2px !important; position:relative !important; z-index:1 !important; }
  .fusion-fullwidth.tunesaispas-bg::before { display:none !important; }
  /* Heading: Figma phone = 27px Bold, lh 1.1 */
  body.home .tunesaispas-bg h2,
  body.home .tunesaispas-bg h2[style] { font-size: 27px !important; line-height: 1.1 !important; letter-spacing: -0.135px !important; }
  /* Choice boxes: Figma phone = 45px tall, 14px gaps */
  .choix-trigger { max-width:100% !important; overflow:hidden !important; height: 45px !important; min-height: 45px !important; }
  /* Prevent choice box text from clipping on narrow viewports */
  .choix-trigger span[style*="white-space"] { white-space:normal !important; }

  /* ---------------------------------------------------------------
     STATS (Figma: vertical, 36px numbers, 15px labels, 206px dividers)
     --------------------------------------------------------------- */
  /* Stats: compact vertical layout matching Figma (716px total) */
  body.home .stats-numbers-section { padding:50px 0 60px !important; background:#000000 !important; background-color:#000000 !important; }
  body.home .stats-numbers-section .fusion-row { padding:0 !important; margin:0 !important; }
  body.home .stats-numbers-section .fusion-layout-column { padding:0 !important; }
  body.home .stats-numbers-section .fusion-column-wrapper { padding:0 !important; }
  .rigueur-stats { flex-direction:column !important; gap:0 !important; padding:30px 0 42px !important; align-items:center !important; }
  .rigueur-stat { padding:20px 0 !important; width:100% !important; text-align:center !important; border-bottom:none !important; margin:0 !important; position:relative !important; }
  .rigueur-stat::before { display:none !important; }
  .rigueur-stat::after {
    content:"" !important; display:block !important;
    position:absolute !important; bottom:0 !important; left:50% !important;
    transform:translateX(-50%) !important; width:206px !important; height:1px !important;
    background:rgba(255,255,255,0.2) !important;
  }
  .rigueur-stat:last-child::after { display:none !important; }
  .rigueur-stat-number { font-size:36px !important; text-align:center !important; line-height:40px !important; margin:0 !important; padding:0 !important; }
  .rigueur-stat-label { font-size:15px !important; font-weight:600 !important; text-align:center !important; line-height:1.3 !important; margin:6px 0 0 !important; padding:0 !important; }

  /* LA RIGUEUR — handled in consolidated block above */

  /* ---------------------------------------------------------------
     CTA (Figma: blue card #0e60a1, 303px, 30px radius)
     --------------------------------------------------------------- */
  body.home .cta-parler, body.page-id-3378 .cta-parler, body.page-id-3805 .cta-parler,
  body.home .cta-parler[style] , body.page-id-3378 .cta-parler[style] , body.page-id-3805 .cta-parler[style] { padding:30px 20px !important; background-color:#ffffff !important; --awb-background-color:#ffffff !important; background-image:none !important; }
  body.home .cta-parler .fusion-row , body.page-id-3378 .cta-parler .fusion-row , body.page-id-3805 .cta-parler .fusion-row { max-width:min(80vw, calc(100% - 40px)) !important; margin:0 auto !important; padding:0 !important; }
  body.home .cta-parler .fusion-layout-column , body.page-id-3378 .cta-parler .fusion-layout-column , body.page-id-3805 .cta-parler .fusion-layout-column { width:100% !important; }
  body.home .cta-parler .fusion-layout-column[style] , body.page-id-3378 .cta-parler .fusion-layout-column[style] , body.page-id-3805 .cta-parler .fusion-layout-column[style] { --awb-padding-right:0 !important; --awb-padding-left:0 !important; }
  body.home .cta-parler .fusion-column-wrapper, body.page-id-3378 .cta-parler .fusion-column-wrapper, body.page-id-3805 .cta-parler .fusion-column-wrapper,
  body.home .fusion-fullwidth.cta-parler .fusion-column-wrapper , body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-column-wrapper , body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-column-wrapper {
    background:#0e60a1 !important; background-color:#0e60a1 !important;
    border-radius:30px !important;
    padding:40px 34px 31px !important; box-sizing:border-box !important;
    display:flex !important; flex-direction:column !important;
    align-items:flex-start !important; gap:0 !important;
  }
  body.home .cta-parler .fusion-column-content-centered , body.page-id-3378 .cta-parler .fusion-column-content-centered , body.page-id-3805 .cta-parler .fusion-column-content-centered { display:contents !important; }
  body.home .cta-parler .fusion-column-content , body.page-id-3378 .cta-parler .fusion-column-content , body.page-id-3805 .cta-parler .fusion-column-content { display:contents !important; }
  body.home .cta-parler h2, body.page-id-3378 .cta-parler h2, body.page-id-3805 .cta-parler h2,
  body.home .cta-parler h2[style] , body.page-id-3378 .cta-parler h2[style] , body.page-id-3805 .cta-parler h2[style] { font-size:22px !important; line-height:25px !important; color:#fff !important; text-align:left !important; margin:0 0 22px !important; }
  body.home .cta-parler p, body.page-id-3378 .cta-parler p, body.page-id-3805 .cta-parler p,
  body.home .cta-parler p[style], body.page-id-3378 .cta-parler p[style], body.page-id-3805 .cta-parler p[style],
  body.home .cta-parler .fusion-text p , body.page-id-3378 .cta-parler .fusion-text p , body.page-id-3805 .cta-parler .fusion-text p { font-size:13px !important; line-height:16px !important; color:#fff !important; text-align:left !important; margin:0 !important; }
  body.home .cta-parler .fusion-text p strong, body.page-id-3378 .cta-parler .fusion-text p strong, body.page-id-3805 .cta-parler .fusion-text p strong,
  body.home .cta-parler .fusion-text p b , body.page-id-3378 .cta-parler .fusion-text p b , body.page-id-3805 .cta-parler .fusion-text p b { font-weight:600 !important; }
  body.home .cta-parler .fusion-text , body.page-id-3378 .cta-parler .fusion-text , body.page-id-3805 .cta-parler .fusion-text { width:100% !important; margin-bottom:16px !important; }
  body.home .cta-parler .fusion-button-wrapper, body.page-id-3378 .cta-parler .fusion-button-wrapper, body.page-id-3805 .cta-parler .fusion-button-wrapper,
  body.home .cta-parler .fusion-aligncenter , body.page-id-3378 .cta-parler .fusion-aligncenter , body.page-id-3805 .cta-parler .fusion-aligncenter { display:block !important; text-align:left !important; margin-top:20px !important; }
  body.home .cta-parler .fusion-button .fusion-button-text , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text {
    display:inline-flex !important; align-items:center !important;
  }
  body.home .cta-parler .fusion-button .fusion-button-text::after , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text::after , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text::after {
    display:none !important;
  }
  body.home .fusion-fullwidth.cta-parler .fusion-button, body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button, body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button,
  body.home .fusion-fullwidth.cta-parler .fusion-button.button-flat, body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button.button-flat, body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button.button-flat,
  body.home .fusion-fullwidth.cta-parler a.fusion-button , body.page-id-3378 .fusion-fullwidth.cta-parler a.fusion-button , body.page-id-3805 .fusion-fullwidth.cta-parler a.fusion-button {
    white-space:nowrap !important; border:2px solid #fff !important; border-color:#fff !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    max-width:none !important; width:auto !important;
    background:transparent !important; background-color:transparent !important;
    background-image:none !important;
    --button_gradient_top_color:transparent !important; --button_gradient_bottom_color:transparent !important;
    --button_gradient_top_color_hover:rgba(255,255,255,0.15) !important; --button_gradient_bottom_color_hover:rgba(255,255,255,0.15) !important;
    --button_accent_color:#fff !important;
    border-radius:50px !important; padding:0 20px !important; height:42px !important;
    line-height:42px !important;
    font-size:14px !important; font-weight:600 !important;
    color:#fff !important;
    overflow:visible !important;
  }
  body.home .fusion-fullwidth.cta-parler .fusion-button .fusion-button-text , body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button .fusion-button-text , body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button .fusion-button-text { color:#fff !important; font-size:14px !important; }

  /* ---------------------------------------------------------------
     CAREERS (Figma: dark bg, 27px heading, 13px body, stacked)
     --------------------------------------------------------------- */

  /* ---------------------------------------------------------------
     SOCIAL (Figma: white bg, 27px heading centered, 13px body)
     --------------------------------------------------------------- */
  .reseaux-section h2,
  .reseaux-section h2[style] { font-size:27px !important; text-align:center !important; }
  .reseaux-section p,
  .reseaux-section .fusion-text p { font-size:13px !important; text-align:center !important; color:#000000 !important; }
  /* Social handle — Figma phone: black pill 161x33px with logo + text + arrow */
  .social-handle-row { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:0 !important; margin:0 auto 24px !important; }
  /* Hide the <p> wrapper that holds the separate arrow button on mobile so it does not push the pill off-center */
  .social-handle-row > p { display:none !important; margin:0 !important; padding:0 !important; }
  .social-handle {
    display:inline-flex !important; align-items:center !important; gap:2px !important;
    background:#000 !important; border:1px solid rgba(73,73,73,0.37) !important;
    border-radius:20px !important; padding:0 14px 0 5px !important; height:33px !important; box-sizing:border-box !important;
    margin:0 auto !important;
  }
  .social-handle .social-avatar { display:none !important; }
  .social-handle::before { content:"" !important; display:block !important; width:21px !important; height:21px !important; flex-shrink:0 !important; background:url('/wp-content/uploads/2026/04/dcm_new_logo.png') no-repeat center/contain !important; }
  .social-handle span,
  .social-handle span[style] { font-size:12px !important; font-weight:600 !important; color:#fff !important; white-space:nowrap !important; letter-spacing:0 !important; margin-left:2px !important; }
  .social-handle::after {
    content:"" !important; display:inline-flex !important;
    width:6px !important; height:6px !important;
    margin-left:9px !important; flex-shrink:0 !important; align-self:center !important;
    background:url("data:image/svg+xml,%3Csvg preserveAspectRatio='none' viewBox='0 0 7.5 7.5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.75 6.75L6.75 0.75' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0.75 0.75H6.75V6.75' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain !important;
  }
  .social-suivez-btn { display:none !important; }
  /* Social feed: 267px items, scrollable on mobile */
  .social-feed-carousel { position:relative !important; overflow:hidden !important; -webkit-overflow-scrolling:touch !important; scrollbar-width:none !important; }
  .social-feed-carousel::-webkit-scrollbar { display:none !important; }
  .social-feed-track {
    gap:22px !important; flex-wrap:nowrap !important;
    display:flex !important;
    width:max-content !important;
    margin-left:0 !important;
    padding:0 16px !important;
  }
  .social-feed-item,
  .social-feed-item.social-feed-tall { width:267px !important; height:267px !important; flex-shrink:0 !important; }
  /* Fade edges on mobile (Figma: 130px, lower intensity) */
  .social-feed-carousel::before,
  .social-feed-carousel::after {
    display:block !important;
    width: 80px !important;
  }
  .social-feed-carousel::before {
    background: linear-gradient(to right, rgba(255,255,255,0.6), transparent) !important;
  }
  .social-feed-carousel::after {
    background: linear-gradient(to left, rgba(255,255,255,0.6), transparent) !important;
  }

  /* ---------------------------------------------------------------
     FOOTER (Figma phone: stacked, left-aligned, 13px, spacing between groups)
     --------------------------------------------------------------- */
  footer.fusion-footer-widget-area { padding-left:0 !important; padding-right:0 !important; }
  footer.fusion-footer-widget-area .fusion-columns.fusion-columns-4 { flex-direction:column !important; margin-left:0 !important; margin-right:0 !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column { width:100% !important; max-width:100% !important; flex:1 1 100% !important; margin:0 !important; padding:0 !important; text-align:left !important; }
  footer.fusion-footer-widget-area .fusion-row { padding:0 50px !important; }
  /* Column 1 (logo/button): divider line below, generous spacing */
  footer.fusion-footer-widget-area .fusion-column:first-child { border-bottom:1px solid rgba(255,255,255,0.12) !important; padding-bottom:28px !important; margin-bottom:28px !important; border-right:none !important; }
  /* Columns 2-4: vertical spacing between section groups */
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(2) { margin-bottom:24px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(3) { margin-bottom:24px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(4) { margin-bottom:16px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(1),
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(2),
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(3),
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(4) { order:unset !important; }
  footer.fusion-footer-widget-area .widget-title { text-align:left !important; font-size:13px !important; font-weight:700 !important; margin-bottom:12px !important; }
  footer.fusion-footer-widget-area .footer-links { text-align:left !important; }
  footer.fusion-footer-widget-area .footer-links li { padding:5px 0 !important; }
  footer.fusion-footer-widget-area .footer-links li a { font-size:13px !important; }
  footer.fusion-footer-widget-area .fusion-column:first-child .textwidget p { font-size:13px !important; line-height:1.4 !important; }
  footer.fusion-footer-widget-area .fusion-column:first-child img { max-width:158px !important; height:auto !important; display:block !important; }
  .footer-brand p { text-align:left !important; font-size:13px !important; line-height:1.4 !important; }
  .footer-brand img { max-width:158px !important; height:auto !important; display:block !important; }
  /* Footer CTA button (Figma phone: 32px tall, 13px font, orange pill) */
  .footer-cta-btn {
    width:auto !important; max-width:none !important; min-width:0 !important;
    height:32px !important; min-height:32px !important;
    font-size:13px !important; padding:0 14px !important;
    border-radius:50px !important; box-sizing:border-box !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    margin-top:12px !important;
  }
  .footer-cta-btn svg { display:none !important; }
  /* Copyright (Figma phone: 11px, 40% opacity, line above, no orphan wrap) */
  .fusion-footer-copyright-area { border-top:1px solid rgba(255,255,255,0.12) !important; }
  .fusion-footer-copyright-area .fusion-row { padding:16px 30px !important; }
  .fusion-copyright-notice,
  .fusion-copyright-notice a,
  footer .fusion-copyright-content .fusion-copyright-notice { font-size:11px !important; line-height:18px !important; color:rgba(255,255,255,0.4) !important; opacity:1 !important; }
  .fusion-copyright-notice a { white-space:nowrap !important; }

}

/* ── Responsive — tablet (iPad) ──────────────────────────────── */

@media only screen and (min-width: 768px) and (max-width: 1280px) {

  /* ── General spacing ── */
  .fusion-fullwidth { padding-left: 24px !important; padding-right: 24px !important; }
  .fusion-fullwidth .fusion-row { padding-left: 12px !important; padding-right: 12px !important; }

  /* Override 15% column padding on tablet for "Une expertise" section so the heading fits on 1 line */
  body.home .light-section .fusion-layout-column[style] {
    --awb-padding-left: 0 !important;
    --awb-padding-right: 0 !important;
  }

  /* ── HEADER — Figma iPad: 990px pill, logo left, hamburger right ── */
  /* Hide Avada desktop header entirely on iPad */
  .fusion-header-wrapper,
  .fusion-header-wrapper .fusion-header,
  .fusion-secondary-header { display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; }
  .fusion-header-sticky-height { display: none !important; height: 0 !important; }
  /* Show custom mobile header on iPad (double-ID for specificity over inline style) */
  body #custom-mobile-header,
  #custom-mobile-header#custom-mobile-header {
    position: fixed !important; top: 18px !important;
    left: 0 !important; right: 0 !important; width: 100% !important;
    z-index: 99999 !important; pointer-events: none !important;
    display: flex !important; justify-content: center !important;
    padding: 0 !important; margin: 0 !important; box-sizing: border-box !important;
  }
  body #custom-mobile-header > .cmh-inner,
  #custom-mobile-header > .cmh-inner {
    width: 990px !important; max-width: calc(100% - 34px) !important;
    pointer-events: auto !important;
  }
  .cmh-pill {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    background: rgba(0,0,0,0.9) !important; border-radius: 120px !important;
    padding: 16px 32px !important; min-height: 91px !important; box-sizing: border-box !important;
    backdrop-filter: blur(2px) !important; -webkit-backdrop-filter: blur(2px) !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important;
  }
  body:not(.home) .fusion-header .fusion-row { box-shadow: none !important; }
  .cmh-pill.open { border-radius: 30px 30px 0 0 !important; }
  .cmh-logo { display: flex !important; align-items: center !important; }
  .cmh-logo img { height: 61px !important; width: auto !important; max-width: 195px !important; object-fit: contain !important; display: block !important; }
  .cmh-toggle {
    background: none !important; border: none !important; color: #ffffff !important; font-size: 22px !important; cursor: pointer !important;
    padding: 0 !important; line-height: 1 !important; width: 30px !important; height: 30px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
  .cmh-dropdown {
    background: rgba(0,0,0,0.9) !important; border-radius: 0 0 30px 30px !important;
    padding: 5px 0 24px !important; max-height: 70vh !important; overflow-y: auto !important;
    backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important;
  }
  .cmh-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; }
  .cmh-menu li a {
    display: block !important; padding: 16px 32px !important; color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important; font-size: 16px !important; font-weight: 600 !important;
    font-family: Avenir Next LT Pro, Avenir, sans-serif !important;
  }
  .cmh-menu li a:hover { color: #e06919 !important; }
  .cmh-bottom { padding: 20px 32px 0 !important; display: flex !important; align-items: center !important; gap: 16px !important; }
  .cmh-cta {
    display: inline-flex !important; align-items: center !important; height: 36px !important; padding: 0 16px !important;
    border: 1px solid #e06919 !important; border-radius: 30px !important; color: #e06919 !important;
    text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important;
    white-space: nowrap !important;
  }
  .cmh-lang {
    color: rgba(255,255,255,0.8) !important; text-decoration: none !important; font-size: 12px !important;
    text-transform: uppercase !important;
  }

  /* ── Hero (Figma iPad: 55px title, 22px subtitle) ── */
  body.home .fusion-slider-container { height: 90vh !important; max-height: 90vh !important; }
  body.home .tfs-slider, body.home .tfs-slide { height: 90vh !important; max-height: 90vh !important; }
  body.home .fusion-slider-container .background.background-image { height: 90vh !important; max-height: 90vh !important; }
  .tfs-slider h1, .tfs-slider h2,
  body.home .tfs-slider .slide-content h1,
  body.home .tfs-slider h1.fusion-title-heading { font-size: 55px !important; line-height: 1.2 !important; letter-spacing: -0.275px !important; }
  .tfs-slider .caption h3, .tfs-slider .caption .fusion-title-heading { font-size: 22px !important; line-height: 32px !important; }
  /* Hero content padding (Figma iPad: content starts at x=84) */
  body .tfs-slider .slide-content-container { padding-left: 84px !important; }
  body .tfs-slider .slide-content { max-width: 760px !important; }
  /* Hero subtitle (Figma iPad: 22px — override Avada responsive typography) */
  .tfs-slider .caption h3,
  .tfs-slider .caption h3[style],
  .tfs-slider .caption .fusion-title-heading,
  .tfs-slider .caption .fusion-title-heading[style],
  body .tfs-slider .caption .fusion-title-heading.fusion-responsive-typography-calculated,
  body.home .tfs-slider .caption h3.fusion-title-heading.fusion-responsive-typography-calculated[style] { font-size: 22px !important; --fontSize: 22 !important; --awb-font-size: 22px !important; line-height: 32px !important; }
  /* Also override the Avada title container that feeds responsive sizing */
  .tfs-slider .caption .fusion-title[style],
  .tfs-slider .caption .fusion-title-2[style] { --awb-font-size: 22px !important; }
  /* Hero buttons (Figma iPad: "Nos services" text is WHITE, 50px tall) */
  body .tfs-slider .buttons .fusion-button.button-2 .fusion-button-text,
  body .tfs-slider .buttons .fusion-button.button-2 { color: #ffffff !important; --button_accent_color: #ffffff !important; }
  body .tfs-slider .buttons .fusion-button { height: 50px !important; font-size: 18px !important; min-height: 50px !important; max-height: 50px !important; }

  /* ── Ticker bar ── */
  .fusion-fullwidth.services-ticker-bar { padding-left: 0 !important; padding-right: 0 !important; margin-top: -60px !important; }
  .services-ticker { font-size: 13px !important; }

  /* ── Service cards (Figma iPad: 277x277 square, 3 across, 22px gap) ── */
  .svc-grid { gap: 22px !important; max-width: 876px !important; margin: 0 auto !important; }
  /* Force 3-column grid on tablet (overrides the max-width:767px mobile 1fr rule) */
  .svc-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 22px !important; max-width: 876px !important; margin: 0 auto !important; }
  .svc-card { aspect-ratio: 1 / 1 !important; height: auto !important; width: 100% !important; max-width: 277px !important; padding: 0 16px 20px !important; justify-content: flex-end !important; align-items: flex-start !important; }
  .svc-card .svc-label, .svc-card .svc-title { text-align: left !important; }
  .svc-label { font-size: 14px !important; letter-spacing: -0.08px !important; font-weight: 600 !important; }
  .svc-title { font-size: 18px !important; letter-spacing: -0.09px !important; line-height: 1.2 !important; word-break: break-word !important; }

  /* ── "Une expertise" section (Figma iPad: 35px Bold 700, description max-width 536px) ── */
  body.home .fusion-builder-row-3 h2 { font-size: 35px !important; text-align: center !important; font-weight: 700 !important; }
  .fusion-fullwidth.light-section .fusion-text { text-align: center !important; }
  .fusion-fullwidth.light-section .fusion-text p { max-width: 536px !important; margin-left: auto !important; margin-right: auto !important; }

  /* ── Tu ne sais pas — stack at 768-1023, 2-col at 1024+ ── */
  .tunesaispas-bg .fusion-builder-row { display: flex !important; flex-wrap: wrap !important; }
  .tunesaispas-bg .fusion-layout-column { width: 100% !important; min-width: 0 !important; }
  /* Choice boxes (Figma iPad: 470x68px, 18.5px Bold, 20px radius) */
  .choix-trigger { min-width: 0 !important; width: 100% !important; min-height: 68px !important; padding: 12px 18px !important; font-weight: 700 !important; font-size: 18.5px !important; box-sizing: border-box !important; border-radius: 20px !important; }
  .choix-trigger span,
  .choix-trigger span[style] { font-size: 18.5px !important; font-weight: 700 !important; white-space: normal !important; }
  /* "Vous ne savez pas" heading (Figma iPad: 35px, was 40px) */
  .tunesaispas-bg h2[style],
  body.home .tunesaispas-bg h2[style] { font-size: 35px !important; line-height: 1.1 !important; }
  /* No overlay on tablet */
  .tunesaispas-bg h2 { font-size: 35px !important; }

  /* ── Stats — solid dark bg, isolated above gradients ── */
  .stats-numbers-section.fusion-fullwidth { background-color: #000000 !important; background: #000000 !important; position: relative !important; z-index: 3 !important; }

  /* ── Stats — 4 in a row ── */
  .stats-section .fusion-builder-row { display: flex !important; flex-wrap: nowrap !important; }
  .stats-section .fusion-layout-column {
    width: 25% !important;
    min-width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
  }
  .stats-section .fusion-layout-column .fusion-text span[style*="font-size:60px"] {
    font-size: 36px !important;
  }

  /* La rigueur — handled in consolidated block */

  /* ── CTA "Prêt à nous parler" — stacked below 1024, side-by-side at 1024+ ── */
  body.home .cta-parler .fusion-column-wrapper , body.page-id-3378 .cta-parler .fusion-column-wrapper , body.page-id-3805 .cta-parler .fusion-column-wrapper { border-radius: 30px !important; max-width: min(878px, calc(100% - 72px)) !important; margin: 0 auto !important; padding: 40px 40px !important; width: calc(100% - 72px) !important; }
  body.home .cta-parler .fusion-column-content , body.page-id-3378 .cta-parler .fusion-column-content , body.page-id-3805 .cta-parler .fusion-column-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 20px !important;
  }
  body.home .cta-parler .fusion-aligncenter, body.page-id-3378 .cta-parler .fusion-aligncenter, body.page-id-3805 .cta-parler .fusion-aligncenter,
  body.home .cta-parler .fusion-button-wrapper , body.page-id-3378 .cta-parler .fusion-button-wrapper , body.page-id-3805 .cta-parler .fusion-button-wrapper { display: inline-block !important; width: auto !important; text-align: left !important; }
  body.home .cta-parler .fusion-button, body.page-id-3378 .cta-parler .fusion-button, body.page-id-3805 .cta-parler .fusion-button,
  body.home .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button.button-flat { width: auto !important; max-width: none !important; height: 50px !important; font-size: 17px !important; display: inline-flex !important; border-radius: 50px !important; padding: 0 24px !important; }
  body.home .cta-parler .fusion-button .fusion-button-text , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text { font-size: 17px !important; }
  body.home .cta-parler h2 , body.page-id-3378 .cta-parler h2 , body.page-id-3805 .cta-parler h2 { text-align: left !important; font-size: 27px !important; line-height: 32px !important; margin-bottom: 23px !important; }
  body.home .cta-parler p , body.page-id-3378 .cta-parler p , body.page-id-3805 .cta-parler p { text-align: left !important; font-size: 17px !important; line-height: 25px !important; }


  /* ── Social section ── */
  .social-feed-item { width: 315px !important; height: 315px !important; }
  .social-feed-item.social-feed-tall { width: 315px !important; height: 315px !important; }

  /* ── Portfolio ── */
  .fusion-portfolio-post { width: 33.333% !important; }
  .fusion-portfolio-post .fusion-image-wrapper img { height: 200px !important; }

  /* Hide orange separator columns flanking "View All Projects" button (FR: 18,20 / EN: 19,21) */
  .fusion-builder-column-18.fusion-no-small-visibility,
  .fusion-builder-column-19.fusion-no-small-visibility,
  .fusion-builder-column-20.fusion-no-small-visibility,
  .fusion-builder-column-21.fusion-no-small-visibility { display: none !important; }
  .fusion-builder-column-19.fusion-one-third:not(.fusion-no-small-visibility),
  .fusion-builder-column-20.fusion-one-third:not(.fusion-no-small-visibility) { width: 100% !important; max-width: 100% !important; margin-right: 0 !important; text-align: center !important; }

  /* ── Footer — 4 columns in a row (Figma tablet: same as desktop but tighter) ── */
  /* Footer CTA button — responsive sizing at tablet */
  .footer-cta-btn { min-width: 0 !important; max-width: 100% !important; font-size: 14px !important; padding: 0 14px !important; height: 36px !important; }
  /* Trouvez pill border — Figma iPad: solid blue, not 40% opacity */
  .trouvez-pill, a.trouvez-pill { border-color: rgba(14,96,161,0.7) !important; }
  /* Footer vertical divider between logo and services columns */
  footer.fusion-footer-widget-area .fusion-column:first-child {
    border-right: 1px solid rgba(255,255,255,0.12) !important;
    padding-right: 16px !important;
  }
  footer.fusion-footer-widget-area .fusion-row { padding: 0 24px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column .widget-title { font-size: 13px !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column .textwidget { font-size: 13px !important; }
  footer.fusion-footer-widget-area .footer-links a { font-size: 13px !important; }
  footer.fusion-footer-widget-area .fusion-columns.fusion-columns-4 {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column,
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column.col-lg-3 {
    text-align: left !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: hidden !important;
    float: none !important;
  }
  /* Figma-proportional columns (same ratios as desktop, scaled down) */
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(1) {
    flex: 0 0 30% !important; width: 30% !important; max-width: 30% !important;
    padding-right: 24px !important; padding-left: 0 !important;
    border-right: 1px solid rgba(255,255,255,0.12) !important;
    border-bottom: none !important;
  }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(2) {
    flex: 0 0 28% !important; width: 28% !important; max-width: 28% !important;
    padding-left: 20px !important; padding-right: 12px !important;
  }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(3) {
    flex: 0 0 16% !important; width: 16% !important; max-width: 16% !important;
    padding-left: 12px !important; padding-right: 12px !important;
  }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(4) {
    flex: 0 0 26% !important; width: 26% !important; max-width: 26% !important;
    padding-left: 20px !important; padding-right: 0 !important;
  }
  /* Constrain footer logo to fit column */
  footer.fusion-footer-widget-area .fusion-column:first-child img {
    max-width: 100% !important;
    height: auto !important;
  }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(1) { order: unset !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(2) { order: unset !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(3) { order: unset !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(4) { order: unset !important; }
  footer.fusion-footer-widget-area .fusion-column:first-child .textwidget p { text-align: left !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column .widget-title { text-align: left !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column .footer-links { text-align: left !important; }
  footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column .footer-links li { text-align: left !important; }

  /* ── Copyright ── */
  .fusion-footer-copyright-area .fusion-row { padding: 16px 40px !important; }

  /* ── Custom HTML: Rigueur — dark overlay + stacked for tablet ── */
  /* rigueur bg/overlay — handled in consolidated block */

  /* ── Hero — Figma iPad: 55px title ── */
  .tfs-slider h1, .tfs-slider h2 { font-size: 55px !important; line-height: 1.2 !important; letter-spacing: -0.275px !important; }

  /* ── Custom HTML: Rigueur stats — horizontal row (Figma iPad: 36px numbers, 18px labels) ── */
  .rigueur-stats {
    gap: 40px !important;
    padding: 0 20px !important;
  }
  .rigueur-stat-number { font-size: 36px !important; }
  .rigueur-stat-label { font-size: 18px !important; font-weight: 600 !important; }

  /* Rigueur typography — handled in consolidated block */
  /* Social description (Figma iPad: 15px, live renders 18px) */
  .reseaux-section .fusion-text p,
  .reseaux-section .fusion-text p[style],
  body.home .reseaux-section p[style] { font-size: 15px !important; }
  /* rigueur-right/btn — handled in consolidated block */

  /* ── Custom HTML: Service CTA pill (Figma iPad: 875x82, single line) ── */
  .service-cta-pill {
    height: 82px !important;
    line-height: 82px !important;
    font-size: 16px !important;
    overflow: visible !important;
    position: relative !important;
  }
  .service-cta-pill strong { font-size: 22px !important; line-height: 82px !important; }
  .scta-icon-star { line-height: 82px !important; }
  .scta-icon-arrow svg { width: 48px !important; height: 48px !important; }

  /* ── Custom HTML: Trouvez pill (Figma iPad: ~219x39, auto width) ── */
  .trouvez-pill, a.trouvez-pill {
    width: auto !important;
    min-width: 0 !important;
    height: 39px !important;
    padding: 0 24px !important;
    font-size: 15px !important;
  }

  /* ── Service cards (Figma iPad: 277x277, 3 across — height auto for square aspect-ratio) ── */
  .svc-card { height: auto !important; }
  .svc-card .svc-title { font-size: 18px !important; line-height: 1.2 !important; word-break: break-word !important; }

  /* ── Choice boxes (Figma iPad: 470px wide, 18.5px text) ── */

  /* ── "Une expertise" heading (Figma iPad: 35px) ── */
  body.home .light-section h2,
  body.home .fusion-builder-row-3 h2 { font-size: 35px !important; }
  .light-section p { font-size: 15px !important; }

  /* ── Tu ne sais pas (Figma iPad: 35px heading, 15px body) ── */
  .tunesaispas-bg h2 { font-size: 35px !important; }
  .tunesaispas-bg p { font-size: 15px !important; }

  /* ── CTA card duplicate removed — rules consolidated above ── */


  /* ── Social (Figma iPad: 35px heading, 15px body) ── */
  .reseaux-section h2,
  .reseaux-section h2[style],
  .reseaux-section .fusion-text h2.fusion-responsive-typography-calculated { font-size: 35px !important; --fontSize: 35 !important; --minFontSize: 35 !important; --awb-font-size: 35px !important; }
  .reseaux-section p { font-size: 15px !important; color: #000000 !important; }
  .reseaux-section .fusion-text p,
  .reseaux-section .fusion-text p[style] { max-width: 525px !important; }

  /* rigueur pill — handled in consolidated block */

  /* ── Inner pages: Avada columns stack at tablet (except homepage sections) ── */
  .fusion-layout-column.fusion-two-fifth,
  .fusion-layout-column.fusion-three-fifth {
    width: 100% !important;
    margin-right: 0 !important;
  }
  .fusion-fullwidth:not(.carrieres-bg):not(.rigueur-bg):not(.tunesaispas-bg) .fusion-layout-column.fusion-one-half {
    width: 100% !important;
    margin-right: 0 !important;
  }
  /* Keep 1/3 columns as 50% on tablet for tighter grids */
  .fusion-layout-column.fusion-one-third {
    width: 50% !important;
  }
  .fusion-layout-column.fusion-one-fourth {
    width: 50% !important;
  }
  /* Content boxes grid — 2 columns */
  .fusion-content-boxes .fusion-columns-4 .fusion-content-box-wrapper {
    width: 50% !important;
  }
}

/* ── Footer: stacked single-column at <=900px (body prefix for specificity) ── */
@media only screen and (max-width: 900px) {
  body footer.fusion-footer-widget-area .fusion-columns.fusion-columns-4 { flex-direction: column !important; flex-wrap: wrap !important; }
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column,
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column.col-lg-3,
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(1),
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(2),
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(3),
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(4) {
    width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important;
    padding: 0 !important; text-align: left !important;
  }
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(1) {
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    padding-bottom: 28px !important; margin-bottom: 28px !important;
    border-right: none !important;
  }
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(2) { margin-bottom: 24px !important; }
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(3) { margin-bottom: 24px !important; border-right: none !important; }
  body footer.fusion-footer-widget-area .fusion-columns-4 .fusion-column:nth-child(4) { margin-bottom: 16px !important; }
  body footer.fusion-footer-widget-area .fusion-column:first-child img { max-width: 180px !important; }
  body footer.fusion-footer-widget-area .fusion-row { padding: 0 50px !important; }
  body footer.fusion-footer-widget-area .widget-title { font-size: 13px !important; }
  body footer.fusion-footer-widget-area .footer-links a { font-size: 13px !important; }
}

/* ── Tu ne sais pas: 2-col at 1024px+ (Figma iPad match) ── */
@media only screen and (min-width: 1024px) {
  .tunesaispas-bg .fusion-builder-row,
  .tunesaispas-bg .fusion-row { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important; }
  .tunesaispas-bg .fusion-layout-column { width: 50% !important; float: none !important; clear: none !important; }
}
/* ── Careers: 2-col at 1024px+ (Figma iPad + Desktop) ── */
@media only screen and (min-width: 1024px) {
}
/* ── CTA: side-by-side at 1024px+ (Figma iPad: 878px card, text left + button right) ── */
@media only screen and (min-width: 1024px) {
  /* CTA: switch to row layout at 1024px+ but keep tablet font sizes */
  body.home .cta-parler .fusion-column-wrapper , body.page-id-3378 .cta-parler .fusion-column-wrapper , body.page-id-3805 .cta-parler .fusion-column-wrapper { max-width: 1294px !important; padding: 50px 52px !important; margin: 0 auto !important; width: calc(100% - 72px) !important; }
  body.home .cta-parler .fusion-column-content , body.page-id-3378 .cta-parler .fusion-column-content , body.page-id-3805 .cta-parler .fusion-column-content {
    flex-direction: row !important;
    align-items: center !important;
    gap: 30px !important;
  }
  body.home .fusion-fullwidth.cta-parler .fusion-button, body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button, body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button,
  body.home .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button.button-flat { width: auto !important; max-width: none !important; height: 50px !important; font-size: 17px !important; padding: 0 24px !important; border-radius: 50px !important; box-sizing: border-box !important; }
  body.home .cta-parler .fusion-button .fusion-button-text , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text { font-size: 17px !important; font-weight: 600 !important; letter-spacing: -0.1px !important; }
  body.home .cta-parler .fusion-button .fusion-button-text::after , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text::after , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text::after { display: none !important; }
  body.home .cta-parler h2 , body.page-id-3378 .cta-parler h2 , body.page-id-3805 .cta-parler h2 { font-size: 27px !important; line-height: 32px !important; }
  body.home .cta-parler p , body.page-id-3378 .cta-parler p , body.page-id-3805 .cta-parler p { font-size: 17px !important; }
}
/* ── CTA: full desktop sizes at 1281px+ ── */
@media only screen and (min-width: 1281px) {
  body.home .cta-parler .fusion-column-wrapper , body.page-id-3378 .cta-parler .fusion-column-wrapper , body.page-id-3805 .cta-parler .fusion-column-wrapper { padding: 65px 88px 56px !important; width: 100% !important; }
  body.home .cta-parler h2 , body.page-id-3378 .cta-parler h2 , body.page-id-3805 .cta-parler h2 { font-size: 33px !important; line-height: 40px !important; }
  body.home .cta-parler p , body.page-id-3378 .cta-parler p , body.page-id-3805 .cta-parler p { font-size: 20px !important; line-height: 25px !important; }
  body.home .fusion-fullwidth.cta-parler .fusion-button, body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button, body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button,
  body.home .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3378 .fusion-fullwidth.cta-parler .fusion-button.button-flat , body.page-id-3805 .fusion-fullwidth.cta-parler .fusion-button.button-flat { height: 55px !important; font-size: 19px !important; padding: 0 30px !important; }
  body.home .cta-parler .fusion-button .fusion-button-text , body.page-id-3378 .cta-parler .fusion-button .fusion-button-text , body.page-id-3805 .cta-parler .fusion-button .fusion-button-text { font-size: 19px !important; }
}
/* La rigueur 768+ and 1280+ — handled in consolidated block above */


/* ── Services ticker bar ── */
.fusion-fullwidth.services-ticker-bar {
  background-color: rgba(0,0,0,0.92) !important;
  overflow: hidden;
  position: relative;
  z-index: 10;
  margin-top: -77px !important;
  padding: 27px 0 !important; /* Apr 2026: ticker height ~72px (designer spec) */
  border-top: 1px solid #333 !important;
  border-bottom: 1px solid #333 !important;
}
.services-ticker-wrapper {
  overflow: hidden;
  white-space: nowrap;
}
.services-ticker {
  display: inline-block;
  white-space: nowrap;
  font-size: 13px; /* Apr 2026: 13px per designer spec */
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  animation: ticker-scroll 90s linear infinite;
}
.services-ticker .td {
  display: inline-block;
  width: 60px;
  font-size: 10px;
  color: #e06919;
  text-align: center;
  vertical-align: middle;
}
@keyframes ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── Trouvez votre service pill ── */
.trouvez-pill-wrapper { text-align: center; margin-bottom: 28px; }
.trouvez-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0e60a1 !important;
  border: 1px solid rgba(14,96,161,0.4) !important;
  border-radius: 50px;
  width: auto;
  height: 40px;
  padding: 0 24px;
  font-size: 17px;
  white-space: nowrap;
  pointer-events: none;
  cursor: default;
  font-weight: 400 !important;
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.05);
  text-decoration: none !important;
  background: transparent;
  transition: background 0.2s, color 0.2s;
}
a.trouvez-pill:hover, .trouvez-pill:hover { background: transparent !important; color: #0e60a1 !important; }

/* ── Service CTA pill below cards ── */
/* Pill is in a second fusion_builder_row inside the teasers container — guaranteed same width */
.service-cta-pill-wrapper { display: block; width: 100%; }
.service-cta-pill {
  display: flex;
  width: 100%;
  box-sizing: border-box !important;
  align-items: baseline;
  gap: 10px;
  background: #000000;
  color: #ffffff !important;
  border-radius: 20px;
  height: 88px;
  padding: 0 28px !important;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 88px;
  text-decoration: none !important;
  transition: all 0.2s;
}
.service-cta-pill:hover,
a.service-cta-pill:hover { background: #0f2a4a; color: #ffffff !important; transform: none; }
.service-cta-pill:hover strong { color: #ffffff !important; background: transparent !important; }
.service-cta-pill strong { font-weight: 700; font-style: normal; text-transform: none !important; font-size: 25px; line-height: 88px; }
.scta-dot { padding: 0; font-size: 20px; }
.scta-icon-star {
  color: #0e60a1;
  font-size: 26px;
  line-height: 88px;
  flex-shrink: 0;
  align-self: center;
}
.scta-icon-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: auto;
  align-self: center;
  background: none;
  border: none;
}
.scta-icon-arrow svg {
  width: 48px;
  height: 48px;
}


/* ── Homepage orange buttons: generous pill padding ─────────────────── */
body.home .fusion-fullwidth:not(.cta-parler) .fusion-button.button-flat:not(.carrieres-btn):not(.button-3) , body.page-id-3378 .fusion-fullwidth:not(.cta-parler) .fusion-button.button-flat:not(.carrieres-btn):not(.button-3) , body.page-id-3805 .fusion-fullwidth:not(.cta-parler) .fusion-button.button-flat:not(.carrieres-btn):not(.button-3) {
  padding: 18px 55px !important;
  border-radius: 50px !important;
}


/* ── Stats section — Figma 36px numbers, 20px labels ── */
.stats-section .fusion-text div[style*="text-align:center"] span:first-child {
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
}
.stats-section .fusion-text div[style*="text-align:center"] span:last-of-type {
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Social feed items — gradient overlay like Figma */
.social-feed-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 25%, rgba(0,0,0,1) 100%);
  border-radius: 20px;
  pointer-events: none;
}
.social-feed-item {
  position: relative;
}


/* ── End of site.css ── */




/* ================================================================
   AUDIT FIXES — Batch implementation
   ================================================================ */

/* FIX: Ticker bar typography (Figma: 15px Demi, 1.5px spacing, 60% white, 0.7 opacity) */
body.home .services-ticker-bar .ticker-text,
body.home .services-ticker-bar span,
body.home .services-ticker-bar a {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  color: rgba(255,255,255,0.6) !important;
  opacity: 0.7 !important;
}

/* FIX: "SECTEUR" label weight (Figma: Demi 600) */
.svc-card .svc-label { font-weight: 600 !important; }

/* FIX: "SERVICE SPECIALISE" weight (Figma: Demi 600) */
.service-cta-pill .scta-label { font-weight: 600 !important; }

/* FIX: "Une expertise" heading weight 700 not 900 */
body.home .light-section h2 { font-weight: 700 !important; }

/* FIX: Description below "Une expertise" - max-width + gap */
body.home .light-section .fusion-text p[style*="text-align: center"] {
  max-width: 570px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* FIX: "Trouvez votre service" pill opacity */
body.home .trouvez-pill,
body.home .light-section .fusion-text a[style*="border-radius:50px"] {
  opacity: 0.8 !important;
}

/* FIX: Careers button arrow on desktop (already added via CSS ::after) - verify */

/* FIX: Careers pill mobile font-size */
@media (max-width: 767px) {
  .carrieres-pill { font-size: 13px !important; width: auto !important; min-width: 0 !important; padding: 0 18px !important; }
}

/* FIX: Copyright separator line + opacity */
body .fusion-footer-copyright-area,
body .fusion-footer-copyright-area[style] {
  border-top: 1px solid rgba(255,255,255,0.2) !important;
}
body .fusion-footer-copyright-area .fusion-copyright-content {
  opacity: 0.5 !important;
}

/* FIX: Description below "Une expertise" — max-width 570px desktop, 285px mobile */
body.home .light-section:not(.teasers-services) .fusion-text p {
  max-width: 570px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 767px) {
  body.home .light-section:not(.teasers-services) .fusion-text p {
    max-width: 285px !important;
  }
}

/* FIX: Mobile ticker font-size */
@media (max-width: 767px) {
  body.home .services-ticker-bar .ticker-text,
  body.home .services-ticker-bar span,
  body.home .services-ticker-bar a {
    font-size: 13px !important;
  }
}

/* FIX: Mobile choice boxes (Figma: 13.5px text, 21px icon, 12px radius, 14px gap) */
@media (max-width: 767px) {
  .choix-trigger { border-radius: 12px !important; }
  .choix-trigger span[style*="font-size"] { font-size: 13.5px !important; }
  .choix-trigger span[style*="width:34px"],
  .choix-trigger span[style*="min-width:34px"] { width: 21px !important; min-width: 21px !important; height: 21px !important; }
  .choix-trigger svg { width: 21px !important; height: 21px !important; }
}

/* FIX: Stats mobile divider lines */
@media (max-width: 767px) {
  .rigueur-stat::after {
    content: "" !important; display: block !important;
    position: absolute !important; bottom: 0 !important; left: 50% !important;
    transform: translateX(-50%) !important; width: 206px !important; height: 1px !important;
    background: rgba(255,255,255,0.2) !important;
  }
  .rigueur-stat:last-child::after { display: none !important; }
}

/* FIX: Footer contact button weight */
body .fusion-footer .fusion-button,
body .fusion-footer a.fusion-button {
  font-weight: 700 !important;
}


/* ================================================================
   SERVICES PAGE — Clean dark theme
   ================================================================ */

/* Remove gap between banner and content */
body:not(.home) #main { padding-top: 0 !important; }
body:not(.home) .fusion-page-title-bar + #content { margin-top: 0 !important; }
body:not(.home) #content > .fusion-row { padding-top: 0 !important; }

/* Consistent dark background for all sections */
body:not(.home) .post-content .fusion-fullwidth:not(.cta-parler) {
  background-color: #111111 !important;
}

/* Section spacing — breathe between sections */
body:not(.home) .post-content .fusion-fullwidth {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
body:not(.home) .post-content .fusion-fullwidth:first-child {
  padding-top: 40px !important;
}
/* Hero pages override: the rebuilt heroes need full padding-top to clear
   the absolute-positioned header overlay and the photo bg. */
body.page-id-1189 .post-content .fusion-fullwidth.apropos-hero-wrap,
body.page-id-3094 .post-content .fusion-fullwidth.apropos-hero-wrap,
body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap,
body.page-id-3808 .post-content .fusion-fullwidth.metier-hero-wrap,
body.page-id-3809 .post-content .fusion-fullwidth.metier-hero-wrap {
  padding-top: 180px !important;
  padding-bottom: 80px !important;
  background-color: transparent !important;
}
@media (max-width: 1100px) {
  body.page-id-1189 .post-content .fusion-fullwidth.apropos-hero-wrap,
  body.page-id-3094 .post-content .fusion-fullwidth.apropos-hero-wrap,
  body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3808 .post-content .fusion-fullwidth.metier-hero-wrap,
  body.page-id-3809 .post-content .fusion-fullwidth.metier-hero-wrap {
    padding-top: 160px !important;
    padding-bottom: 60px !important;
  }
}
@media (max-width: 640px) {
  body.page-id-1189 .post-content .fusion-fullwidth.apropos-hero-wrap,
  body.page-id-3094 .post-content .fusion-fullwidth.apropos-hero-wrap,
  body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3808 .post-content .fusion-fullwidth.metier-hero-wrap,
  body.page-id-3809 .post-content .fusion-fullwidth.metier-hero-wrap {
    padding-top: 140px !important;
    padding-bottom: 50px !important;
  }
}

/* Section headings — consistent orange accent style */
body:not(.home) .post-content .fusion-fullwidth h2 {
  color: #ffffff !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 2px solid #333 !important;
}

/* Body text */
body:not(.home) .post-content .fusion-fullwidth p {
  color: rgba(255,255,255,0.85) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Lists */
body:not(.home) .post-content .fusion-fullwidth li {
  color: rgba(255,255,255,0.85) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

/* Orange CTA buttons — consistent rounded pill style */
body:not(.home) .post-content .fusion-button.button-flat {
  background: #e06919 !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  height: auto !important;
  min-height: 0 !important;
}
body:not(.home) .post-content .fusion-button.button-flat .fusion-button-text {
  color: #ffffff !important;
  font-size: 15px !important;
}
body:not(.home) .post-content .fusion-button.button-flat:hover {
  background: #c85a14 !important;
}

/* Images — rounded corners */
body:not(.home) .post-content .fusion-imageframe img {
  border-radius: 12px !important;
}

/* Hide ugly separators completely */
body:not(.home) .fusion-separator,
body:not(.home) .fusion-sep-clear {
  display: none !important;
}

/* Column wrappers — remove any stray backgrounds */
body:not(.home) .post-content .fusion-fullwidth:not(.cta-parler) .fusion-column-wrapper {
  background: transparent !important;
}


/* ================================================================
   SOUMISSION FORM — Dark theme styling
   ================================================================ */
.page-quote .gform_wrapper input[type="text"],
.page-quote .gform_wrapper input[type="email"],
.page-quote .gform_wrapper input[type="tel"],
.page-quote .gform_wrapper textarea,
.page-quote .gform_wrapper select {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-size: 17px !important; /* Apr 2026: 17px per designer */
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  width: 100% !important;
  box-sizing: border-box !important;
  letter-spacing: -0.1px !important; /* Apr 2026: tighten letter-spacing */
}
.page-quote .gform_wrapper input:focus,
.page-quote .gform_wrapper textarea:focus,
.page-quote .gform_wrapper select:focus {
  border-color: #e06919 !important;
  outline: none !important;
}
.page-quote .gform_wrapper .gfield_label {
  color: #fff !important;
  font-weight: 600 !important; /* Apr 2026: Demi confirmed */
  font-size: 17px !important;  /* Apr 2026: 15px → 17px per designer */
  margin-bottom: 8px !important;
  letter-spacing: -0.1px !important;
}
.page-quote .gform_wrapper .gfield_required {
  color: #e06919 !important;
}
.page-quote .gform_wrapper .gform_footer input[type="submit"],
.page-quote .gform_wrapper .gform_button {
  background: #e06919 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 36px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  transition: background 0.2s !important;
}
.page-quote .gform_wrapper .gform_button:hover {
  background: #c85a14 !important;
}
.page-quote .gform_wrapper .gfield {
  margin-bottom: 20px !important;
}
.page-quote .gform_wrapper .validation_error {
  color: #ff4444 !important;
  border: 1px solid #ff4444 !important;
  border-radius: 8px !important;
  padding: 12px !important;
  background: rgba(255,68,68,0.1) !important;
}
.page-quote .gform_wrapper .gfield_error input,
.page-quote .gform_wrapper .gfield_error textarea,
.page-quote .gform_wrapper .gfield_error select {
  border-color: #ff4444 !important;
}
.page-quote .gform_wrapper .validation_message {
  color: #ff4444 !important;
  font-size: 13px !important;
}
.page-quote .gform_confirmation_message,
.page-quote .gform_confirmation_message p {
  color: #111111 !important;
  font-size: 18px !important;
}
.page-quote .gform_confirmation_message {
  padding: 24px 8px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center !important;
}
.page-quote .gform_confirmation_message p { margin: 0 0 14px !important; line-height: 1.45 !important; }
.page-quote .gform_confirmation_message p:last-child { margin-bottom: 0 !important; }


/* ================================================================
   SOUMISSION PAGE — Full-width hero + floating card (Figma match)
   ================================================================ */

/* Hide page title bar */
.page-quote .fusion-page-title-bar { display: none !important; }

/* Full-width hero section */
.soumission-hero-full {
  position: relative;
  min-height: 766px;
  background: #000 url('/wp-content/uploads/2026/04/soumission_hero.jpg') center center / cover no-repeat;
  display: flex;
  align-items: center;
  padding: 140px 0 120px;
}
/* Gradient overlays like Figma */
.soumission-hero-full::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.15) 12%, transparent 30%),
    linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.6) 35%, rgba(0,0,0,0.1) 65%, transparent 85%);
  z-index: 0;
  pointer-events: none;
}
/* Hero inner content (left side) */
.soumission-hero-content {
  position: relative;
  z-index: 1;
  max-width: clamp(320px, 35vw, 527px);
  margin-left: clamp(30px, 12vw, 169px);
  padding-right: 20px;
}
.soumission-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(25,25,25,0.4);
  border: 1px solid #3c3c3c;
  color: #ffffff;
  font-size: 17px;
  font-weight: 400;
  text-transform: uppercase;
  opacity: 0.8;
  border-radius: 50px;
  height: 39px;
  padding: 0 18px;
  margin-bottom: 30px;
  white-space: nowrap;
}
.soumission-hero-full h1 {
  color: #ffffff !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.2px !important;
  margin-bottom: 24px !important;
}
.soumission-hero-full p {
  color: rgba(255,255,255,0.85) !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  max-width: 470px;
}

/* Floating white card (right side) */
.soumission-card-float {
  position: absolute;
  right: clamp(30px, 6vw, 169px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: #ffffff;
  border-radius: 35px;
  box-shadow: 0 4px 36px rgba(150,150,150,0.6);
  padding: 35px;
  width: clamp(360px, 32vw, 461px);
  max-width: calc(50% - 40px);
}

/* Alias for card styling */
.soumission-card-float { }
.soumission-card-float .gform_wrapper,
.soumission-card { }

/* GF form inside the white card — Figma-matched inputs */
.soumission-card-float .gform_wrapper input[type="text"],
.soumission-card-float .gform_wrapper input[type="email"],
.soumission-card-float .gform_wrapper input[type="tel"],
.soumission-card-float .gform_wrapper textarea,
.soumission-card-float .gform_wrapper select {
  background: rgba(0,0,0,0.03) !important;
  border: 1px solid rgba(0,0,0,0.4) !important;
  color: #111 !important;
  border-radius: 10px !important;
  padding: 10px 13px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.soumission-card-float .gform_wrapper input:focus,
.soumission-card-float .gform_wrapper textarea:focus,
.soumission-card-float .gform_wrapper select:focus {
  border-color: #0e60a1 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(14,96,161,0.15) !important;
}
.soumission-card-float .gform_wrapper .gfield_label {
  color: #111 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  margin-bottom: 8px !important;
}
.soumission-card-float .gform_wrapper .gfield_required {
  color: #e06919 !important;
}

/* Progress bar — Figma style */
.soumission-card .gf_progressbar_wrapper {
  margin-bottom: 24px !important;
}
.soumission-card .gf_progressbar {
  background: #d9d9d9 !important;
  border-radius: 50px !important;
  height: 5px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: none !important;
}
.soumission-card .gf_progressbar_percentage {
  background: #0e60a1 !important;
  border-radius: 50px !important;
  height: 5px !important;
  line-height: 5px !important;
  font-size: 0 !important;
  padding: 0 !important;
}
.soumission-card .gf_progressbar_title {
  color: #b3b3b3 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

/* Navigation buttons */
.soumission-card-float .gform_wrapper .gform_page_footer {
  margin-top: 24px !important;
  padding-top: 0 !important;
  border: none !important;
  display: flex !important;
  gap: 12px !important;
}
.soumission-card-float .gform_wrapper .gform_next_button,
.soumission-card-float .gform_wrapper .gform_button {
  background: #0e60a1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 30px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-family: 'Avenir Next LT Pro', sans-serif !important;
  width: 100% !important;
}
.soumission-card-float .gform_wrapper .gform_next_button:hover,
.soumission-card-float .gform_wrapper .gform_button:hover {
  background: #0a4f87 !important;
}
.soumission-card-float .gform_wrapper .gform_previous_button {
  background: transparent !important;
  color: #666 !important;
  border: 1px solid #ddd !important;
  border-radius: 50px !important;
  padding: 14px 24px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.soumission-card-float .gform_wrapper .gform_previous_button:hover {
  border-color: #999 !important;
  color: #333 !important;
}

/* Confirmation message */
.soumission-card .gform_confirmation_message {
  color: #111 !important;
  font-size: 18px !important;
  text-align: center !important;
}

/* Field spacing */
.soumission-card-float .gform_wrapper .gfield {
  margin-bottom: 16px !important;
}

/* Address field sub-labels */
.soumission-card-float .gform_wrapper .ginput_address label {
  color: #666 !important;
  font-size: 12px !important;
}

/* Hide GF footer borders */
.soumission-card-float .gform_wrapper .gform_footer {
  border: none !important;
  padding-top: 16px !important;
}

/* Mobile: card below hero content */
@media (max-width: 1100px) {
  .soumission-hero-full {
    flex-direction: column;
    align-items: stretch;
    min-height: auto;
    padding: 130px 30px 40px;
  }
  .soumission-hero-content {
    margin-left: 0;
    max-width: 100%;
    margin-bottom: 30px;
  }
  .soumission-hero-full h1 { font-size: 36px !important; line-height: 1.15 !important; }
  .soumission-hero-full p { font-size: 14px !important; max-width: 100% !important; line-height: 1.4 !important; }
  .soumission-pill { font-size: 13px !important; padding: 8px 16px !important; }
  .soumission-card-float {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: calc(100% - 50px);
    max-width: 326px;
    margin: 0 auto;
    border-radius: 30px;
    padding: 27px 24px;
  }
}


/* ================================================================
   SOUMISSION — Audit fixes
   ================================================================ */

/* FIX 1: Hide page title bar on soumission page (not in Figma) */
.page-quote .fusion-page-title-bar { display: none !important; }

/* FIX 2: CTA "Contactez-nous" button — white text on orange bg */
.soumission-layout + div a[href*="joindre"],
.soumission-layout ~ div a[style*="e06919"] {
  color: #ffffff !important;
}

/* FIX 3: Progress bar — thin 5px line like Figma */
.soumission-card .gf_progressbar_wrapper { margin-bottom: 20px !important; }
.soumission-card .gf_progressbar {
  height: 5px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.soumission-card .gf_progressbar_percentage {
  height: 5px !important;
  line-height: 5px !important;
  font-size: 0 !important;
  padding: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}
.soumission-card .gf_progressbar_percentage span { display: none !important; }

/* FIX 4: Step text in French + styling */
.soumission-card .gf_progressbar_title {
  font-size: 0 !important;
  visibility: hidden !important;
  height: 18px !important;
  margin-bottom: 8px !important;
  position: relative !important;
}
.soumission-card .gf_progressbar_title::after {
  content: attr(data-step-text) !important;
  visibility: visible !important;
  font-size: 13px !important;
  color: #b3b3b3 !important;
  font-weight: 600 !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}

/* FIX 5: Precedent button — black bg, white text (Figma Desktop 2) */
.soumission-card-float .gform_wrapper .gform_previous_button {
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 15px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.soumission-card-float .gform_wrapper .gform_previous_button:hover {
  background: #333 !important;
  color: #fff !important;
}

/* FIX 6: Buttons compact and side-by-side */
.soumission-card-float .gform_wrapper .gform_page_footer {
  display: flex !important;
  flex-direction: row-reverse !important;
  gap: 12px !important;
}
.soumission-card-float .gform_wrapper .gform_next_button,
.soumission-card-float .gform_wrapper .gform_button {
  width: auto !important;
  flex: 0 0 auto !important;
  padding: 12px 28px !important;
  border-radius: 15px !important;
  min-width: 97px !important;
}
.soumission-card-float .gform_wrapper .gform_previous_button {
  width: auto !important;
  flex: 0 0 auto !important;
  min-width: 119px !important;
}
/* Right-align buttons */
.soumission-card-float .gform_wrapper .gform_page_footer {
  justify-content: flex-end !important;
}

/* FIX 7: Card shadow stronger (0.3 → 0.6) */
.soumission-card {
  box-shadow: 0 4px 36px rgba(150,150,150,0.6) !important;
}

/* FIX 8: Mobile card border-radius 30px */
@media (max-width: 1023px) {
  .soumission-card {
    border-radius: 30px !important;
    max-width: 100% !important;
    width: calc(100% - 0px) !important;
  }
}

/* FIX 9: Form input border darker + radius 10px */
.soumission-card-float .gform_wrapper input[type="text"],
.soumission-card-float .gform_wrapper input[type="email"],
.soumission-card-float .gform_wrapper input[type="tel"],
.soumission-card-float .gform_wrapper textarea,
.soumission-card-float .gform_wrapper select {
  border: 1px solid rgba(0,0,0,0.3) !important;
  border-radius: 10px !important;
}

/* FIX 10: CTA heading size 33px */
.soumission-layout + div h2,
.soumission-layout ~ div h2 {
  font-size: 33px !important;
  color: #fff !important;
}
.soumission-layout + div p,
.soumission-layout ~ div p {
  color: #fff !important;
}

/* FIX 11: Mobile description 13px */
@media (max-width: 1023px) {
  .soumission-hero p { font-size: 13px !important; }
}


/* CTA "Besoin d'assistance?" section */
.soumission-cta-wrap {
  background: #ffffff;
  padding: 60px 30px;
}
.soumission-cta-card {
  background: #0e60a1;
  border-radius: 30px;
  padding: 50px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 1314px;
  margin: 0 auto;
}
.soumission-cta-card h2 {
  color: #fff !important;
  font-size: 33px !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
}
.soumission-cta-card p {
  color: #fff !important;
  font-size: 20px !important;
  margin: 0 !important;
}
.soumission-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #fff;
  padding: 14px 30px;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid #fff;
  transition: all 0.2s;
}
.soumission-cta-btn:hover,
.soumission-cta-btn:focus,
.soumission-cta-btn:active {
  background: rgba(255,255,255,0.15) !important;
  color: #fff !important;
  border-color: #fff !important;
}

@media (max-width: 767px) {
  .soumission-cta-wrap { padding: 40px 20px; }
  .soumission-cta-card { padding: 30px; flex-direction: column; text-align: left; align-items: flex-start; }
  .soumission-cta-card h2 { font-size: 24px !important; }
  .soumission-cta-card p { font-size: 16px !important; }
  .soumission-cta-btn { font-size: 16px; padding: 12px 24px; }
}

/* Mobile-only line breaks in heading */
.br-mobile { display: none; }
@media (max-width: 1100px) {
  .br-mobile { display: inline; }
}


/* Intro step "Prêt à commencer?" */
.soumission-step-intro { text-align: left; }
.sf-progress-wrap { margin-bottom: 16px; }
.sf-step-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #b3b3b3;
  margin-bottom: 8px;
  letter-spacing: -0.065px;
}
.sf-progress-track {
  width: 100%;
  height: 5px;
  background: #d9d9d9;
  border-radius: 50px;
  overflow: hidden;
}
.sf-progress-fill {
  height: 5px;
  background: #0e60a1;
  border-radius: 50px;
  transition: width 0.3s;
}
.sf-start-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #0e60a1;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 14px 30px;
  font-size: 18px;
  font-weight: 600;
  font-family: 'Avenir Next LT Pro', sans-serif;
  cursor: pointer;
  transition: background 0.2s;
  width: 100%;
  max-width: 273px;
}
.sf-start-btn:hover { background: #0a4f87; }


/* ================================================================
   SOUMISSION — Round 2 fixes from audit
   ================================================================ */

/* FIX: "Prêt à commencer?" heading — black text on white card */
.soumission-step-intro h2,
#soumission-intro-step h2 {
  color: #000000 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.15px !important;
}

/* FIX: Start button — Figma: 273x47, icon left, text right, single line */
.sf-start-btn {
  height: 47px !important;
  /* Left padding reserves space for the absolute-positioned icon (33px + margins) */
  padding: 0 24px 0 49px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  border-radius: 50px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  position: relative !important;
}
.sf-start-btn img {
  border-radius: 50%;
  flex-shrink: 0;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

/* FIX: Step label font-weight should be Demi (600) */
.sf-step-label { font-weight: 600 !important; }

/* FIX: CTA button — white text, weight 600 */
.soumission-cta-btn {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* FIX: Description line-height should be 1.2 per Figma */
.soumission-hero-full p {
  line-height: 1.2 !important;
}

/* FIX: Card internal padding should be 27px per Figma */
.soumission-card-float {
  padding: 27px !important;
}

/* FIX: GF form heading inside card — for form steps */
.soumission-card-float .gform_wrapper .gf_page_steps,
.soumission-card-float .gform_wrapper .gform_page_footer { border: none !important; }

/* Remove default GF wrapper margins to control card spacing */
.soumission-card-float .gform_wrapper {
  margin: 0 !important;
}

/* FIX: Mobile card scaling */
@media (max-width: 1100px) {
  .soumission-hero-full {
    flex-direction: column !important;
    align-items: center !important;
    padding: 120px 20px 40px !important;
    min-height: auto !important;
  }
  .soumission-hero-content {
    max-width: 600px !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 30px !important;
    text-align: left !important;
  }
  .soumission-card-float {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 461px !important;
    margin: 0 auto !important;
    padding: 27px !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
  #soumission-intro-step h2 { font-size: 22px !important; }
  .sf-start-btn { max-width: 100% !important; width: auto !important; }
  .sf-step-label { font-size: 11px !important; }
  .sf-progress-track { height: 4px !important; }
  .sf-progress-fill { height: 4px !important; }
  /* Side-by-side fields stack on mobile */
  .soumission-card-float .gform_wrapper .gf_left_half,
  .soumission-card-float .gform_wrapper .gf_right_half {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}


/* FIX: Remove padding from main content wrapper on soumission page */
.page-quote #main { padding: 0 !important; }
.page-quote #main > .fusion-row { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }
.page-quote #content { padding: 0 !important; }
.page-quote .post-content { padding: 0 !important; margin: 0 !important; }


/* Soumission page: hero goes to top edge, pill nav floats on top with shadow */
.page-quote .fusion-header-wrapper { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 100 !important; }
.page-quote .fusion-header .fusion-row { box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important; }
.page-quote #main { margin-top: 0 !important; }
.page-quote .soumission-hero-full { padding-top: 140px !important; margin-top: 0 !important; }

/* Also for mobile pill */
@media (max-width: 1100px) {
  .page-quote .fusion-header-wrapper { position: absolute !important; }
  .page-quote .fusion-header .fusion-row { box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important; }
}


/* Hide empty <p> tags from wpautop */
.page-quote .soumission-hero-content > p:empty,
.page-quote .soumission-card-float p:empty,
.page-quote .soumission-cta-wrap p:empty { display: none !important; }

/* Form placeholder styling */
.soumission-card-float .gform_wrapper input::placeholder,
.soumission-card-float .gform_wrapper textarea::placeholder {
  color: rgba(89,89,89,0.4) !important;
}
.soumission-card-float .gform_wrapper select {
  color: rgba(0,0,0,0.4) !important;
}
.soumission-card-float .gform_wrapper select option { color: #111 !important; }
.soumission-card-float .gform_wrapper select:valid { color: #111 !important; }

/* Input height — Figma: 40px */
.soumission-card-float .gform_wrapper input[type="text"],
.soumission-card-float .gform_wrapper input[type="email"],
.soumission-card-float .gform_wrapper input[type="tel"],
.soumission-card-float .gform_wrapper select {
  height: 40px !important;
}

/* Address field sub-labels in French (CSS can't change text, but hide English and overlay) */
.soumission-card-float .ginput_address label { font-size: 11px !important; color: #707070 !important; }

/* Start button — circular icon style like Figma */
.sf-start-btn {
  gap: 10px !important;
  font-size: 18px !important;
  letter-spacing: -0.09px !important;
}


/* Hide GF's built-in progress bar — use the custom one from intro step */
.soumission-card-float .gf_progressbar_wrapper { display: none !important; }


/* Show GF field labels (bold, Figma style) */
.soumission-card-float .gform_wrapper .gfield_label {
  display: block !important;
  color: #000 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}

/* Hide empty <p> wrapping the start button */
.soumission-step-intro > p { display: contents !important; margin: 0 !important; padding: 0 !important; }

/* Smooth transition for intro/form swap */
#soumission-intro-step, #soumission-form-wrap {
  transition: opacity 0.3s ease;
}


/* Smooth transitions between form steps */
.soumission-card-float .gform_page {
  animation: fadeIn 0.3s ease-in;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Auto-focus styling */
.soumission-card-float .gform_wrapper input:focus,
.soumission-card-float .gform_wrapper select:focus,
.soumission-card-float .gform_wrapper textarea:focus {
  border-color: #0e60a1 !important;
  box-shadow: 0 0 0 3px rgba(14,96,161,0.15) !important;
  outline: none !important;
}


/* ================================================================
   SOUMISSION FORM — Fix white-on-white, placeholders, card overflow
   ================================================================ */

/* Ensure ALL text inside the white card is dark */
.soumission-card-float,
.soumission-card-float * {
  color: #111111;
}
.soumission-card-float .gform_wrapper .gfield_label,
.soumission-card-float .gform_wrapper label {
  color: #000000 !important;
}
.soumission-card-float .sf-step-heading h3 { color: #000000 !important; }
.soumission-card-float .sf-step-heading p { color: #707070 !important; }

/* Ensure buttons keep white text */
.soumission-card-float .gform_next_button,
.soumission-card-float .gform_button,
.soumission-card-float .gform_previous_button,
.soumission-card-float .sf-start-btn {
  color: #ffffff !important;
}

/* Step label stays gray */
.soumission-card-float .sf-step-label,
#sf-step-text { color: #b3b3b3 !important; }

/* Fix validation error messages — visible on white bg */
.soumission-card-float .gform_wrapper .validation_error {
  color: #cc0000 !important;
  background: #fff0f0 !important;
  border: 1px solid #cc0000 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  margin-bottom: 16px !important;
}
.soumission-card-float .gform_wrapper .gfield_error .gfield_label {
  color: #cc0000 !important;
}
.soumission-card-float .gform_wrapper .gfield_error input,
.soumission-card-float .gform_wrapper .gfield_error select,
.soumission-card-float .gform_wrapper .gfield_error textarea {
  border-color: #cc0000 !important;
}
.soumission-card-float .gform_wrapper .validation_message {
  color: #cc0000 !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

/* Card height — scroll when content overflows */
@media (min-width: 1024px) {
  .soumission-card-float {
    max-height: calc(100vh - 140px) !important;
    overflow-y: auto !important;
  }
}

/* Placeholder text — Figma: 14px Demi, rgba(0,0,0,0.4) */
.soumission-card-float .gform_wrapper input::placeholder,
.soumission-card-float .gform_wrapper textarea::placeholder {
  color: rgba(0,0,0,0.4) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: 'Avenir Next LT Pro', sans-serif !important;
}

/* Select default state (placeholder) */
.soumission-card-float .gform_wrapper select.gf_placeholder,
.soumission-card-float .gform_wrapper select option[value=""] {
  color: rgba(0,0,0,0.4) !important;
}
.soumission-card-float .gform_wrapper select {
  color: rgba(0,0,0,0.4) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.soumission-card-float .gform_wrapper select option:not([value=""]) {
  color: #111 !important;
}

/* GF required asterisk */
.soumission-card-float .gfield_required { color: #cc0000 !important; }

/* Confirmation message on white card */
.soumission-card-float .gform_confirmation_message {
  color: #111111 !important;
  text-align: center !important;
  padding: 20px 0 !important;
}


/* Hide GF loading spinner/icon on validation failure */
.soumission-card-float .gform_wrapper .gform_ajax_spinner,
.soumission-card-float .gform_wrapper img.gform_ajax_spinner {
  display: none !important;
}

/* ================================================================
   SOUMISSION FORM — 5-step Figma rebuild styles
   ================================================================ */

/* Radio buttons — clean list (Figma style) — input + label sibling layout */
.soumission-card-float .gform_wrapper .gfield_radio {
  list-style: none !important;
  padding: 0 !important;
  margin: 4px 0 0 !important;
}
.soumission-card-float .gform_wrapper .gfield_radio li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
  padding: 6px 0 !important;
}
.soumission-card-float .gform_wrapper .gfield_radio li label {
  display: inline !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  cursor: pointer !important;
  margin: 0 !important;
}
.soumission-card-float .gform_wrapper .gfield_radio li input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #0e60a1 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Side-by-side fields (Nom / Prenom) */
.soumission-card-float .gform_wrapper .gf_left_half,
.soumission-card-float .gform_wrapper .gf_right_half {
  display: inline-block !important;
  vertical-align: top !important;
  width: 47% !important;
  float: none !important;
}
.soumission-card-float .gform_wrapper .gf_left_half { margin-right: 5% !important; }
.soumission-card-float .gform_wrapper .gf_left_half input,
.soumission-card-float .gform_wrapper .gf_right_half input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Navigation buttons — Figma match */
.soumission-card-float .gform_wrapper .gform_page_footer {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.soumission-card-float .gform_wrapper .gform_previous_button {
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 15px !important;
  padding: 0 24px !important;
  font-size: 16px !important;
  line-height: 47px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  height: 47px !important;
}
.soumission-card-float .gform_wrapper .gform_previous_button:hover {
  background: #333 !important;
}
.soumission-card-float .gform_wrapper .gform_next_button {
  background: #0e60a1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 15px !important;
  padding: 0 24px !important;
  font-size: 16px !important;
  line-height: 47px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  height: 47px !important;
}
.soumission-card-float .gform_wrapper .gform_next_button:hover {
  background: #0a4f87 !important;
}

/* Submit button on last step — Figma: blue FULL pill with arrow icon */
.soumission-card-float .gform_wrapper button.gform_button[type="submit"] {
  background: #0e60a1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0 24px 0 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  width: auto !important;
  height: 47px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
.soumission-card-float .gform_wrapper button.gform_button[type="submit"] span {
  color: #fff !important;
}
.soumission-card-float .gform_wrapper button.gform_button[type="submit"] .sf-submit-arrow {
  flex-shrink: 0;
}
.soumission-card-float .gform_wrapper button.gform_button[type="submit"]:hover {
  background: #0a4f87 !important;
}

/* Hide old sibling icon if present */
.soumission-card-float .sf-submit-icon { display: none !important; }
/* White arrow circle icon (injected via JS as <span> sibling, then absolutely positioned over the button start) */
.soumission-card-float .sf-submit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 32px;
  height: 32px;
  margin-right: -38px;
  z-index: 2;
  pointer-events: none;
  vertical-align: middle;
}
.soumission-card-float .sf-submit-icon svg {
  display: block;
}
/* Add left padding to submit button to make room for the icon */
.soumission-card-float .gform_wrapper .gform_button[data-iconified="1"] {
  padding-left: 50px !important;
}

/* Hide duplicate radio label on step 5 (step heading already shows the same text) */
.soumission-card-float .gform_wrapper #field_3_29 > .gfield_label {
  display: none !important;
}

/* Confirmation screen — Figma style */
.sf-confirmation {
  text-align: center;
  padding: 30px 10px;
}
.sf-confirmation h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #000 !important;
  margin: 0 0 16px !important;
  line-height: 1.2 !important;
}
.sf-confirmation p {
  font-size: 15px !important;
  color: #555 !important;
  line-height: 1.5 !important;
  margin: 0 0 24px !important;
}
.sf-check-icon {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}
/* Confirmation wrapper — strip GF default styling */
.soumission-card-float .gform_confirmation_wrapper,
.soumission-card-float .gform_confirmation_message {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Hide GF required asterisk (labels already indicate required) */
.soumission-card-float .gfield_required { display: none !important; }

/* Textarea height — match Figma single-line input style */
.soumission-card-float .gform_wrapper textarea {
  min-height: 40px !important;
  height: 40px !important;
  resize: vertical !important;
  overflow: hidden !important;
}

/* ================================================================
   Homepage hero — remove dark gradient overlay (Figma has no overlay)
   ================================================================ */
body.home .tfs-slider::after,
body.home .tfs-slider .background::after,
body.home .tfs-slider .background::before,
body.home .tfs-slider .flex-active-slide::after {
  background: none !important;
  background-image: none !important;
  display: none !important;
}

/* Hero ticker bar — orange separator dots */
body.home .services-ticker .td,
body.home .services-ticker-bar .td {
  color: #e06919 !important;
}

/* ============================================================
   Contact page (/nous-joindre/) - new layout (ID 7)
   Specificity boosted to beat global "a { color:#e06919 !important }"
   and ".fusion-body { color:#ccc !important }".
   ============================================================ */
body.page-contact .fusion-page-title-bar { display: none !important; }
body.page-contact #main { padding: 0 !important; }
body.page-contact #content { padding-top: 0 !important; padding-bottom: 0 !important; }
body.page-contact .fusion-row { max-width: 100% !important; padding: 0 !important; }
body.page-contact .fusion-fullwidth.contact-builder,
body.page-contact .fusion-fullwidth.fusion-builder-row-1.contact-builder { margin: 0 !important; padding: 0 !important; padding-top: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; background-color: #fafafa !important; }
body.page-contact .fusion-builder-row { max-width: 100% !important; }
body.page-contact .fusion-text { color: inherit !important; }
body.page-contact .fusion-text > p:empty { display: none !important; }

/* Page background: white all the way up so the hero extends under the transparent header */
body.page-contact,
body.page-contact #wrapper,
body.page-contact .fusion-wrapper,
body.page-contact #main,
body.page-contact main.clearfix,
body.page-contact #content,
body.page-contact .post-content,
body.page-contact .fusion-body { background-color: #fafafa !important; }

/* Mobile pill — solid on contact page (white hero bg bleeds through glass effect) */
body.page-contact .cmh-pill { background: rgba(0,0,0,1) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }

/* Hero shell — pulled up behind the header so white extends to the top */
body.page-contact .contact-hero-full {
  position: relative;
  min-height: 760px;
  background: #fafafa !important;
  margin-top: -127px;
  padding: 220px 0 30px;
  overflow: hidden;
}
body.page-contact .contact-hero-full::before {
  content: "";
  position: absolute;
  /* Bottom-left clear zone: below the hero text, left of the office cards */
  left: 0;
  right: 45%;
  bottom: 0;
  top: 50%;
  background-image: url("/wp-content/uploads/2026/04/reperes-carte-denicourtmigue.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  opacity: 1;
  z-index: 0;
  pointer-events: none;
  /* Soft-feather all four edges into the page background so the map
     container has no visible rectangular border. */
  -webkit-mask-image: radial-gradient(ellipse at 50% 70%,
    rgba(0,0,0,1) 30%,
    rgba(0,0,0,0.85) 55%,
    rgba(0,0,0,0.4) 80%,
    rgba(0,0,0,0) 100%);
          mask-image: radial-gradient(ellipse at 50% 70%,
    rgba(0,0,0,1) 30%,
    rgba(0,0,0,0.85) 55%,
    rgba(0,0,0,0.4) 80%,
    rgba(0,0,0,0) 100%);
}
body.page-contact .contact-hero-full::after {
  /* No global tint — the map now sits in a contained clear zone */
  content: none;
}

/* Remove the dots (kept in DOM, hidden for now) */
body.page-contact .contact-map-dots { display: none !important; }
body.page-contact .contact-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(30px, 5vw, 80px);
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 clamp(24px, 7.4vw, 107px) 0 clamp(24px, 11.6vw, 167px);
}
body.page-contact .contact-hero-content {
  flex: 1 1 auto;
  max-width: clamp(320px, 44vw, 620px);
}

/* Pill — Figma: 15px, regular, uppercase */
body.page-contact .contact-hero-content .trouvez-pill { margin-bottom: 12px; font-size: 15px !important; text-transform: uppercase !important; font-weight: 400 !important; }

/* Headline — Figma: 40px/700/1.2, letter-spacing -0.2px */
body.page-contact .contact-hero-content h1,
body.page-contact .fusion-text .contact-hero-content h1 {
  color: #0f1a2e !important;
  font-size: clamp(30px, 2.9vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.2px !important;
  margin: 0 0 20px !important;
  text-transform: none !important;
}
body.page-contact .contact-hero-content h1 span { color: #0e60a1 !important; }

/* Description paragraph — Figma: 18px regular, line-height 1.2, #000, max-width ~420px */
body.page-contact .post-content .contact-hero-content p {
  color: #000 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.09px !important;
  max-width: 420px !important;
  margin: 0 0 24px !important;
}
body.page-contact .post-content .contact-hero-content p strong { color: #0f1a2e !important; font-weight: 700 !important; }

/* Email link — Figma: black rectangle with white text, 10px radius, 44px tall */
body.page-contact .contact-email-wrap { display: block !important; width: fit-content !important; }
body.page-contact .contact-hero-content a.contact-email-link,
body.page-contact a.contact-email-link {
  display: inline-flex !important;
  width: auto !important;
  align-items: center !important;
  gap: 8px !important; /* Apr 2026: tighter icon-text spacing */
  color: #ffffff !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  border: 1px solid #000 !important;
  background: #000 !important;
  height: 44px !important;
  padding: 0 16px 0 12px !important; /* Apr 2026: reduced left padding (icon closer to edge) */
  border-radius: 10px !important;
  box-shadow: none;
  transition: color 0.15s ease, background 0.15s ease;
}
body.page-contact a.contact-email-link:hover {
  background: #1a1a1a !important;
  color: #ffffff !important;
}
body.page-contact .contact-email-link svg { flex-shrink: 0; stroke: #ffffff; }

/* Side panel */
body.page-contact .contact-side-panel {
  flex: 0 0 auto;
  width: clamp(340px, 37vw, 536px);
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 44px;
}

/* Hours card — Figma: pure #000 bg, #434343 border, 20px radius */
body.page-contact .contact-hours-card {
  background: #000 !important;
  border-radius: 20px !important;
  padding: 28px 30px !important;
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.25);
  border: 1px solid #434343;
}
body.page-contact .contact-hours-card h3,
body.page-contact .fusion-text .contact-hours-card h3 {
  font-size: 19px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.page-contact .contact-hours-card h3 svg { flex-shrink: 0; stroke: #0e60a1; }
body.page-contact .contact-hours-card dl {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  font-size: 15px !important;
}
body.page-contact .contact-hours-card dl > div {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
body.page-contact .contact-hours-card dt { color: #919191 !important; font-weight: 400 !important; }
body.page-contact .contact-hours-card dd { color: #ffffff !important; font-weight: 600 !important; margin: 0 !important; }

/* Office list — fixed-height window, cards scroll inside */
body.page-contact .contact-office-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  height: 560px;
  max-height: 560px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  position: relative;
  background: #000 !important;
  border-radius: 20px;
  box-shadow: 0 4px 28px rgba(0,0,0,0.25);
}
body.page-contact .contact-office-list::-webkit-scrollbar { width: 12px; }
body.page-contact .contact-office-list::-webkit-scrollbar-track { background: transparent; margin: 24px 0; }
body.page-contact .contact-office-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.9); border-radius: 6px; border: 3px solid transparent; background-clip: padding-box; }
body.page-contact .contact-office-list::-webkit-scrollbar-thumb:hover { background: #fff; background-clip: padding-box; }
body.page-contact .contact-office-list::-webkit-scrollbar-button,
body.page-contact .contact-office-list::-webkit-scrollbar-button:start,
body.page-contact .contact-office-list::-webkit-scrollbar-button:end,
body.page-contact .contact-office-list::-webkit-scrollbar-button:vertical:start,
body.page-contact .contact-office-list::-webkit-scrollbar-button:vertical:end,
body.page-contact .contact-office-list::-webkit-scrollbar-button:vertical:decrement,
body.page-contact .contact-office-list::-webkit-scrollbar-button:vertical:increment,
body.page-contact .contact-office-list::-webkit-scrollbar-button:single-button,
body.page-contact .contact-office-list::-webkit-scrollbar-button:double-button,
body.page-contact .contact-office-list::-webkit-scrollbar-button:no-button {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
  background: transparent !important;
  background-image: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
body.page-contact .contact-office-list { position: relative; }
body.page-contact .contact-side-panel { position: relative; }
body.page-contact .contact-office-list {
  border-right: none;
  border-image: none;
}
@media (max-width: 900px) {
  body.page-contact .contact-office-list { border-right: none; border-image: none; }
}

/* Office card — Figma: pure #000 bg, #434343 border */
body.page-contact .contact-office-card {
  background: #000 !important;
  border: 1px solid #434343;
  border-radius: 20px;
  padding: 20px 24px;
  color: #ffffff !important;
}
body.page-contact .contact-office-badge {
  display: inline-block;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #e06919 !important;
  border: 1px solid rgba(224,105,25,0.45);
  background: rgba(224,105,25,0.08);
  border-radius: 999px;
  padding: 3px 10px;
  margin: 0 0 8px !important;
  line-height: 1.2;
}
body.page-contact .contact-hours-note {
  margin: 10px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: #919191 !important;
  font-style: italic;
}
body.page-contact .contact-office-card h4,
body.page-contact .fusion-text .contact-office-card h4 {
  font-size: 17px !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  color: #ffffff !important;
  letter-spacing: -0.1px !important;
  line-height: 1.2 !important;
}
body.page-contact .post-content .contact-office-card .contact-office-addr {
  color: #919191 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}
body.page-contact .post-content .contact-office-card p { margin: 0 !important; }
body.page-contact .contact-office-card a.contact-office-tel {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #ffffff !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
  letter-spacing: -0.05px !important;
  border: none !important;
}
body.page-contact .contact-office-card a.contact-office-tel:hover { color: #e06919 !important; }
body.page-contact .contact-office-card a.contact-office-tel svg { flex-shrink: 0; stroke: #e06919; }

/* Zone eloignee CTA — tighter padding to match reference */
body.page-contact .contact-cta-wrap {
  background: #0e60a1 !important;
  padding: 0 !important;
}
body.page-contact .contact-cta-card {
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 40px clamp(40px, 7.4vw, 107px) 40px clamp(40px, 12vw, 175px) !important;
  background: #0e60a1 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
}
body.page-contact .contact-cta-text { flex: 0 1 auto; max-width: 560px; }
body.page-contact .contact-cta-card h2,
body.page-contact .fusion-text .contact-cta-card h2 {
  color: #ffffff !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.11px !important;
  line-height: 40px !important;
  border: none !important;
  padding-bottom: 0 !important;
}
body.page-contact .post-content .contact-cta-card p {
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.085px !important;
  margin: 0 !important;
  max-width: 455px !important;
}
body.page-contact a.contact-cta-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0;
  min-width: 200px;
  justify-content: center;
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 10px 24px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
body.page-contact a.contact-cta-phone:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
  color: #ffffff !important;
}
body.page-contact .contact-cta-phone svg { flex-shrink: 0; stroke: #ffffff; }

/* Map dots overlay — absolutely positioned blue circle markers */
body.page-contact .contact-map-dots {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
body.page-contact .contact-map-dot {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #0e60a1;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px rgba(14, 96, 161, 0.35), 0 4px 12px rgba(14, 96, 161, 0.3);
  transform: translate(-50%, -50%);
}
body.page-contact .contact-map-dot.dot-sjsr   { left: 40%; top: 58%; }
body.page-contact .contact-map-dot.dot-hubert { left: 42%; top: 46%; }
body.page-contact .contact-map-dot.dot-ddo    { left: 34%; top: 42%; }
body.page-contact .contact-map-dot.dot-chambly{ left: 47%; top: 48%; }
body.page-contact .contact-map-dot.dot-cowan  { left: 62%; top: 56%; }
body.page-contact .contact-map-dot.dot-remi   { left: 37%; top: 62%; }
/* Big featured dot at bottom center for Montreal */
body.page-contact .contact-map-dot.dot-montreal {
  left: 38%; top: 46%;
  width: 18px; height: 18px;
  background: radial-gradient(circle, #0e60a1 30%, rgba(14,96,161,0.35) 70%);
  border: 3px solid #ffffff;
  box-shadow: 0 0 0 1px rgba(14, 96, 161, 0.45), 0 0 24px rgba(14, 96, 161, 0.4);
}

/* === New animated branch pins (April 2026) === */
body.page-contact .contact-map-pins {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none; /* container is click-through; only pins catch clicks */
}
body.page-contact .contact-map-pin {
  position: absolute;
  width: 17px;
  height: 17px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 4px solid #000;
  background: transparent;
  transition: opacity 0.25s ease;
  pointer-events: auto;
  cursor: pointer;
}
/* Larger invisible hit target for easier clicking */
body.page-contact .contact-map-pin::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
}
/* Active state: blue pulsing rings (matches cercle-bleu.svg design) */
body.page-contact .contact-map-pin.is-active {
  width: 46px;
  height: 46px;
  border: none;
  background: radial-gradient(circle, #0e60a1 17%, rgba(14,96,161,0.38) 31%, rgba(14,96,161,0.38) 62%, rgba(14,96,161,0.17) 62%, rgba(14,96,161,0.17) 100%);
  box-shadow: 0 4px 4px rgba(0,0,0,0.25);
  animation: contact-pin-pulse 2s ease-in-out infinite;
}
@keyframes contact-pin-pulse {
  0%,100% { transform: translate(-50%, -50%) scale(1); }
  50%     { transform: translate(-50%, -50%) scale(1.08); }
}

/* Pin positions — placed inside the map's bottom-left clear zone
   (top:50%-100%, left:0%-55%) to ensure all 8 are visible.
   Geographic layout: Montreal NW = top-left, Estrie SE = bottom-right. */
body.page-contact .contact-map-pin[data-pin="ddo"]     { left: 12%; top: 60%; } /* NW Montreal */
body.page-contact .contact-map-pin[data-pin="hubert"]  { left: 22%; top: 70%; } /* S of Montreal */
body.page-contact .contact-map-pin[data-pin="chambly"] { left: 28%; top: 76%; } /* SE of Hubert */
body.page-contact .contact-map-pin[data-pin="sjsr"]    { left: 30%; top: 84%; } /* S of Chambly (siège social) */
body.page-contact .contact-map-pin[data-pin="remi"]    { left: 14%; top: 84%; } /* SW */
body.page-contact .contact-map-pin[data-pin="bromont"] { left: 48%; top: 66%; } /* NE Estrie */
body.page-contact .contact-map-pin[data-pin="granby"]  { left: 42%; top: 78%; } /* E */
body.page-contact .contact-map-pin[data-pin="cowan"]   { left: 50%; top: 82%; } /* SE Estrie */

/* Tablet & smaller (stacked layout): hide pins + revert map to subtle full-bg.
   Pin positions assume the desktop two-column layout. */
@media (max-width: 1100px) {
  body.page-contact .contact-hero-full::before {
    left: 0; right: 0; top: 0; bottom: 0;
    background-position: center center;
    background-size: cover;
    opacity: 0.2;
  }
  body.page-contact .contact-map-pins { display: none !important; }
}

/* Card hover state — subtle lift */
body.page-contact .contact-office-card { transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.3s ease; }
body.page-contact .contact-office-card:hover,
body.page-contact .contact-office-card:focus-within {
  border-color: rgba(224,105,25,0.6);
}
/* Pin-click highlight: brief orange ring around the matched card */
body.page-contact .contact-office-card.is-highlighted {
  border-color: #e06919 !important;
  box-shadow: 0 0 0 2px rgba(224,105,25,0.45);
}

/* Contact page 768-1280: menu switches to hamburger but content stays desktop two-column layout.
   Only adjust margin-top (no desktop header to tuck behind) and keep side-panel offset. */
@media (min-width: 768px) and (max-width: 1280px) {
  body.page-contact .contact-hero-full {
    margin-top: 0;
    padding: 200px 0 60px;
    min-height: 0;
  }
}
/* Tablet <= 900: stack to single column */
@media (max-width: 900px) {
  body.page-contact .contact-hero-full {
    margin-top: 0;
    min-height: 0;
  }
  body.page-contact .contact-hero-inner {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    max-width: 720px;
  }
  body.page-contact .contact-hero-content {
    max-width: 100% !important;
    position: static;
    top: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  body.page-contact .contact-hero-content .trouvez-pill { align-self: center; }
  body.page-contact .post-content .contact-hero-content p { margin-left: auto !important; margin-right: auto !important; }
  body.page-contact .contact-side-panel { width: 100%; max-width: 560px; margin: 0 auto; }
  body.page-contact .contact-office-list { height: auto; max-height: none; overflow: visible; padding: 16px; }
  body.page-contact .contact-cta-card { padding: 32px 40px !important; }
}
/* Mobile <= 767 */
@media (max-width: 767px) {
  body.page-contact .contact-hero-full { padding: 110px 0 50px; }
  body.page-contact .contact-hero-full::before { background-size: 180% auto; background-position: left center; opacity: 0.4; }
  body.page-contact .contact-office-list { height: auto; max-height: none; overflow: visible; padding: 16px; }
  body.page-contact .contact-hero-content h1 { font-size: 28px !important; line-height: 1.2 !important; }
  body.page-contact .post-content .contact-hero-content p { font-size: 15px !important; max-width: 100% !important; }
  body.page-contact .contact-hero-content .trouvez-pill { font-size: 13px !important; height: 32px !important; padding: 0 16px !important; }
  body.page-contact .contact-hero-inner { gap: 28px; padding: 0 18px; }
  body.page-contact .contact-side-panel { gap: 12px; }
  body.page-contact .contact-hours-card { padding: 18px 20px !important; border-radius: 16px !important; }
  body.page-contact .contact-hours-card h3 { font-size: 14px !important; }
  body.page-contact .contact-hours-card dl { font-size: 12px !important; }
  body.page-contact .contact-office-card { padding: 16px 18px; border-radius: 16px; }
  body.page-contact .contact-office-card h4 { font-size: 15px !important; margin-bottom: 8px !important; }
  body.page-contact a.contact-email-link { font-size: 13px !important; padding: 9px 16px !important; }
  body.page-contact .contact-cta-wrap { padding: 40px 18px !important; }
  body.page-contact .contact-cta-card {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }
  body.page-contact .contact-cta-card h2 { font-size: 20px !important; }
  body.page-contact .contact-cta-card p { font-size: 13px !important; }
  body.page-contact a.contact-cta-phone {
    width: 100%;
    justify-content: center;
    font-size: 15px !important;
    padding: 12px 20px !important;
  }
}

/* À propos hero with background image — full-width with gradient overlay */
body.page-id-1189 .apropos-hero-wrap,
body.page-id-3094 .apropos-hero-wrap {
  position: relative;
  background-size: cover !important;
  background-position: center 30% !important;
}
body.page-id-1189 .apropos-hero-wrap::before,
body.page-id-3094 .apropos-hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.3) 0%, rgba(17,17,17,0.45) 55%, rgba(17,17,17,0.95) 100%);
  pointer-events: none;
  z-index: 0;
}
body.page-id-1189 .apropos-hero-wrap .fusion-builder-row,
body.page-id-3094 .apropos-hero-wrap .fusion-builder-row { position: relative; z-index: 1; }
body.page-id-1189 .apropos-hero h1,
body.page-id-3094 .apropos-hero h1,
body.page-id-1189 .apropos-hero .apropos-lede,
body.page-id-3094 .apropos-hero .apropos-lede {
  text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}

/* À propos page — new fusion narrative layout (Migué 1949 + Denicourt 1978 → 2023) */
body.page-id-1189 .apropos-hero,
body.page-id-3094 .apropos-hero,
body.page-id-1189 .apropos-long,
body.page-id-3094 .apropos-long {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 20px;
  color: #cccccc;
}
body.page-id-1189 .apropos-eyebrow,
body.page-id-3094 .apropos-eyebrow {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e06919 !important;
  margin-bottom: 18px;
}
body.page-id-1189 .apropos-hero h1,
body.page-id-3094 .apropos-hero h1 {
  font-size: 48px !important;
  line-height: 1.1 !important;
  margin: 0 0 24px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
body.page-id-1189 .apropos-hero h1 .accent,
body.page-id-3094 .apropos-hero h1 .accent { color: #e06919 !important; }
body.page-id-1189 .apropos-hero .apropos-lede,
body.page-id-3094 .apropos-hero .apropos-lede {
  font-size: 20px !important;
  line-height: 1.45 !important;
  color: #ffffff !important;
  margin-bottom: 18px !important;
}
body.page-id-1189 .apropos-hero p,
body.page-id-3094 .apropos-hero p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #cccccc !important;
}

body.page-id-1189 .apropos-mvv,
body.page-id-3094 .apropos-mvv {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
body.page-id-1189 .apropos-mvv-card,
body.page-id-3094 .apropos-mvv-card {
  display: flex;
  flex-direction: column;
  padding: 28px 26px;
  border: 1px solid #434343;
  border-radius: 20px;
  background: #000;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: border-color 200ms ease, transform 200ms ease;
}
body.page-id-1189 .apropos-mvv-card:hover,
body.page-id-3094 .apropos-mvv-card:hover {
  border-color: #e06919;
  transform: translateY(-2px);
}
body.page-id-1189 .apropos-mvv-card h3,
body.page-id-3094 .apropos-mvv-card h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  color: #e06919 !important;
}
body.page-id-1189 .apropos-mvv-card p,
body.page-id-3094 .apropos-mvv-card p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #cccccc !important;
  margin: 0 0 18px !important;
  flex: 1;
}
body.page-id-1189 .apropos-valeurs-list,
body.page-id-3094 .apropos-valeurs-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  flex: 1;
}
body.page-id-1189 .apropos-valeurs-list li,
body.page-id-3094 .apropos-valeurs-list li {
  font-size: 15px !important;
  color: #cccccc !important;
  padding: 4px 0;
  position: relative;
  padding-left: 16px;
}
body.page-id-1189 .apropos-valeurs-list li::before,
body.page-id-3094 .apropos-valeurs-list li::before {
  content: "•";
  color: #e06919;
  position: absolute;
  left: 0;
}
body.page-id-1189 .apropos-mvv-link,
body.page-id-3094 .apropos-mvv-link {
  color: #e06919 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-top: auto;
}
body.page-id-1189 .apropos-arrow,
body.page-id-3094 .apropos-arrow { display: inline-block; transition: transform 200ms ease; }
body.page-id-1189 .apropos-mvv-card:hover .apropos-arrow,
body.page-id-3094 .apropos-mvv-card:hover .apropos-arrow { transform: translateX(4px); }

body.page-id-1189 .apropos-cta-grid,
body.page-id-3094 .apropos-cta-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
body.page-id-1189 .apropos-cta-box,
body.page-id-3094 .apropos-cta-box {
  padding: 28px 26px;
  border: 1px solid #434343;
  border-radius: 20px;
  background: #000;
  text-align: center;
}
body.page-id-1189 .apropos-cta-box h4,
body.page-id-3094 .apropos-cta-box h4 {
  color: #ffffff !important;
  font-size: 17px !important;
  margin: 0 0 18px !important;
  font-weight: 600 !important;
}
body.page-id-1189 .apropos-btn,
body.page-id-3094 .apropos-btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 50px;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
body.page-id-1189 .apropos-btn-primary,
body.page-id-3094 .apropos-btn-primary {
  background: #e06919;
  color: #ffffff !important;
  border: 1px solid #e06919;
}
body.page-id-1189 .apropos-btn-primary:hover,
body.page-id-3094 .apropos-btn-primary:hover { background: #c4680f; }
body.page-id-1189 .apropos-btn-outline,
body.page-id-3094 .apropos-btn-outline {
  background: transparent;
  color: #ffffff !important;
  border: 1px solid #ffffff;
}
body.page-id-1189 .apropos-btn-outline:hover,
body.page-id-3094 .apropos-btn-outline:hover { background: #ffffff; color: #000 !important; }
body.page-id-1189 .apropos-btn-ghost,
body.page-id-3094 .apropos-btn-ghost {
  background: transparent;
  color: #e06919 !important;
  border: 1px solid #e06919;
}
body.page-id-1189 .apropos-btn-ghost:hover,
body.page-id-3094 .apropos-btn-ghost:hover { background: #e06919; color: #ffffff !important; }

body.page-id-1189 .apropos-long h2,
body.page-id-3094 .apropos-long h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  margin: 48px 0 16px !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
}
body.page-id-1189 .apropos-long h3,
body.page-id-3094 .apropos-long h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 32px 0 12px !important;
  color: #e06919 !important;
}
body.page-id-1189 .apropos-long p,
body.page-id-3094 .apropos-long p {
  font-size: 17px !important;
  line-height: 1.6 !important;
  margin: 0 0 16px !important;
  color: #cccccc !important;
}
body.page-id-1189 .apropos-valeur-block,
body.page-id-3094 .apropos-valeur-block {
  padding: 22px 26px;
  margin-bottom: 14px;
  border: 1px solid #434343;
  border-radius: 16px;
  background: #000;
}
body.page-id-1189 .apropos-valeur-block h4,
body.page-id-3094 .apropos-valeur-block h4 {
  color: #e06919 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
}
body.page-id-1189 .apropos-valeur-block p,
body.page-id-3094 .apropos-valeur-block p {
  color: #cccccc !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  body.page-id-1189 .apropos-hero h1,
  body.page-id-3094 .apropos-hero h1 { font-size: 34px !important; }
  body.page-id-1189 .apropos-mvv,
  body.page-id-3094 .apropos-mvv,
  body.page-id-1189 .apropos-cta-grid,
  body.page-id-3094 .apropos-cta-grid { grid-template-columns: 1fr; }
  body.page-id-1189 .apropos-long h2,
  body.page-id-3094 .apropos-long h2 { font-size: 26px !important; }
}

/* Le métier d'arpenteur-géomètre (FR page 3808, EN page 3809) */
body.page-id-3808 .metier-hero-wrap,
body.page-id-3809 .metier-hero-wrap {
  position: relative;
  background-size: cover !important;
  background-position: center center !important;
}
body.page-id-3808 .metier-hero-wrap::before,
body.page-id-3809 .metier-hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.65) 0%, rgba(17,17,17,0.6) 40%, rgba(17,17,17,0.92) 100%);
  pointer-events: none;
  z-index: 0;
}
body.page-id-3808 .metier-eyebrow,
body.page-id-3809 .metier-eyebrow {
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
body.page-id-3808 .metier-hero h1,
body.page-id-3809 .metier-hero h1,
body.page-id-3808 .metier-hero .metier-lede,
body.page-id-3809 .metier-hero .metier-lede {
  text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}
body.page-id-3808 .metier-hero-wrap .fusion-builder-row,
body.page-id-3809 .metier-hero-wrap .fusion-builder-row { position: relative; z-index: 1; }

body.page-id-3808 .metier-hero,
body.page-id-3809 .metier-hero,
body.page-id-3808 .metier-section,
body.page-id-3809 .metier-section,
body.page-id-3808 .metier-final,
body.page-id-3809 .metier-final {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 20px;
  color: #cccccc;
}
body.page-id-3808 .metier-eyebrow,
body.page-id-3809 .metier-eyebrow {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e06919 !important;
  margin-bottom: 18px;
}
body.page-id-3808 .metier-hero h1,
body.page-id-3809 .metier-hero h1 {
  font-size: 48px !important;
  line-height: 1.1 !important;
  margin: 0 0 24px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
body.page-id-3808 .metier-hero h1 .accent,
body.page-id-3809 .metier-hero h1 .accent { color: #e06919 !important; }
body.page-id-3808 .metier-hero .metier-lede,
body.page-id-3809 .metier-hero .metier-lede {
  font-size: 20px !important;
  line-height: 1.45 !important;
  color: #ffffff !important;
  margin-bottom: 18px !important;
}
body.page-id-3808 .metier-hero p,
body.page-id-3809 .metier-hero p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #cccccc !important;
}
body.page-id-3808 .metier-section h2,
body.page-id-3809 .metier-section h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
}
body.page-id-3808 .metier-section p,
body.page-id-3809 .metier-section p {
  font-size: 17px !important;
  line-height: 1.6 !important;
  margin: 0 0 14px !important;
  color: #cccccc !important;
}
body.page-id-3808 .metier-list,
body.page-id-3809 .metier-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
}
body.page-id-3808 .metier-list li,
body.page-id-3809 .metier-list li {
  font-size: 16px !important;
  color: #cccccc !important;
  padding: 6px 0 6px 22px;
  position: relative;
}
body.page-id-3808 .metier-list li::before,
body.page-id-3809 .metier-list li::before {
  content: "\25B8";
  color: #e06919;
  position: absolute;
  left: 0;
  font-size: 12px;
  top: 10px;
}
body.page-id-3808 .metier-final,
body.page-id-3809 .metier-final {
  padding: 48px 40px;
  border-radius: 24px;
  background: #0e60a1;
  text-align: center;
}
body.page-id-3808 .metier-final h2,
body.page-id-3809 .metier-final h2 {
  color: #ffffff !important;
  font-size: 32px !important;
  margin: 0 0 16px !important;
  font-weight: 700 !important;
}
body.page-id-3808 .metier-final p,
body.page-id-3809 .metier-final p {
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  max-width: 720px;
  margin: 0 auto 26px !important;
}
body.page-id-3808 .metier-final-ctas,
body.page-id-3809 .metier-final-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
body.page-id-3808 .metier-btn,
body.page-id-3809 .metier-btn {
  display: inline-block;
  padding: 13px 26px;
  border-radius: 50px;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
body.page-id-3808 .metier-btn-primary,
body.page-id-3809 .metier-btn-primary {
  background: #ffffff;
  color: #0e60a1 !important;
  border: 1px solid #ffffff;
}
body.page-id-3808 .metier-btn-primary:hover,
body.page-id-3809 .metier-btn-primary:hover { background: #e06919; color: #ffffff !important; border-color: #e06919; }
body.page-id-3808 .metier-btn-outline,
body.page-id-3809 .metier-btn-outline {
  background: transparent;
  color: #ffffff !important;
  border: 1px solid #ffffff;
}
body.page-id-3808 .metier-btn-outline:hover,
body.page-id-3809 .metier-btn-outline:hover { background: #ffffff; color: #0e60a1 !important; }
@media (max-width: 900px) {
  body.page-id-3808 .metier-hero h1,
  body.page-id-3809 .metier-hero h1 { font-size: 34px !important; }
  body.page-id-3808 .metier-section h2,
  body.page-id-3809 .metier-section h2,
  body.page-id-3808 .metier-final h2,
  body.page-id-3809 .metier-final h2 { font-size: 26px !important; }
}

/* Menu items with the `hide-all-menu` class are hidden from every menu location
   (desktop, tablet, mobile, footer). Used to drop "Technologies" and the legacy
   "À PROPOS" duplicate per the client brief. */
.hide-all-menu,
li.hide-all-menu,
.fusion-main-menu li.hide-all-menu,
.fusion-mobile-nav-holder li.hide-all-menu,
.fusion-mobile-menu li.hide-all-menu,
nav li.hide-all-menu,
.menu li.hide-all-menu { display: none !important; }

/* Page title bar background image — adjust the orange map texture so the
   short banner crops a more interesting part of the image and add a dark
   overlay to soften the orange. */
.fusion-page-title-bar {
  background-position: 50% 30% !important;
  position: relative;
}
.fusion-page-title-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.35) 0%, rgba(17,17,17,0.55) 100%);
  pointer-events: none;
  z-index: 0;
}
.fusion-page-title-bar > * { position: relative; z-index: 1; }

/* On rebuilt pages with a hero photo, mimic the homepage layout:
   header overlays content, page-title-bar is hidden, hero extends to top. */
body.page-id-1189 .fusion-header-wrapper,
body.page-id-3094 .fusion-header-wrapper,
body.page-id-3378 .fusion-header-wrapper,
body.page-id-3805 .fusion-header-wrapper,
body.page-id-3808 .fusion-header-wrapper,
body.page-id-3809 .fusion-header-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10000 !important;
  background: transparent !important;
}
body.page-id-1189 .fusion-page-title-bar,
body.page-id-3094 .fusion-page-title-bar,
body.page-id-3378 .fusion-page-title-bar,
body.page-id-3805 .fusion-page-title-bar,
body.page-id-3808 .fusion-page-title-bar,
body.page-id-3809 .fusion-page-title-bar {
  display: none !important;
}
body.page-id-1189 #main,
body.page-id-3094 #main,
body.page-id-3378 #main,
body.page-id-3805 #main,
body.page-id-3808 #main,
body.page-id-3809 #main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page-id-1189 .apropos-hero-wrap,
body.page-id-3094 .apropos-hero-wrap,
body.page-id-3378 .carr-hero-wrap,
body.page-id-3805 .carr-hero-wrap,
body.page-id-3808 .metier-hero-wrap,
body.page-id-3809 .metier-hero-wrap {
  padding-top: 180px !important;
  padding-bottom: 80px !important;
  min-height: 60vh;
}
@media (max-width: 1100px) {
  body.page-id-1189 .apropos-hero-wrap,
  body.page-id-3094 .apropos-hero-wrap,
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap,
  body.page-id-3808 .metier-hero-wrap,
  body.page-id-3809 .metier-hero-wrap {
    padding-top: 160px !important;
    padding-bottom: 60px !important;
  }
}
@media (max-width: 640px) {
  body.page-id-1189 .apropos-hero-wrap,
  body.page-id-3094 .apropos-hero-wrap,
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap,
  body.page-id-3808 .metier-hero-wrap,
  body.page-id-3809 .metier-hero-wrap {
    padding-top: 140px !important;
    padding-bottom: 50px !important;
  }
}

/* On rebuilt pages where the page content already has its own hero <h1>,
   hide the duplicate banner <h1> to avoid two h1 elements (SEO + a11y). */
body.page-id-1189 .fusion-page-title-bar h1,
body.page-id-3094 .fusion-page-title-bar h1,
body.page-id-3378 .fusion-page-title-bar h1,
body.page-id-3805 .fusion-page-title-bar h1,
body.page-id-3808 .fusion-page-title-bar h1,
body.page-id-3809 .fusion-page-title-bar h1 {
  display: none !important;
}
body.page-id-1189 .fusion-page-title-bar,
body.page-id-3094 .fusion-page-title-bar,
body.page-id-3378 .fusion-page-title-bar,
body.page-id-3805 .fusion-page-title-bar,
body.page-id-3808 .fusion-page-title-bar,
body.page-id-3809 .fusion-page-title-bar {
  min-height: 130px !important;
  padding-top: 100px !important;
  padding-bottom: 30px !important;
  --awb-padding-top: 100px !important;
  --awb-padding-bottom: 30px !important;
}
@media (max-width: 1100px) {
  body.page-id-1189 .fusion-page-title-bar,
  body.page-id-3094 .fusion-page-title-bar,
  body.page-id-3378 .fusion-page-title-bar,
  body.page-id-3805 .fusion-page-title-bar,
  body.page-id-3808 .fusion-page-title-bar,
  body.page-id-3809 .fusion-page-title-bar {
    min-height: 150px !important;
    padding-top: 130px !important;
    --awb-padding-top: 130px !important;
  }
}
@media (max-width: 640px) {
  body.page-id-1189 .fusion-page-title-bar,
  body.page-id-3094 .fusion-page-title-bar,
  body.page-id-3378 .fusion-page-title-bar,
  body.page-id-3805 .fusion-page-title-bar,
  body.page-id-3808 .fusion-page-title-bar,
  body.page-id-3809 .fusion-page-title-bar {
    min-height: 140px !important;
    padding-top: 115px !important;
    --awb-padding-top: 115px !important;
  }
}

/* Localize "Home" → "Accueil" in breadcrumbs on FR pages.
   We hide the original text and add a pseudo-element with the new label. */
html[lang^="fr"] .fusion-breadcrumbs .awb-home a span {
  font-size: 0;
}
html[lang^="fr"] .fusion-breadcrumbs .awb-home a span::after {
  content: "Accueil";
  font-size: 14px;
}

/* Page title bar (Avada "orange banner") — fixes:
   1. Hide "Facultatif" WPML translation_priority term leaking into Yoast breadcrumbs
   2. Reduce banner height on tablet/mobile so it doesn't eat half the viewport
   3. Tighten H1 line-height to reclaim vertical space */
.fusion-breadcrumbs .awb-breadcrumb-list li:has(a[href*="taxonomy=translation_priority"]) {
  display: none !important;
}
.fusion-breadcrumbs a[href*="taxonomy=translation_priority"] {
  display: none !important;
}

.fusion-page-title-bar .entry-title,
.fusion-page-title-bar h1.fusion-page-title {
  line-height: 1.1 !important;
  --lineheight: 1.1 !important;
  font-weight: 700 !important;
}

/* Turn the banner into a flex container so content is always vertically centered.
   The page header is position: relative (not sticky), so no top-padding compensation
   is needed — kill Avada's default 130px padding-top and center content within the
   full banner height. Higher specificity via `.fusion-body` to beat Avada's generated
   rules that set padding-top via var(--awb-padding-top) !important. */
.fusion-body .fusion-page-title-bar,
body .fusion-page-title-bar {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
  box-sizing: border-box !important;
  min-height: 220px !important;
  height: auto !important;
  max-height: none !important;
  --awb-padding-top: 30px !important;
  --awb-padding-bottom: 30px !important;
}
.fusion-body .fusion-page-title-bar .fusion-page-title-row,
body .fusion-page-title-bar .fusion-page-title-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  /* Avada sets min-height: calc(var(--page_title_mobile_height) - 10px) at ≤800px,
     which inflates the row to 240px on mobile regardless of our banner min-height.
     Kill it — the banner's own min-height + flex centering should drive the size. */
  min-height: 0 !important;
  height: auto !important;
}
.fusion-body .fusion-page-title-bar .fusion-page-title-wrapper,
body .fusion-page-title-bar .fusion-page-title-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
}
.fusion-page-title-bar .fusion-page-title-captions {
  text-align: center;
  width: 100%;
}
.fusion-page-title-bar .fusion-page-title-secondary {
  width: 100%;
  text-align: center;
  margin-top: 8px;
}
.fusion-page-title-bar .fusion-breadcrumbs {
  display: inline-block !important;
  padding: 0 12px;
}

@media (max-width: 1280px) {
  .fusion-body .fusion-page-title-bar {
    min-height: 200px !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    --awb-padding-top: 28px !important;
    --awb-padding-bottom: 28px !important;
  }
  .fusion-page-title-bar .entry-title {
    font-size: 48px !important;
    --fontSize: 48 !important;
  }
}
@media (max-width: 1100px) {
  /* At ≤1100px, Avada header switches to a fixed floating pill (~90px tall at top of viewport).
     Banner needs top padding to clear the pill so the title isn't covered. */
  .fusion-body .fusion-page-title-bar {
    min-height: 230px !important;
    padding-top: 130px !important;
    padding-bottom: 30px !important;
    --awb-padding-top: 130px !important;
    --awb-padding-bottom: 30px !important;
  }
  .fusion-page-title-bar .entry-title {
    font-size: 42px !important;
    --fontSize: 42 !important;
  }
}
@media (max-width: 900px) {
  .fusion-body .fusion-page-title-bar {
    min-height: 210px !important;
    padding-top: 125px !important;
    padding-bottom: 26px !important;
    --awb-padding-top: 125px !important;
    --awb-padding-bottom: 26px !important;
  }
  .fusion-page-title-bar .entry-title {
    font-size: 36px !important;
    --fontSize: 36 !important;
    margin: 0 auto !important;
  }
  .fusion-page-title-bar .fusion-breadcrumbs {
    font-size: 13px !important;
  }
}
@media (max-width: 640px) {
  .fusion-body .fusion-page-title-bar {
    min-height: 200px !important;
    padding-top: 115px !important;
    padding-bottom: 24px !important;
    --awb-padding-top: 115px !important;
    --awb-padding-bottom: 24px !important;
  }
  .fusion-page-title-bar .entry-title {
    font-size: 28px !important;
    --fontSize: 28 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    word-break: break-word;
  }
  .fusion-page-title-bar .fusion-breadcrumbs {
    font-size: 12px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
  }
  .fusion-page-title-bar .fusion-page-title-secondary {
    margin-top: 6px;
  }
}

/* Carrières page — full brief from Notes Site web - page Carrières.docx */
body.page-id-3378 .carr-hero, body.page-id-3805 .carr-hero,
body.page-id-3378 .carr-credibility, body.page-id-3805 .carr-credibility,
body.page-id-3378 .carr-avantages, body.page-id-3805 .carr-avantages,
body.page-id-3378 .carr-metier, body.page-id-3805 .carr-metier,
body.page-id-3378 .carr-profils, body.page-id-3805 .carr-profils,
body.page-id-3378 .carr-postes, body.page-id-3805 .carr-postes,
body.page-id-3378 .carr-candidature, body.page-id-3805 .carr-candidature,
body.page-id-3378 .carr-final, body.page-id-3805 .carr-final {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  color: #cccccc;
}
body.page-id-3378 .carr-eyebrow, body.page-id-3805 .carr-eyebrow {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e06919 !important;
  margin-bottom: 18px;
}
/* Carrières hero with background image — full-width via Avada hundred-percent class */
body.page-id-3378 .carr-hero-wrap, body.page-id-3805 .carr-hero-wrap {
  position: relative;
  background-size: cover !important;
  background-position: center center !important;
}
body.page-id-3378 .carr-hero-wrap::before, body.page-id-3805 .carr-hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.78) 0%, rgba(17,17,17,0.72) 55%, rgba(17,17,17,1) 100%);
  pointer-events: none;
  z-index: 0;
}
/* Eyebrow as a proper orange pill (matches the home rigueur-pill style) */
body.page-id-3378 .carr-eyebrow,
body.page-id-3805 .carr-eyebrow,
body.page-id-1189 .apropos-eyebrow,
body.page-id-3094 .apropos-eyebrow,
body.page-id-3808 .metier-eyebrow,
body.page-id-3809 .metier-eyebrow {
  display: inline-block !important;
  padding: 8px 22px !important;
  background: rgba(224, 105, 25, 0.12) !important;
  border: 1px solid rgba(224, 105, 25, 0.55) !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: #e06919 !important;
  margin-bottom: 24px !important;
  font-family: "Avenir Next LT Pro", "Avenir", "Nunito Sans", sans-serif !important;
  text-shadow: none !important;
  line-height: 1 !important;
}
/* Carrières hero eyebrow only: white pill override (over photo) */
body.page-id-3378 .carr-hero .carr-eyebrow,
body.page-id-3805 .carr-hero .carr-eyebrow {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  color: #ffffff !important;
}
body.page-id-3378 .carr-hero h1, body.page-id-3805 .carr-hero h1,
body.page-id-3378 .carr-lede, body.page-id-3805 .carr-lede {
  text-shadow: none;
}
body.page-id-3378 .carr-hero-wrap .fusion-builder-row, body.page-id-3805 .carr-hero-wrap .fusion-builder-row { position: relative; z-index: 1; }

/* Testimonial block */
body.page-id-3378 .carr-testi, body.page-id-3805 .carr-testi {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 48px 36px;
  border: 1px solid #d8d8d8;
  border-radius: 24px;
  background: #ffffff;
  position: relative;
  text-align: center;
}
body.page-id-3378 .carr-testi-quote-mark, body.page-id-3805 .carr-testi-quote-mark {
  font-size: 96px;
  line-height: 0.7;
  color: #e06919;
  font-family: Georgia, serif;
  margin-bottom: 14px;
  opacity: 0.9;
}
body.page-id-3378 .carr-testi-quote, body.page-id-3805 .carr-testi-quote,
body.page-id-3378 .post-content .fusion-fullwidth .carr-testi-quote p,
body.page-id-3805 .post-content .fusion-fullwidth .carr-testi-quote p {
  font-size: 22px !important;
  line-height: 1.4 !important;
  font-style: italic;
  color: #1a1a1a !important;
  margin: 0 0 22px !important;
  padding: 0;
  border: none !important;
}
body.page-id-3378 .carr-testi-name, body.page-id-3805 .carr-testi-name {
  color: #1a1a1a !important;
}
body.page-id-3378 .carr-testi-author, body.page-id-3805 .carr-testi-author {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body.page-id-3378 .carr-testi-name, body.page-id-3805 .carr-testi-name {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
body.page-id-3378 .carr-testi-role, body.page-id-3805 .carr-testi-role {
  color: #e06919 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
@media (max-width: 640px) {
  body.page-id-3378 .carr-testi, body.page-id-3805 .carr-testi {
    padding: 32px 24px 28px;
  }
  body.page-id-3378 .carr-testi-quote, body.page-id-3805 .carr-testi-quote {
    font-size: 18px !important;
  }
}

body.page-id-3378 .carr-hero h1, body.page-id-3805 .carr-hero h1 {
  font-size: 48px !important;
  line-height: 1.1 !important;
  margin: 0 0 24px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
body.page-id-3378 .carr-hero h1 .accent, body.page-id-3805 .carr-hero h1 .accent { color: #e06919 !important; }
body.page-id-3378 .carr-hero .carr-lede, body.page-id-3805 .carr-hero .carr-lede {
  font-size: 20px !important;
  line-height: 1.45 !important;
  color: #ffffff !important;
  margin-bottom: 18px !important;
}
body.page-id-3378 .carr-hero p, body.page-id-3805 .carr-hero p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #cccccc !important;
}
body.page-id-3378 .carr-hero-ctas, body.page-id-3805 .carr-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

body.page-id-3378 .carr-btn, body.page-id-3805 .carr-btn {
  display: inline-block;
  padding: 13px 26px;
  border-radius: 50px;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
body.page-id-3378 .carr-btn-primary, body.page-id-3805 .carr-btn-primary {
  background: #e06919;
  color: #ffffff !important;
  border: 1px solid #e06919;
}
body.page-id-3378 .carr-btn-primary:hover, body.page-id-3805 .carr-btn-primary:hover { background: #c4680f; color: #ffffff !important; }
body.page-id-3378 .carr-btn-outline, body.page-id-3805 .carr-btn-outline {
  background: transparent;
  color: #ffffff !important;
  border: 1px solid #ffffff;
}
body.page-id-3378 .carr-btn-outline:hover, body.page-id-3805 .carr-btn-outline:hover { background: #ffffff; color: #000000 !important; }

body.page-id-3378 h2, body.page-id-3805 h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  margin: 0 0 20px !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
}
body.page-id-3378 h3, body.page-id-3805 h3 {
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 16px 0 10px !important;
  color: #e06919 !important;
}

body.page-id-3378 .carr-credibility-grid, body.page-id-3805 .carr-credibility-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 30px;
}
body.page-id-3378 .carr-cred-card, body.page-id-3805 .carr-cred-card {
  padding: 28px 22px;
  border: 1px solid #434343;
  border-radius: 20px;
  background: #000;
  text-align: left;
}
body.page-id-3378 .carr-cred-icon, body.page-id-3805 .carr-cred-icon {
  font-size: 42px;
  font-weight: 700;
  color: #e06919;
  margin-bottom: 14px;
  line-height: 1;
}
body.page-id-3378 .carr-cred-plus, body.page-id-3805 .carr-cred-plus {
  font-size: 30px;
  vertical-align: top;
}
body.page-id-3378 .carr-cred-card h3, body.page-id-3805 .carr-cred-card h3 {
  font-size: 17px !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
}
body.page-id-3378 .carr-cred-card p, body.page-id-3805 .carr-cred-card p {
  font-size: 14px !important;
  color: #cccccc !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

body.page-id-3378 .carr-avantages-intro, body.page-id-3805 .carr-avantages-intro {
  font-size: 17px !important;
  color: #cccccc !important;
  margin-bottom: 30px !important;
}
body.page-id-3378 .carr-avantages-group, body.page-id-3805 .carr-avantages-group {
  padding: 24px 28px;
  margin-bottom: 18px;
  border: 1px solid #434343;
  border-radius: 20px;
  background: #000;
}
body.page-id-3378 .carr-avantages-group h3, body.page-id-3805 .carr-avantages-group h3 {
  margin-top: 0 !important;
  font-size: 18px !important;
}
body.page-id-3378 .carr-av-list, body.page-id-3805 .carr-av-list,
body.page-id-3378 .carr-profils-list, body.page-id-3805 .carr-profils-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 18px;
}
body.page-id-3378 .carr-av-list li, body.page-id-3805 .carr-av-list li,
body.page-id-3378 .carr-profils-list li, body.page-id-3805 .carr-profils-list li {
  font-size: 15px !important;
  color: #cccccc !important;
  padding: 4px 0 4px 18px;
  position: relative;
}
body.page-id-3378 .carr-av-list li::before, body.page-id-3805 .carr-av-list li::before,
body.page-id-3378 .carr-profils-list li::before, body.page-id-3805 .carr-profils-list li::before {
  content: "\25B8";
  color: #e06919;
  position: absolute;
  left: 0;
  font-size: 12px;
  top: 8px;
}

body.page-id-3378 .carr-metier, body.page-id-3805 .carr-metier {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}
body.page-id-3378 .carr-metier p, body.page-id-3805 .carr-metier p {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #cccccc !important;
  margin: 0 0 14px !important;
}
body.page-id-3378 .carr-metier .carr-btn, body.page-id-3805 .carr-metier .carr-btn {
  margin-top: 10px;
}

body.page-id-3378 .carr-profils p, body.page-id-3805 .carr-profils p {
  font-size: 16px !important;
  color: #cccccc !important;
  line-height: 1.5 !important;
  margin: 0 0 14px !important;
}

body.page-id-3378 .carr-postes h2, body.page-id-3805 .carr-postes h2,
body.page-id-3378 .carr-candidature h2, body.page-id-3805 .carr-candidature h2 { text-align: left; }
body.page-id-3378 .carr-postes-list, body.page-id-3805 .carr-postes-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 28px 0 20px;
}
body.page-id-3378 .carr-poste-card, body.page-id-3805 .carr-poste-card {
  padding: 22px 24px;
  border: 1px solid #434343;
  border-radius: 20px;
  background: #000;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.page-id-3378 .carr-poste-card h3, body.page-id-3805 .carr-poste-card h3 {
  font-size: 17px !important;
  color: #ffffff !important;
  margin: 0 0 4px !important;
}
body.page-id-3378 .carr-poste-card p, body.page-id-3805 .carr-poste-card p {
  font-size: 14px !important;
  color: #919191 !important;
  margin: 0 0 14px !important;
}
body.page-id-3378 .carr-poste-card .carr-btn, body.page-id-3805 .carr-poste-card .carr-btn {
  margin-top: auto;
  text-align: center;
  padding: 10px 18px;
  font-size: 14px !important;
}
body.page-id-3378 .carr-postes-note, body.page-id-3805 .carr-postes-note {
  margin-top: 20px !important;
  color: #919191 !important;
  font-size: 14px !important;
}
body.page-id-3378 .carr-cand-ctas, body.page-id-3805 .carr-cand-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}
@media (max-width: 900px) {
  body.page-id-3378 .carr-postes-list, body.page-id-3805 .carr-postes-list { grid-template-columns: 1fr; }
}
body.page-id-3378 .carr-postes p, body.page-id-3805 .carr-postes p,
body.page-id-3378 .carr-candidature p, body.page-id-3805 .carr-candidature p {
  font-size: 16px !important;
  color: #cccccc !important;
  line-height: 1.6 !important;
  margin: 0 0 20px !important;
}

body.page-id-3378 .carr-final, body.page-id-3805 .carr-final {
  padding: 48px 40px;
  border-radius: 24px;
  background: #0e60a1;
  text-align: center;
}
body.page-id-3378 .carr-final h2, body.page-id-3805 .carr-final h2 {
  color: #ffffff !important;
  margin: 0 0 16px !important;
}
body.page-id-3378 .carr-final p, body.page-id-3805 .carr-final p {
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  max-width: 720px;
  margin: 0 auto 26px !important;
}
body.page-id-3378 .carr-final .carr-btn-primary, body.page-id-3805 .carr-final .carr-btn-primary { background: #ffffff; color: #0e60a1 !important; border-color: #ffffff; }
body.page-id-3378 .carr-final .carr-btn-primary:hover, body.page-id-3805 .carr-final .carr-btn-primary:hover { background: #e06919; color: #ffffff !important; border-color: #e06919; }

@media (max-width: 1000px) {
  body.page-id-3378 .carr-credibility-grid, body.page-id-3805 .carr-credibility-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  body.page-id-3378 .carr-hero h1, body.page-id-3805 .carr-hero h1 { font-size: 36px !important; }
  body.page-id-3378 h2, body.page-id-3805 h2 { font-size: 26px !important; }
  body.page-id-3378 .carr-av-list, body.page-id-3805 .carr-av-list,
  body.page-id-3378 .carr-profils-list, body.page-id-3805 .carr-profils-list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  body.page-id-3378 .carr-hero h1, body.page-id-3805 .carr-hero h1 { font-size: 30px !important; }
  body.page-id-3378 .carr-credibility-grid, body.page-id-3805 .carr-credibility-grid { grid-template-columns: 1fr; }
  body.page-id-3378 .carr-metier, body.page-id-3805 .carr-metier,
  body.page-id-3378 .carr-avantages-group, body.page-id-3805 .carr-avantages-group { padding: 20px 22px; }
  body.page-id-3378 .carr-final, body.page-id-3805 .carr-final { padding: 34px 22px; }
}

/* Soumission page — hide the Avada page title banner entirely (client ask). */
body.page-quote .fusion-page-title-bar,
body.page-id-15 .fusion-page-title-bar { display: none !important; }

/* Soumission page — kill the 20px dark sliver between the white CTA section and the black footer.
   Avada's floated #content gains ~20px at the bottom from clearfix flow, which exposes the dark
   #111 wrapper bg as a visible gray line. Match the wrapper bg to the CTA section (white). */
body.page-quote #main,
body.page-quote #content,
body.page-quote #content > .fusion-row {
  background-color: #ffffff !important;
}


/* ---------- Services page: Pourquoi choisir + Vous ne savez pas sections ---------- */
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi {
  background-color: #ffffff !important;
  --awb-background-color: #ffffff !important;
}
body.page-id-1311 .services-pourquoi-inner,
body.page-id-2939 .services-pourquoi-inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi h2.services-pourquoi-heading,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi h2.services-pourquoi-heading {
  color: #111111 !important;
  font-size: 40px !important;
  line-height: 1.2 !important;
  margin: 0 0 48px !important;
  text-align: center;
}
body.page-id-1311 .services-pourquoi-grid,
body.page-id-2939 .services-pourquoi-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 48px;
  max-width: 900px;
  margin: 0 auto 48px;
  text-align: left;
}
body.page-id-1311 .services-pourquoi-item,
body.page-id-2939 .services-pourquoi-item {
  display: flex;
  align-items: center;
  gap: 16px;
}
body.page-id-1311 .services-pourquoi-icon,
body.page-id-2939 .services-pourquoi-icon {
  flex: 0 0 34px;
  display: inline-flex;
}
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi .services-pourquoi-item p,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi .services-pourquoi-item p {
  color: #222 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
body.page-id-1311 .services-pourquoi-cta,
body.page-id-2939 .services-pourquoi-cta {
  text-align: center;
}
body.page-id-1311 .services-pourquoi-btn,
body.page-id-2939 .services-pourquoi-btn {
  display: inline-block;
  background: #e06919 !important;
  color: #ffffff !important;
  padding: 16px 34px;
  border-radius: 50px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}
body.page-id-1311 .services-pourquoi-btn:hover,
body.page-id-2939 .services-pourquoi-btn:hover {
  background: #c75914 !important;
}
body.page-id-1311 .services-pourquoi-sub,
body.page-id-2939 .services-pourquoi-sub {
  color: #555 !important;
  font-size: 15px !important;
  margin: 14px 0 0 !important;
}

/* Vous ne savez pas section on Services page - uses same bg+overlay pattern as homepage */
body.page-id-1311 .services-vnsp,
body.page-id-2939 .services-vnsp {
  position: relative;
}
body.page-id-1311 .services-vnsp::before,
body.page-id-2939 .services-vnsp::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.8) 0%, rgba(17,17,17,0.92) 100%);
  z-index: 0;
  pointer-events: none;
}
body.page-id-1311 .services-vnsp .fusion-builder-row,
body.page-id-2939 .services-vnsp .fusion-builder-row {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  body.page-id-1311 .services-pourquoi-heading,
  body.page-id-2939 .services-pourquoi-heading { font-size: 28px !important; margin-bottom: 32px !important; }
  body.page-id-1311 .services-pourquoi-grid,
  body.page-id-2939 .services-pourquoi-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ---------- Mobile: stats row first number clipped under pill nav ---------- */
@media (max-width: 900px) {
  .rigueur-stats,
  body.page-id-3378 .carr-credibility-grid,
  body.page-id-3805 .carr-credibility-grid,
  body.page-id-1189 .apropos-timeline,
  body.page-id-3094 .apropos-timeline {
    padding-top: 90px !important;
  }
  /* Also add some scroll-margin so anchor-scroll lands below the pill */
  .stats-numbers-section,
  .rigueur-stats {
    scroll-margin-top: 90px;
  }
}

/* ---------- Normalize h2 font-size across rebuilt pages ---------- */
body.page-id-1189 .post-content .fusion-fullwidth h2,
body.page-id-3094 .post-content .fusion-fullwidth h2,
body.page-id-3378 .post-content .fusion-fullwidth h2,
body.page-id-3805 .post-content .fusion-fullwidth h2,
body.page-id-1311 .post-content .fusion-fullwidth h2,
body.page-id-2939 .post-content .fusion-fullwidth h2 {
  font-size: 48px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}
@media (max-width: 900px) {
  body.page-id-1189 .post-content .fusion-fullwidth h2,
  body.page-id-3094 .post-content .fusion-fullwidth h2,
  body.page-id-3378 .post-content .fusion-fullwidth h2,
  body.page-id-3805 .post-content .fusion-fullwidth h2,
  body.page-id-1311 .post-content .fusion-fullwidth h2,
  body.page-id-2939 .post-content .fusion-fullwidth h2 {
    font-size: 28px !important;
  }
}

/* ---------- Max-width body text on Carrières + À propos for readability ---------- */
body.page-id-1189 .post-content p,
body.page-id-3094 .post-content p,
body.page-id-3378 .post-content p,
body.page-id-3805 .post-content p {
  max-width: 760px;
}
/* allow full-width layout on grid containers */
body.page-id-1189 .apropos-mvv p,
body.page-id-3094 .apropos-mvv p,
body.page-id-1189 .apropos-mvv-card *,
body.page-id-3094 .apropos-mvv-card * {
  max-width: none;
}

/* ---------- Carrières UI polish: icon stats, icon cards, job cards ---------- */

/* Stats icons */
body.page-id-3378 .carr-credibility .rigueur-stat,
body.page-id-3805 .carr-credibility .rigueur-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
body.page-id-3378 .carr-stat-icon,
body.page-id-3805 .carr-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(224, 105, 25, 0.12);
  border: 1px solid rgba(224, 105, 25, 0.35);
}
body.page-id-3378 .carr-stat-icon svg,
body.page-id-3805 .carr-stat-icon svg {
  width: 26px;
  height: 26px;
}

/* Avantages: 3-col icon-headed cards */
body.page-id-3378 .carr-avantages,
body.page-id-3805 .carr-avantages {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px;
  align-items: start;
}
body.page-id-3378 .carr-avantages > h2,
body.page-id-3378 .carr-avantages > .carr-avantages-intro,
body.page-id-3805 .carr-avantages > h2,
body.page-id-3805 .carr-avantages > .carr-avantages-intro {
  grid-column: 1 / -1;
}
body.page-id-3378 .carr-av-list,
body.page-id-3805 .carr-av-list {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}
body.page-id-3378 .carr-avantages-group,
body.page-id-3805 .carr-avantages-group {
  margin-bottom: 0 !important;
  padding: 36px 28px 32px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(224,105,25,0.04) 0%, rgba(30,30,30,0) 100%);
  border: 1px solid rgba(224, 105, 25, 0.28);
  transition: transform 0.25s ease, border-color 0.25s ease;
}
body.page-id-3378 .carr-avantages-group:hover,
body.page-id-3805 .carr-avantages-group:hover {
  transform: translateY(-4px);
  border-color: rgba(224, 105, 25, 0.7);
}
body.page-id-3378 .carr-av-icon,
body.page-id-3805 .carr-av-icon {
  display: inline-flex;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(224, 105, 25, 0.1);
  border: 1px solid rgba(224, 105, 25, 0.35);
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
body.page-id-3378 .carr-av-icon svg,
body.page-id-3805 .carr-av-icon svg {
  width: 32px;
  height: 32px;
}
body.page-id-3378 .carr-avantages-group h3,
body.page-id-3805 .carr-avantages-group h3 {
  color: #ffffff !important;
  font-size: 20px !important;
  margin: 0 0 18px !important;
  letter-spacing: 0.2px;
}
body.page-id-3378 .carr-av-list li,
body.page-id-3805 .carr-av-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  list-style: none;
  background: none !important;
  color: rgba(255,255,255,0.88) !important;
  font-size: 15px;
  line-height: 1.45;
}
body.page-id-3378 .carr-av-list li::before,
body.page-id-3805 .carr-av-list li::before { content: none !important; display: none !important; }
body.page-id-3378 .carr-av-check,
body.page-id-3805 .carr-av-check {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 3px;
}

/* Talents: icon cards grid */
body.page-id-3378 .carr-profils-grid,
body.page-id-3805 .carr-profils-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin: 24px 0 0;
}
body.page-id-3378 .carr-profil-card,
body.page-id-3805 .carr-profil-card {
  flex: 0 1 calc(25% - 12px);
  min-width: 200px;
}
body.page-id-3378 .carr-profil-card,
body.page-id-3805 .carr-profil-card {
  padding: 24px 18px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  background: rgba(255,255,255,0.02);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}
body.page-id-3378 .carr-profil-card:hover,
body.page-id-3805 .carr-profil-card:hover {
  border-color: rgba(224,105,25,0.55);
  background: rgba(224,105,25,0.05);
  transform: translateY(-3px);
}
body.page-id-3378 .carr-profil-icon,
body.page-id-3805 .carr-profil-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: rgba(224,105,25,0.1);
  border: 1px solid rgba(224,105,25,0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.page-id-3378 .carr-profil-icon svg,
body.page-id-3805 .carr-profil-icon svg {
  width: 30px;
  height: 30px;
}
body.page-id-3378 .carr-profil-card span,
body.page-id-3805 .carr-profil-card span {
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

/* Postes cards: department tag + summary */
body.page-id-3378 .carr-poste-dept,
body.page-id-3805 .carr-poste-dept {
  display: inline-block;
  align-self: flex-start;
  width: auto;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: var(--dept-color, #e06919);
  background: color-mix(in srgb, var(--dept-color, #e06919) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--dept-color, #e06919) 35%, transparent);
  margin-bottom: 14px;
}
body.page-id-3378 .carr-poste-meta,
body.page-id-3805 .carr-poste-meta {
  color: rgba(255,255,255,0.65) !important;
  font-size: 13px !important;
  margin: 4px 0 12px !important;
}
body.page-id-3378 .carr-poste-summary,
body.page-id-3805 .carr-poste-summary {
  color: rgba(255,255,255,0.85) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 0 18px !important;
}

@media (max-width: 1000px) {
  body.page-id-3378 .carr-profil-card,
  body.page-id-3805 .carr-profil-card { flex-basis: calc(33.333% - 12px); }
}
@media (max-width: 640px) {
  body.page-id-3378 .carr-profil-card,
  body.page-id-3805 .carr-profil-card { flex-basis: calc(50% - 8px); }
  body.page-id-3378 .carr-credibility .rigueur-stat,
  body.page-id-3805 .carr-credibility .rigueur-stat { gap: 6px; }
  body.page-id-3378 .carr-stat-icon,
  body.page-id-3805 .carr-stat-icon { width: 38px; height: 38px; }
  body.page-id-3378 .carr-stat-icon svg,
  body.page-id-3805 .carr-stat-icon svg { width: 20px; height: 20px; }
}

@media (max-width: 1000px) {
  body.page-id-3378 .carr-avantages,
  body.page-id-3805 .carr-avantages { grid-template-columns: 1fr !important; }
}

/* ---------- CTA blue card — no divider under heading ---------- */
body .post-content .fusion-fullwidth.cta-parler h1,
body .post-content .fusion-fullwidth.cta-parler h2,
body .post-content .fusion-fullwidth.cta-parler h3 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* ---------- Carrières: avantages = dark section (cards stay dark) ---------- */
/* Default dark bg inherits — leave avantages alone. Only tune the icon tile color. */
body.page-id-3378 .carr-av-wrap .carr-av-icon,
body.page-id-3805 .carr-av-wrap .carr-av-icon {
  background: rgba(14,96,161,0.12) !important;
  border: 1px solid rgba(14,96,161,0.55) !important;
}

/* ---------- Section eyebrows above every h2 (pill labels) ---------- */
body.page-id-3378 .carr-av-wrap h2::before,
body.page-id-3805 .carr-av-wrap h2::before,
body.page-id-3378 .carr-profils-wrap h2::before,
body.page-id-3805 .carr-profils-wrap h2::before,
body.page-id-3378 .carr-postes-wrap h2::before,
body.page-id-3805 .carr-postes-wrap h2::before,
body.page-id-3378 .carr-cand-wrap h2::before,
body.page-id-3805 .carr-cand-wrap h2::before {
  display: inline-block;
  padding: 5px 14px;
  margin-bottom: 16px;
  border: 1px solid rgba(224,105,25,0.55);
  border-radius: 999px;
  background: rgba(224,105,25,0.08);
  color: #e06919;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  vertical-align: middle;
  text-transform: uppercase;
  line-height: 1;
  /* unset h2 inherited font-size so the pill is small */
  font-family: inherit;
}
/* h2 becomes a flex column so eyebrow stacks above */
body.page-id-3378 .carr-av-wrap h2,
body.page-id-3805 .carr-av-wrap h2,
body.page-id-3378 .carr-profils-wrap h2,
body.page-id-3805 .carr-profils-wrap h2,
body.page-id-3378 .carr-postes-wrap h2,
body.page-id-3805 .carr-postes-wrap h2,
body.page-id-3378 .carr-cand-wrap h2,
body.page-id-3805 .carr-cand-wrap h2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Eyebrow labels per section (content) */
body.page-id-3378 .carr-av-wrap h2::before { content: "AVANTAGES"; }
body.page-id-3805 .carr-av-wrap h2::before { content: "BENEFITS"; }
body.page-id-3378 .carr-profils-wrap h2::before { content: "PROFILS"; }
body.page-id-3805 .carr-profils-wrap h2::before { content: "PROFILES"; }
body.page-id-3378 .carr-postes-wrap h2::before { content: "POSTES"; }
body.page-id-3805 .carr-postes-wrap h2::before { content: "OPENINGS"; }
body.page-id-3378 .carr-cand-wrap h2::before { content: "CANDIDATURE"; }
body.page-id-3805 .carr-cand-wrap h2::before { content: "APPLY"; }

/* ---------- More breathing room between sections ---------- */
body.page-id-3378 .carr-av-wrap,
body.page-id-3805 .carr-av-wrap,
body.page-id-3378 .carr-metier-wrap,
body.page-id-3805 .carr-metier-wrap,
body.page-id-3378 .carr-profils-wrap,
body.page-id-3805 .carr-profils-wrap,
body.page-id-3378 .carr-postes-wrap,
body.page-id-3805 .carr-postes-wrap,
body.page-id-3378 .carr-cand-wrap,
body.page-id-3805 .carr-cand-wrap,
body.page-id-3378 .carr-testi-wrap,
body.page-id-3805 .carr-testi-wrap {
  padding-top: 140px !important;
  padding-bottom: 140px !important;
}

@media (max-width: 900px) {
  body.page-id-3378 .carr-av-wrap,
  body.page-id-3805 .carr-av-wrap,
  body.page-id-3378 .carr-metier-wrap,
  body.page-id-3805 .carr-metier-wrap,
  body.page-id-3378 .carr-profils-wrap,
  body.page-id-3805 .carr-profils-wrap,
  body.page-id-3378 .carr-postes-wrap,
  body.page-id-3805 .carr-postes-wrap,
  body.page-id-3378 .carr-cand-wrap,
  body.page-id-3805 .carr-cand-wrap {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
}



/* ---------- Testimonial: black card on white section ---------- */
body:not(.home) .post-content .fusion-fullwidth.carr-testi-wrap:not(.cta-parler) {
  background-color: #ffffff !important;
  --awb-background-color: #ffffff !important;
}
body.page-id-3378 .carr-testi-wrap .carr-testi, body.page-id-3805 .carr-testi-wrap .carr-testi {
  background: #111111 !important;
  border: 1px solid #2a2a2a !important;
  color: #ffffff !important;
}
body:not(.home) .post-content .fusion-fullwidth.carr-testi-wrap .carr-testi-quote,
body:not(.home) .post-content .fusion-fullwidth.carr-testi-wrap .carr-testi-quote p,
body.page-id-3378 .carr-testi-wrap .carr-testi-name,
body.page-id-3805 .carr-testi-wrap .carr-testi-name {
  color: #ffffff !important;
}
body.page-id-3378 .carr-testi-wrap .carr-testi-role,
body.page-id-3805 .carr-testi-wrap .carr-testi-role {
  color: #e06919 !important;
}
/* Orange quote mark stays visible on dark */
body.page-id-3378 .carr-testi-wrap .carr-testi-quote-mark,
body.page-id-3805 .carr-testi-wrap .carr-testi-quote-mark {
  color: #e06919 !important;
}

/* ---------- Carrières final CTA buttons: override global a {color:orange !important} ---------- */
body.page-id-3378 .carr-final-btns .carr-final-btn-primary,
body.page-id-3805 .carr-final-btns .carr-final-btn-primary {
  color: #0f2a4a !important;
}
body.page-id-3378 .carr-final-btns .carr-final-btn-outline,
body.page-id-3805 .carr-final-btns .carr-final-btn-outline {
  color: #ffffff !important;
}
body.page-id-3378 .carr-final-btns .carr-final-btn-primary:hover,
body.page-id-3805 .carr-final-btns .carr-final-btn-primary:hover {
  background: #0f2a4a !important;
  color: #ffffff !important;
  border: 1px solid #ffffff;
}
body.page-id-3378 .carr-final-btns .carr-final-btn-outline:hover,
body.page-id-3805 .carr-final-btns .carr-final-btn-outline:hover {
  background: #ffffff !important;
  color: #0f2a4a !important;
}

/* Remove dark space below the final CTA on Carrières */
body.page-id-3378 #main,
body.page-id-3805 #main { padding-bottom: 0 !important; }
body.page-id-3378 .carr-final-cta,
body.page-id-3805 .carr-final-cta { padding-bottom: 60px !important; padding-top: 60px !important; margin-bottom: 0 !important; }

/* ---------- Poste cards: push Postuler button to the bottom so all align ---------- */
body.page-id-3378 .carr-poste-card,
body.page-id-3805 .carr-poste-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.page-id-3378 .carr-poste-card > *:last-child,
body.page-id-3805 .carr-poste-card > *:last-child {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
body.page-id-3378 .carr-poste-card .carr-btn,
body.page-id-3805 .carr-poste-card .carr-btn {
  align-self: flex-start;
}
body.page-id-3378 .carr-postes-list,
body.page-id-3805 .carr-postes-list {
  align-items: stretch;
}

/* ---------- Carrières métier — fade image into page dark (#111) ---------- */
@media (min-width: 901px) {
  body.page-id-3378 .carr-metier-bg .fusion-layout-column.fusion-column-first::after,
  body.page-id-3805 .carr-metier-bg .fusion-layout-column.fusion-column-first::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 60% !important;
    height: 100% !important;
    background: linear-gradient(to right, rgba(17,17,17,0) 0%, #111111 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  body.page-id-3378 .carr-metier-bg .fusion-layout-column.fusion-column-last,
  body.page-id-3805 .carr-metier-bg .fusion-layout-column.fusion-column-last {
    background: #111111 !important;
  }
}
/* Section-level bg to match the rest of the dark page */
body.page-id-3378 .carr-metier-bg,
body.page-id-3805 .carr-metier-bg {
  background-color: #111111 !important;
  --awb-background-color: #111111 !important;
}


/* ---------- Carrières/À propos/Services: remove h2 hairline under headings ---------- */
body.page-id-3378 .post-content .fusion-fullwidth h2,
body.page-id-3805 .post-content .fusion-fullwidth h2,
body.page-id-1189 .post-content .fusion-fullwidth h2,
body.page-id-3094 .post-content .fusion-fullwidth h2,
body.page-id-1311 .post-content .fusion-fullwidth h2,
body.page-id-2939 .post-content .fusion-fullwidth h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* ---------- Stats row: subtle top/bottom hairline to anchor it ---------- */
body.page-id-3378 .carr-credibility-grid,
body.page-id-3805 .carr-credibility-grid {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

/* ---------- Postes: promote Postuler to primary orange CTA (it IS the conversion goal) ---------- */
body.page-id-3378 .carr-poste-card .carr-btn,
body.page-id-3805 .carr-poste-card .carr-btn {
  background: #e06919 !important;
  color: #ffffff !important;
  border: 1px solid #e06919 !important;
  font-weight: 600 !important;
}
body.page-id-3378 .carr-poste-card .carr-btn:hover,
body.page-id-3805 .carr-poste-card .carr-btn:hover {
  background: #c4680f !important;
  border-color: #c4680f !important;
  color: #ffffff !important;
}

/* ---------- Hover consistency across card types + focus-visible accessibility ---------- */
body.page-id-3378 .carr-poste-card,
body.page-id-3805 .carr-poste-card {
  transition: transform 0.25s ease, border-color 0.25s ease;
  border: 1px solid rgba(255,255,255,0.08);
}
body.page-id-3378 .carr-poste-card:hover,
body.page-id-3805 .carr-poste-card:hover {
  transform: translateY(-4px);
  border-color: rgba(224,105,25,0.55);
}
body.page-id-3378 .carr-avantages-group:hover,
body.page-id-3805 .carr-avantages-group:hover,
body.page-id-3378 .carr-profil-card:hover,
body.page-id-3805 .carr-profil-card:hover {
  transform: translateY(-4px);
}
/* Focus-visible outlines for primary CTAs */
body.page-id-3378 .carr-btn:focus-visible,
body.page-id-3805 .carr-btn:focus-visible,
body.page-id-3378 .carr-final-btns a:focus-visible,
body.page-id-3805 .carr-final-btns a:focus-visible,
body.page-id-3378 .carrieres-btn:focus-visible,
body.page-id-3805 .carrieres-btn:focus-visible {
  outline: 2px solid #e06919 !important;
  outline-offset: 3px !important;
}


/* ---------- Unify: dark overlay on ALL Avada page-title-bar heroes site-wide ---------- */
body:not(.home) .fusion-page-title-bar {
  position: relative !important;
  background-color: #111 !important;
}
body:not(.home) .fusion-page-title-bar::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(17,17,17,0.85) 0%, rgba(17,17,17,0.9) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
body:not(.home) .fusion-page-title-bar > .fusion-page-title-row {
  position: relative !important;
  z-index: 2 !important;
}
body:not(.home) .fusion-page-title-bar h1 {
  text-shadow: 0 2px 6px rgba(0,0,0,0.5) !important;
}


/* ---------- cta-parler = WHITE outer band with BLUE card inside (home pattern) ---------- */
body .post-content .fusion-fullwidth.cta-parler,
body.page-id-1311 .post-content .fusion-fullwidth.cta-parler,
body.page-id-2939 .post-content .fusion-fullwidth.cta-parler,
body.page-id-1189 .post-content .fusion-fullwidth.cta-parler,
body.page-id-3094 .post-content .fusion-fullwidth.cta-parler,
body.page-id-3378 .post-content .fusion-fullwidth.cta-parler,
body.page-id-3805 .post-content .fusion-fullwidth.cta-parler {
  background-color: #ffffff !important;
  --awb-background-color: #ffffff !important;
}


/* ---------- À propos: Nos valeurs 3-col grid ---------- */
body.page-id-1189 .apropos-valeur-grid,
body.page-id-3094 .apropos-valeur-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0 0;
}
body.page-id-1189 .apropos-valeur-grid .apropos-valeur-block,
body.page-id-3094 .apropos-valeur-grid .apropos-valeur-block {
  margin-bottom: 0 !important;
  height: 100%;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
body.page-id-1189 .apropos-valeur-grid .apropos-valeur-block:hover,
body.page-id-3094 .apropos-valeur-grid .apropos-valeur-block:hover {
  border-color: rgba(224,105,25,0.55);
  transform: translateY(-3px);
}
@media (max-width: 1000px) {
  body.page-id-1189 .apropos-valeur-grid,
  body.page-id-3094 .apropos-valeur-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  body.page-id-1189 .apropos-valeur-grid,
  body.page-id-3094 .apropos-valeur-grid { grid-template-columns: 1fr; }
}


/* ---------- Polish pass: readability + micro-interactions ---------- */

/* À propos: max-width on narrative paragraphs for better reading rhythm */
body.page-id-1189 .apropos-long > p,
body.page-id-3094 .apropos-long > p,
body.page-id-1189 .apropos-long > h2 + p,
body.page-id-3094 .apropos-long > h2 + p {
  max-width: 820px;
  line-height: 1.65 !important;
}

/* Services: normalize image frames in service sub-sections so all 4 match */
body.page-id-1311 .fusion-imageframe,
body.page-id-2939 .fusion-imageframe {
  overflow: hidden;
  border-radius: 12px;
}
body.page-id-1311 .fusion-imageframe img,
body.page-id-2939 .fusion-imageframe img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}
body.page-id-1311 .fusion-imageframe:hover img,
body.page-id-2939 .fusion-imageframe:hover img {
  transform: scale(1.04);
}

/* Services: more generous section spacing so 4 services don't feel crowded */
body.page-id-1311 .post-content > .fusion-fullwidth,
body.page-id-2939 .post-content > .fusion-fullwidth {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

/* À propos: timeline numbers larger + orange accent */
body.page-id-1189 .apropos-timeline .rigueur-stat-number,
body.page-id-3094 .apropos-timeline .rigueur-stat-number {
  font-size: 44px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
body.page-id-1189 .apropos-timeline .rigueur-stat-label,
body.page-id-3094 .apropos-timeline .rigueur-stat-label {
  color: #aaaaaa !important;
  font-size: 14px !important;
  text-transform: uppercase;
  letter-spacing: 1px !important;
  margin-top: 8px !important;
}

/* Smooth anchor scrolling (Postuler → Candidature) */
html { scroll-behavior: smooth; }
[id="carr-candidature"] { scroll-margin-top: 80px; }


/* ================================================================
   INNER PAGES RESTYLE (Apr 2026) — unify Services, À propos, Carrières
   to match homepage/soumission/nous-joindre aesthetic. CSS-only.
   ================================================================ */

/* ---------- Shared: section eyebrow pill (orange) ---------- */
.inner-eyebrow {
  display: inline-block;
  padding: 7px 18px;
  margin: 0 0 20px;
  border: 1px solid rgba(224, 105, 25, 0.55);
  border-radius: 999px;
  background: rgba(224, 105, 25, 0.10);
  color: #e06919;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  line-height: 1;
  text-transform: uppercase;
  font-family: "Avenir Next LT Pro", "Avenir", "Nunito Sans", sans-serif;
}

/* ---------- Services page (1311 FR / 2939 EN) ---------- */
/* Page structure (sections by nth-of-type after the page-title-bar):
   1 = intro (Nos services en arpentage)
   2 = Certificat de localisation
   3 = Construction et implantation
   4 = Delimitation et cadastre
   5 = Leves, implantation et mesurages specialises
   6 = Pourquoi choisir (white light-section)
   7 = Blue CTA (cta-parler)
*/

/* Orange eyebrow label above each section h2 via ::before */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(1) h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(1) h2::before,
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(2) h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(2) h2::before,
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(3) h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(3) h2::before,
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(4) h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(4) h2::before,
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(5) h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(5) h2::before,
body.page-id-1311 .post-content > .fusion-fullwidth.services-pourquoi h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth.services-pourquoi h2::before {
  display: inline-block;
  padding: 6px 16px;
  margin-bottom: 18px;
  border: 1px solid rgba(224, 105, 25, 0.55);
  border-radius: 999px;
  background: rgba(224, 105, 25, 0.10);
  color: #e06919;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  line-height: 1;
  text-transform: uppercase;
  font-family: "Avenir Next LT Pro", "Avenir", "Nunito Sans", sans-serif;
  vertical-align: middle;
  text-shadow: none;
}

/* h2 becomes flex column so eyebrow stacks above (left-aligned sections) */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(-n+5) h2,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(-n+5) h2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
/* Pourquoi (centered) section: eyebrow stacks above heading, centered */
body.page-id-1311 .post-content > .fusion-fullwidth.services-pourquoi h2,
body.page-id-2939 .post-content > .fusion-fullwidth.services-pourquoi h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Content for each eyebrow (FR + EN) */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(1) h2::before { content: "SERVICES"; }
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(1) h2::before { content: "SERVICES"; }
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(2) h2::before { content: "SERVICE 01"; }
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(2) h2::before { content: "SERVICE 01"; }
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(3) h2::before { content: "SERVICE 02"; }
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(3) h2::before { content: "SERVICE 02"; }
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(4) h2::before { content: "SERVICE 03"; }
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(4) h2::before { content: "SERVICE 03"; }
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(5) h2::before { content: "SERVICE 04"; }
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(5) h2::before { content: "SERVICE 04"; }
body.page-id-1311 .post-content > .fusion-fullwidth.services-pourquoi h2::before { content: "POURQUOI NOUS"; }
body.page-id-2939 .post-content > .fusion-fullwidth.services-pourquoi h2::before { content: "WHY US"; }

/* Service page heading sizing: hero-level for intro, section-level for the 4 services */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(1) h2,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(1) h2 {
  font-size: clamp(32px, 4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 20px !important;
}
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) h2,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) h2 {
  font-size: clamp(26px, 3vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 18px !important;
}

/* Subtle hairline between the 4 service blocks */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(3),
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(3),
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(4),
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(4),
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(5),
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(5) {
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Service block lists — consistent spacing */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) ul,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) ul {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
}
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) ul li,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) ul li {
  position: relative;
  padding: 4px 0 4px 20px;
  color: #cccccc;
  font-size: 16px;
  line-height: 1.5;
}
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) ul li::before,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 6px;
  height: 6px;
  background: #e06919;
  border-radius: 50%;
}

/* Services page: unify orange button style (filled pill, consistent size) */
body.page-id-1311 .fusion-button.button-default,
body.page-id-2939 .fusion-button.button-default,
body.page-id-1311 .fusion-button.button-large,
body.page-id-2939 .fusion-button.button-large {
  background: #e06919 !important;
  border: 1px solid #e06919 !important;
  border-radius: 999px !important;
  padding: 14px 30px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
  transition: background 200ms ease, transform 200ms ease !important;
}
body.page-id-1311 .fusion-button.button-default:hover,
body.page-id-2939 .fusion-button.button-default:hover,
body.page-id-1311 .fusion-button.button-large:hover,
body.page-id-2939 .fusion-button.button-large:hover {
  background: #c4680f !important;
  transform: translateY(-1px);
}
body.page-id-1311 .fusion-button .fusion-button-text,
body.page-id-2939 .fusion-button .fusion-button-text {
  color: #ffffff !important;
}

/* Services: image frames — consistent ratio + rounded + zoom on hover (existing rule at 6649 kept) */
/* Intro section description readability */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(1) p,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(1) p {
  max-width: 760px;
  font-size: 17px;
  line-height: 1.55;
  color: #cccccc;
}

/* Services: tighten padding between adjacent service blocks on desktop */
@media (min-width: 1024px) {
  body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5),
  body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(n+2):nth-of-type(-n+5) {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
}
@media (max-width: 1023px) {
  body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(-n+5),
  body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(-n+5) {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
}

/* Mobile eyebrow tweak — slightly smaller */
@media (max-width: 640px) {
  body.page-id-1311 .post-content > .fusion-fullwidth h2::before,
  body.page-id-2939 .post-content > .fusion-fullwidth h2::before {
    font-size: 11px !important;
    padding: 5px 13px !important;
    margin-bottom: 14px !important;
  }
}

/* ---------- À propos (1189 FR / 3094 EN) polish ---------- */
/* Remove redundant max-width on the values grid description */
body.page-id-1189 .apropos-valeur-block,
body.page-id-3094 .apropos-valeur-block {
  border: 1px solid #494949 !important;
  border-radius: 20px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  padding: 24px !important;
}
body.page-id-1189 .apropos-valeur-block h3,
body.page-id-3094 .apropos-valeur-block h3 {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
}
body.page-id-1189 .apropos-valeur-block p,
body.page-id-3094 .apropos-valeur-block p {
  color: #cccccc !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* À propos: MVV cards match homepage choice-box pattern */
body.page-id-1189 .apropos-mvv-card,
body.page-id-3094 .apropos-mvv-card {
  border: 1px solid #494949 !important;
  border-radius: 20px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  padding: 28px !important;
  transition: border-color 0.25s ease, transform 0.25s ease !important;
}
body.page-id-1189 .apropos-mvv-card:hover,
body.page-id-3094 .apropos-mvv-card:hover {
  border-color: rgba(224, 105, 25, 0.55) !important;
  transform: translateY(-3px);
}

/* ---------- Carrières (3378 FR / 3805 EN) final polish ---------- */
/* Ensure the advantages + postes cards use unified card pattern */
body.page-id-3378 .carr-avantages-group,
body.page-id-3805 .carr-avantages-group,
body.page-id-3378 .carr-poste-card,
body.page-id-3805 .carr-poste-card {
  border-radius: 20px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  border: 1px solid #494949 !important;
}

/* Testimonial: subtle bg instead of bright white */
body:not(.home) .post-content .fusion-fullwidth.carr-testi-wrap:not(.cta-parler) {
  background-color: #0a0a0a !important;
  --awb-background-color: #0a0a0a !important;
}
body.page-id-3378 .carr-testi-wrap .carr-testi,
body.page-id-3805 .carr-testi-wrap .carr-testi {
  background: rgba(0, 0, 0, 0.6) !important;
  border: 1px solid #494949 !important;
}

/* ---------- Shared: orange accent span in any h2 (for services + apropos) ---------- */
body.page-id-1311 h2 .accent,
body.page-id-2939 h2 .accent,
body.page-id-1189 h2 .accent,
body.page-id-3094 h2 .accent,
body.page-id-3378 h2 .accent,
body.page-id-3805 h2 .accent {
  color: #e06919 !important;
}

/* ---------- Responsive safety: ensure columns stack cleanly at 1024 and below ---------- */
@media (max-width: 1023px) {
  body.page-id-1311 .fusion-two-columns,
  body.page-id-2939 .fusion-two-columns {
    flex-direction: column !important;
  }
}

/* ================================================================
   END Inner Pages Restyle
   ================================================================ */


/* ================================================================
   cta-parler: extend blue-card-on-white treatment to all pages
   (home + services + a-propos + carrieres, FR + EN)
   ================================================================ */

/* Outer band: white bg */
body.page-id-1311 .cta-parler,
body.page-id-2939 .cta-parler,
body.page-id-1189 .cta-parler,
body.page-id-3094 .cta-parler {
  background-color: #ffffff !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
body.page-id-1311 .cta-parler .fusion-row,
body.page-id-2939 .cta-parler .fusion-row,
body.page-id-1189 .cta-parler .fusion-row,
body.page-id-3094 .cta-parler .fusion-row {
  max-width: 1294px !important;
}
/* Inner column-wrapper = the blue rounded card */
body.page-id-1311 .cta-parler .fusion-column-wrapper,
body.page-id-2939 .cta-parler .fusion-column-wrapper,
body.page-id-1189 .cta-parler .fusion-column-wrapper,
body.page-id-3094 .cta-parler .fusion-column-wrapper {
  background-color: #0e60a1 !important;
  border-radius: 30px !important;
  padding: 65px 88px 56px !important;
  overflow: hidden;
  margin: 0 auto !important;
  max-width: 1294px !important;
}
/* Flex row: text left, button right */
body.page-id-1311 .cta-parler .fusion-column-content,
body.page-id-2939 .cta-parler .fusion-column-content,
body.page-id-1189 .cta-parler .fusion-column-content,
body.page-id-3094 .cta-parler .fusion-column-content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px;
}
body.page-id-1311 .cta-parler .fusion-column-content .fusion-text,
body.page-id-2939 .cta-parler .fusion-column-content .fusion-text,
body.page-id-1189 .cta-parler .fusion-column-content .fusion-text,
body.page-id-3094 .cta-parler .fusion-column-content .fusion-text {
  flex: 1 !important;
  min-width: 0 !important;
}
body.page-id-1311 .cta-parler h2,
body.page-id-2939 .cta-parler h2,
body.page-id-1189 .cta-parler h2,
body.page-id-3094 .cta-parler h2 {
  text-align: left !important;
  font-size: 33px !important;
  line-height: 40px !important;
  letter-spacing: -0.17px !important;
  margin-bottom: 30px !important;
  color: #ffffff !important;
  /* override previous flex-column override for page-id-1311 */
  display: block !important;
}
body.page-id-1311 .cta-parler h2::before,
body.page-id-2939 .cta-parler h2::before {
  /* cancel the services eyebrow rule on the CTA heading */
  content: none !important;
}
body.page-id-1311 .cta-parler h2 span,
body.page-id-2939 .cta-parler h2 span,
body.page-id-1189 .cta-parler h2 span,
body.page-id-3094 .cta-parler h2 span { color: #ffffff !important; }

body.page-id-1311 .cta-parler p,
body.page-id-2939 .cta-parler p,
body.page-id-1189 .cta-parler p,
body.page-id-3094 .cta-parler p {
  text-align: left !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 25px !important;
  letter-spacing: -0.09px !important;
  margin-bottom: 0 !important;
  max-width: none !important;
}
body.page-id-1311 .cta-parler p strong,
body.page-id-2939 .cta-parler p strong,
body.page-id-1189 .cta-parler p strong,
body.page-id-3094 .cta-parler p strong,
body.page-id-1311 .cta-parler p b,
body.page-id-2939 .cta-parler p b,
body.page-id-1189 .cta-parler p b,
body.page-id-3094 .cta-parler p b { color: #ffffff !important; font-weight: 600 !important; }

/* Button: outlined white pill on the right */
body.page-id-1311 .cta-parler .fusion-aligncenter,
body.page-id-2939 .cta-parler .fusion-aligncenter,
body.page-id-1189 .cta-parler .fusion-aligncenter,
body.page-id-3094 .cta-parler .fusion-aligncenter {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
body.page-id-1311 .cta-parler .fusion-button,
body.page-id-2939 .cta-parler .fusion-button,
body.page-id-1189 .cta-parler .fusion-button,
body.page-id-3094 .cta-parler .fusion-button,
body.page-id-1311 .fusion-fullwidth.cta-parler .fusion-button.button-flat,
body.page-id-2939 .fusion-fullwidth.cta-parler .fusion-button.button-flat,
body.page-id-1189 .fusion-fullwidth.cta-parler .fusion-button.button-flat,
body.page-id-3094 .fusion-fullwidth.cta-parler .fusion-button.button-flat {
  background-color: transparent !important;
  background-image: none !important;
  border: 2px solid #ffffff !important;
  border-radius: 50px !important;
  height: 55px !important;
  padding: 0 30px !important;
  max-width: none !important;
  white-space: nowrap;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Avenir Next LT Pro', 'Avenir', sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: all 0.2s !important;
  transform: none !important;
}
body.page-id-1311 .cta-parler .fusion-button:hover,
body.page-id-2939 .cta-parler .fusion-button:hover,
body.page-id-1189 .cta-parler .fusion-button:hover,
body.page-id-3094 .cta-parler .fusion-button:hover {
  background-color: rgba(255,255,255,0.15) !important;
  background-image: none !important;
  border-color: #ffffff !important;
  transform: none !important;
}
body.page-id-1311 .cta-parler .fusion-button .fusion-button-text,
body.page-id-2939 .cta-parler .fusion-button .fusion-button-text,
body.page-id-1189 .cta-parler .fusion-button .fusion-button-text,
body.page-id-3094 .cta-parler .fusion-button .fusion-button-text { color: #ffffff !important; }
body.page-id-1311 .cta-parler .fusion-button .fusion-button-text::after,
body.page-id-2939 .cta-parler .fusion-button .fusion-button-text::after,
body.page-id-1189 .cta-parler .fusion-button .fusion-button-text::after,
body.page-id-3094 .cta-parler .fusion-button .fusion-button-text::after { display: none !important; }

/* Mobile: stack text + button, center */
@media (max-width: 900px) {
  body.page-id-1311 .cta-parler .fusion-column-wrapper,
  body.page-id-2939 .cta-parler .fusion-column-wrapper,
  body.page-id-1189 .cta-parler .fusion-column-wrapper,
  body.page-id-3094 .cta-parler .fusion-column-wrapper {
    padding: 40px 28px !important;
    border-radius: 24px !important;
  }
  body.page-id-1311 .cta-parler .fusion-column-content,
  body.page-id-2939 .cta-parler .fusion-column-content,
  body.page-id-1189 .cta-parler .fusion-column-content,
  body.page-id-3094 .cta-parler .fusion-column-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px;
  }
  body.page-id-1311 .cta-parler h2,
  body.page-id-2939 .cta-parler h2,
  body.page-id-1189 .cta-parler h2,
  body.page-id-3094 .cta-parler h2 {
    font-size: 26px !important;
    line-height: 32px !important;
    margin-bottom: 16px !important;
  }
  body.page-id-1311 .cta-parler p,
  body.page-id-2939 .cta-parler p,
  body.page-id-1189 .cta-parler p,
  body.page-id-3094 .cta-parler p {
    font-size: 16px !important;
    line-height: 22px !important;
  }
}

/* ================================================================
   À propos: 3 MVV cards — equal-height columns + button pinned to bottom
   ================================================================ */
body.page-id-1189 .apropos-mvv-wrap .fusion-builder-row,
body.page-id-3094 .apropos-mvv-wrap .fusion-builder-row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch !important;
}
body.page-id-1189 .apropos-mvv-wrap .fusion-layout-column,
body.page-id-3094 .apropos-mvv-wrap .fusion-layout-column {
  display: flex !important;
  align-items: stretch;
}
body.page-id-1189 .apropos-mvv-wrap .fusion-column-wrapper,
body.page-id-3094 .apropos-mvv-wrap .fusion-column-wrapper {
  width: 100%;
  display: flex !important;
  flex-direction: column !important;
}
body.page-id-1189 .apropos-mvv-card,
body.page-id-3094 .apropos-mvv-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
/* Make body div expand to fill space so the link <p> is pushed to the bottom */
body.page-id-1189 .apropos-mvv-card .apropos-mvv-body,
body.page-id-3094 .apropos-mvv-card .apropos-mvv-body {
  flex: 1 1 auto !important;
}
body.page-id-1189 .apropos-mvv-card h3,
body.page-id-3094 .apropos-mvv-card h3 {
  flex: 0 0 auto !important;
}
body.page-id-1189 .apropos-mvv-card > p,
body.page-id-3094 .apropos-mvv-card > p {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding-top: 18px !important;
}
body.page-id-1189 .apropos-mvv-card .apropos-mvv-link,
body.page-id-3094 .apropos-mvv-card .apropos-mvv-link {
  display: inline-block;
}


/* ================================================================
   Carrières: hide the stats-numbers row under the hero (client request)
   ================================================================ */
body.page-id-3378 .post-content > .fusion-fullwidth.carr-stats,
body.page-id-3805 .post-content > .fusion-fullwidth.carr-stats,
body.page-id-3378 .post-content > .fusion-fullwidth.stats-numbers-section.carr-stats,
body.page-id-3805 .post-content > .fusion-fullwidth.stats-numbers-section.carr-stats {
  display: none !important;
}


/* ================================================================
   Carrières polish pass — fix awkwardness (May 2026)
   Scoped strictly to page-id 3378 (FR) + 3805 (EN) — homepage untouched
   ================================================================ */

/* 1. Container max-width: 1200px on INNER content only; section wrappers stay
      full-bleed so backgrounds span the viewport and rows center via 0 auto.
      Prior version applied max-width to .carr-av-wrap + .carr-testi-wrap which
      shrank the wrappers and left-aligned them inside the flex-column parent. */
body.page-id-3378 .carr-hero, body.page-id-3805 .carr-hero,
body.page-id-3378 .carr-avantages, body.page-id-3805 .carr-avantages,
body.page-id-3378 .carr-testi, body.page-id-3805 .carr-testi,
body.page-id-3378 .carr-metier, body.page-id-3805 .carr-metier,
body.page-id-3378 .carr-profils, body.page-id-3805 .carr-profils,
body.page-id-3378 .carr-postes, body.page-id-3805 .carr-postes,
body.page-id-3378 .carr-candidature, body.page-id-3805 .carr-candidature,
body.page-id-3378 .carr-final, body.page-id-3805 .carr-final,
body.page-id-3378 .carr-credibility, body.page-id-3805 .carr-credibility {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Also cap the inner .fusion-builder-row inside the carr-* wrappers at 1200px
   and center it. This lets wrappers stay full-bleed while content stays readable.
   NOTE: .carr-metier-bg intentionally excluded — its left column is a full-bleed
   photo that must extend to the viewport edge. */
body.page-id-3378 .carr-av-wrap > .fusion-builder-row,
body.page-id-3805 .carr-av-wrap > .fusion-builder-row,
body.page-id-3378 .carr-testi-wrap > .fusion-builder-row,
body.page-id-3805 .carr-testi-wrap > .fusion-builder-row,
body.page-id-3378 .carr-profils-wrap > .fusion-builder-row,
body.page-id-3805 .carr-profils-wrap > .fusion-builder-row,
body.page-id-3378 .carr-postes-wrap > .fusion-builder-row,
body.page-id-3805 .carr-postes-wrap > .fusion-builder-row {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2. Avantages: equal-height cards (stretch + flex-column fill) */
body.page-id-3378 .carr-avantages,
body.page-id-3805 .carr-avantages {
  align-items: stretch !important;
}
body.page-id-3378 .carr-avantages-group,
body.page-id-3805 .carr-avantages-group {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  margin: 0 !important;
}
body.page-id-3378 .carr-av-wrap .carr-av-icon,
body.page-id-3805 .carr-av-wrap .carr-av-icon,
body.page-id-3378 .carr-avantages-group h3,
body.page-id-3805 .carr-avantages-group h3 { flex: 0 0 auto; }
body.page-id-3378 .carr-av-list,
body.page-id-3805 .carr-av-list { flex: 1 1 auto !important; }

/* 3. Restore generous section padding (was 50px after earlier change) */
body.page-id-3378 .post-content > .fusion-fullwidth.carr-av-wrap,
body.page-id-3805 .post-content > .fusion-fullwidth.carr-av-wrap,
body.page-id-3378 .post-content > .fusion-fullwidth.carr-metier-bg,
body.page-id-3805 .post-content > .fusion-fullwidth.carr-metier-bg,
body.page-id-3378 .post-content > .fusion-fullwidth.carr-profils-wrap,
body.page-id-3805 .post-content > .fusion-fullwidth.carr-profils-wrap,
body.page-id-3378 .post-content > .fusion-fullwidth.carr-postes-wrap,
body.page-id-3805 .post-content > .fusion-fullwidth.carr-postes-wrap,
body.page-id-3378 .post-content > .fusion-fullwidth.carr-testi-wrap,
body.page-id-3805 .post-content > .fusion-fullwidth.carr-testi-wrap {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
@media (max-width: 900px) {
  body.page-id-3378 .post-content > .fusion-fullwidth.carr-av-wrap,
  body.page-id-3805 .post-content > .fusion-fullwidth.carr-av-wrap,
  body.page-id-3378 .post-content > .fusion-fullwidth.carr-metier-bg,
  body.page-id-3805 .post-content > .fusion-fullwidth.carr-metier-bg,
  body.page-id-3378 .post-content > .fusion-fullwidth.carr-profils-wrap,
  body.page-id-3805 .post-content > .fusion-fullwidth.carr-profils-wrap,
  body.page-id-3378 .post-content > .fusion-fullwidth.carr-postes-wrap,
  body.page-id-3805 .post-content > .fusion-fullwidth.carr-postes-wrap,
  body.page-id-3378 .post-content > .fusion-fullwidth.carr-testi-wrap,
  body.page-id-3805 .post-content > .fusion-fullwidth.carr-testi-wrap {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
}

/* 4. Candidature CTA: match cta-parler blue-card-on-white pattern */
body.page-id-3378 .cta-parler.carr-final-cta,
body.page-id-3805 .cta-parler.carr-final-cta {
  background-color: #ffffff !important;
  --awb-background-color: #ffffff !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
body.page-id-3378 .carr-final-cta .fusion-column-wrapper,
body.page-id-3805 .carr-final-cta .fusion-column-wrapper {
  background-color: #0e60a1 !important;
  border-radius: 30px !important;
  padding: 65px 88px 56px !important;
  max-width: 1294px !important;
  margin: 0 auto !important;
  overflow: hidden;
}
/* override inline button styles (beat inline with !important + higher specificity) */
body.page-id-3378 .carr-final-cta .carr-final-btn-primary[style],
body.page-id-3805 .carr-final-cta .carr-final-btn-primary[style],
body.page-id-3378 .carr-final-cta .carr-final-btn-outline[style],
body.page-id-3805 .carr-final-cta .carr-final-btn-outline[style] {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 50px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.page-id-3378 .carr-final-cta .carr-final-btn-primary:hover,
body.page-id-3805 .carr-final-cta .carr-final-btn-primary:hover,
body.page-id-3378 .carr-final-cta .carr-final-btn-outline:hover,
body.page-id-3805 .carr-final-cta .carr-final-btn-outline:hover {
  background: rgba(255,255,255,0.15) !important;
  background-color: rgba(255,255,255,0.15) !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}
@media (max-width: 900px) {
  body.page-id-3378 .carr-final-cta .fusion-column-wrapper,
  body.page-id-3805 .carr-final-cta .fusion-column-wrapper {
    padding: 40px 28px !important;
    border-radius: 24px !important;
  }
}

/* 5. Testimonial: more breathing room + wider max */
body.page-id-3378 .carr-testi,
body.page-id-3805 .carr-testi {
  max-width: 900px !important;
  padding: 56px 64px !important;
}
@media (max-width: 640px) {
  body.page-id-3378 .carr-testi,
  body.page-id-3805 .carr-testi {
    padding: 36px 28px !important;
  }
}

/* 6. Profils: 4-col grid with centered last row, consistent card widths */
body.page-id-3378 .carr-profils-grid,
body.page-id-3805 .carr-profils-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px !important;
}
body.page-id-3378 .carr-profil-card,
body.page-id-3805 .carr-profil-card {
  flex: 0 1 calc(25% - 15px) !important;
  max-width: calc(25% - 15px) !important;
  min-width: 220px !important;
}
@media (max-width: 1100px) {
  body.page-id-3378 .carr-profil-card,
  body.page-id-3805 .carr-profil-card {
    flex-basis: calc(33.333% - 14px) !important;
    max-width: calc(33.333% - 14px) !important;
  }
}
@media (max-width: 640px) {
  body.page-id-3378 .carr-profil-card,
  body.page-id-3805 .carr-profil-card {
    flex-basis: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}

/* ================================================================
   END Carrières polish pass
   ================================================================ */


/* ================================================================
   Carrières avantages list: preserve bullet spacing (no stretch)
   ================================================================ */
body.page-id-3378 .carr-av-list,
body.page-id-3805 .carr-av-list {
  align-content: start !important;
  grid-auto-rows: max-content !important;
}
body.page-id-3378 .carr-av-list li,
body.page-id-3805 .carr-av-list li {
  align-self: start !important;
}


/* ================================================================
   Pill logo: increase height so top/bottom gap (20px) matches left
   Logo image has ~5.17% internal left padding (31/600px in source).
   Compensate by shifting .fusion-logo left by ~10px at desktop widths.
   ================================================================ */
@media only screen and (min-width: 1281px) {
  .fusion-header .fusion-logo img,
  .fusion-logo .fusion-standard-logo,
  .fusion-logo .fusion-sticky-logo,
  .fusion-logo img {
    height: 51px !important;
    max-height: 51px !important;
    width: auto !important;
  }
  /* Shift logo ~10px left so the visible "M" starts 20px from pill left edge
     (compensates for 31/600 = 5.17% transparent padding in DCM_logo_couleur.png) */
  .fusion-logo {
    left: 9px !important;
  }
  /* Reserve space for the slightly wider logo in the nav gutter */
  .fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) {
    margin-left: 240px !important;
  }
}
@media only screen and (min-width: 1281px) and (max-width: 1440px) {
  /* narrow desktop: keep nav tight but give logo room */
  .fusion-header .fusion-row .fusion-main-menu:not(.fusion-sticky-menu) {
    margin-left: 230px !important;
  }
}


/* ================================================================
   Carrières audit fixes (all)
   ================================================================ */

/* 1. Avantages icons: orange (not blue) — match rest of page */
body.page-id-3378 .carr-av-wrap .carr-av-icon,
body.page-id-3805 .carr-av-wrap .carr-av-icon {
  background: rgba(224, 105, 25, 0.12) !important;
  border: 1px solid rgba(224, 105, 25, 0.55) !important;
}
body.page-id-3378 .carr-av-wrap .carr-av-icon svg *,
body.page-id-3805 .carr-av-wrap .carr-av-icon svg * {
  stroke: #e06919 !important;
}

/* 3. Match icon sizes across sections (52x52 tiles, 28px glyph) */
body.page-id-3378 .carr-av-wrap .carr-av-icon,
body.page-id-3805 .carr-av-wrap .carr-av-icon,
body.page-id-3378 .carr-profil-icon,
body.page-id-3805 .carr-profil-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 12px !important;
}
body.page-id-3378 .carr-av-wrap .carr-av-icon svg,
body.page-id-3805 .carr-av-wrap .carr-av-icon svg,
body.page-id-3378 .carr-profil-icon svg,
body.page-id-3805 .carr-profil-icon svg {
  width: 28px !important;
  height: 28px !important;
}

/* 4. Candidature CTA: text-left + btns-right layout, primary vs secondary */
body.page-id-3378 .carr-final-cta .fusion-column-wrapper,
body.page-id-3805 .carr-final-cta .fusion-column-wrapper {
  position: relative;
}
@media (min-width: 901px) {
  body.page-id-3378 .carr-final-cta .fusion-text,
  body.page-id-3805 .carr-final-cta .fusion-text {
    padding-right: 300px;
  }
  body.page-id-3378 .carr-final-cta .carr-final-btns,
  body.page-id-3805 .carr-final-cta .carr-final-btns {
    position: absolute !important;
    right: 88px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 0 !important;
    min-width: 240px;
  }
}
/* Primary button: solid white filled, blue text */
body.page-id-3378 .carr-final-cta .carr-final-btn-primary[style],
body.page-id-3805 .carr-final-cta .carr-final-btn-primary[style] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #0e60a1 !important;
  border: 2px solid #ffffff !important;
  border-radius: 50px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  justify-content: center !important;
}
body.page-id-3378 .carr-final-cta .carr-final-btn-primary:hover,
body.page-id-3805 .carr-final-cta .carr-final-btn-primary:hover {
  background: rgba(255,255,255,0.9) !important;
  background-color: rgba(255,255,255,0.9) !important;
  color: #0e60a1 !important;
}
/* Secondary (phone): outlined white pill */
body.page-id-3378 .carr-final-cta .carr-final-btn-outline[style],
body.page-id-3805 .carr-final-cta .carr-final-btn-outline[style] {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.6) !important;
  border-radius: 50px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  justify-content: center !important;
}
body.page-id-3378 .carr-final-cta .carr-final-btn-outline:hover,
body.page-id-3805 .carr-final-cta .carr-final-btn-outline:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: #ffffff !important;
}
@media (max-width: 900px) {
  body.page-id-3378 .carr-final-cta .fusion-text,
  body.page-id-3805 .carr-final-cta .fusion-text {
    padding-right: 0 !important;
  }
  body.page-id-3378 .carr-final-cta .carr-final-btns,
  body.page-id-3805 .carr-final-cta .carr-final-btns {
    position: static !important;
    transform: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 24px !important;
  }
}

/* 5. Reorder sections so testimonial appears AFTER métier (as proof) */
body.page-id-3378 .post-content,
body.page-id-3805 .post-content {
  display: flex !important;
  flex-direction: column !important;
}
body.page-id-3378 .carr-hero-wrap,
body.page-id-3805 .carr-hero-wrap { order: 1; }
body.page-id-3378 .carr-av-wrap,
body.page-id-3805 .carr-av-wrap { order: 2; }
body.page-id-3378 .carr-metier-bg,
body.page-id-3805 .carr-metier-bg { order: 3; }
body.page-id-3378 .carr-testi-wrap,
body.page-id-3805 .carr-testi-wrap { order: 4; }
body.page-id-3378 .carr-profils-wrap,
body.page-id-3805 .carr-profils-wrap { order: 5; }
body.page-id-3378 .carr-postes-wrap,
body.page-id-3805 .carr-postes-wrap { order: 6; }
body.page-id-3378 .carr-final-cta,
body.page-id-3805 .carr-final-cta,
body.page-id-3378 .post-content > #carr-candidature,
body.page-id-3805 .post-content > #carr-candidature { order: 7 !important; }

/* Also reorder any anchor-wrapped sections by their inner fullwidth class */
body.page-id-3378 .post-content > .fusion-container-anchor,
body.page-id-3805 .post-content > .fusion-container-anchor { order: 7 !important; }

/* 6. Profils cards: tighter + less empty space */
body.page-id-3378 .carr-profil-card,
body.page-id-3805 .carr-profil-card {
  padding: 18px 14px !important;
  gap: 10px !important;
  min-height: 140px !important;
  justify-content: center !important;
}
body.page-id-3378 .carr-profil-card span,
body.page-id-3805 .carr-profil-card span {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

/* 7. Avantages: reduce gap between intro and card grid */
body.page-id-3378 .carr-avantages-intro,
body.page-id-3805 .carr-avantages-intro {
  margin-bottom: 48px !important;
}
body.page-id-3378 .carr-avantages,
body.page-id-3805 .carr-avantages {
  margin-top: 0 !important;
}

/* 8. Métier: H3 "Une profession au coeur du territoire" - white not orange
   (avoids competing with the orange accent in H2 above) */
body.page-id-3378 .carr-metier-bg h3,
body.page-id-3805 .carr-metier-bg h3 {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  opacity: 0.85;
  margin-top: 4px !important;
}

/* 11. Hero: bring "Ensemble." closer to main title */
body.page-id-3378 .carr-hero h1,
body.page-id-3805 .carr-hero h1 {
  line-height: 1.1 !important;
}

/* 13. Mobile profils: reduce card padding */
@media (max-width: 640px) {
  body.page-id-3378 .carr-profil-card,
  body.page-id-3805 .carr-profil-card {
    min-height: 110px !important;
    padding: 14px 10px !important;
  }
  body.page-id-3378 .carr-profil-icon,
  body.page-id-3805 .carr-profil-icon {
    width: 44px !important;
    height: 44px !important;
  }
  body.page-id-3378 .carr-profil-icon svg,
  body.page-id-3805 .carr-profil-icon svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* 12. Italic line "Vous ne voyez pas..." soften visual weight + connect to CTA */
body.page-id-3378 .carr-postes-wrap em,
body.page-id-3805 .carr-postes-wrap em,
body.page-id-3378 .carr-postes-wrap p em,
body.page-id-3805 .carr-postes-wrap p em {
  color: rgba(255,255,255,0.55) !important;
  font-size: 14px !important;
}

/* 13. Nav logo: fit round icon inside pill with equal top/left/bottom padding
       (pill's left curve intrudes on the logo circle without this offset).
       Applied site-wide — same nav pill across all pages. */
.fusion-logo {
  margin-left: 12px !important;
}

/* 16. À propos: move blue "Prêt à nous parler" CTA to the bottom of the page,
       just above the footer. Uses flex order on .post-content. */
body.page-id-1189 .post-content,
body.page-id-3094 .post-content {
  display: flex !important;
  flex-direction: column !important;
}
body.page-id-1189 .post-content > .cta-parler,
body.page-id-3094 .post-content > .cta-parler {
  order: 99 !important;
}

/* À propos CTA heading: match homepage size (33px). Page has --fontSize:48
   inline which Avada responsive typography recomputes to 48px. */
body.page-id-1189 .cta-parler h2,
body.page-id-3094 .cta-parler h2 {
  font-size: 33px !important;
  line-height: 1.21 !important;
}

/* 17. Services (FR 1311 / EN 2970): subtle orange ambient glow on dark sections
       to soften the flat #111 and create visual rhythm. Excludes white sections.
       The hero (fusion-builder-row-1 — "Nos services en arpentage") is also
       excluded so it stays pure dark under the page title banner. */
body.page-id-1311 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1),
body.page-id-2970 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1) {
  position: relative;
}
body.page-id-1311 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1)::before,
body.page-id-2970 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse 700px 420px at 8% 100%, rgba(224,105,25,0.09), transparent 65%);
}
body.page-id-1311 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1):nth-of-type(2n)::before,
body.page-id-2970 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1):nth-of-type(2n)::before {
  background: radial-gradient(ellipse 700px 420px at 92% 100%, rgba(224,105,25,0.09), transparent 65%);
}
body.page-id-1311 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1) > *,
body.page-id-2970 .post-content > .fusion-fullwidth:not(.light-section):not(.cta-parler):not(.fusion-builder-row-1) > * {
  position: relative;
  z-index: 1;
}

/* 18. Services: flip "Pourquoi choisir Denicourt Migué?" to dark theme.
       Use higher specificity to beat the earlier `.post-content .fusion-fullwidth.services-pourquoi`
       white-background rule. Also scope both FR (1311) and known EN ids. */
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi,
body.page-id-2970 .post-content .fusion-fullwidth.services-pourquoi {
  background-color: #111111 !important;
  --awb-background-color: #111111 !important;
}
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi h2.services-pourquoi-heading,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi h2.services-pourquoi-heading,
body.page-id-2970 .post-content .fusion-fullwidth.services-pourquoi h2.services-pourquoi-heading,
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi h2,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi h2,
body.page-id-2970 .post-content .fusion-fullwidth.services-pourquoi h2 {
  color: #ffffff !important;
}
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi .services-pourquoi-item p,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi .services-pourquoi-item p,
body.page-id-2970 .post-content .fusion-fullwidth.services-pourquoi .services-pourquoi-item p,
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi p,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi p,
body.page-id-2970 .post-content .fusion-fullwidth.services-pourquoi p {
  color: #cccccc !important;
}
/* Lighten the blue accent so "Denicourt Migué" stays legible on dark */
body.page-id-1311 .post-content .services-pourquoi h2 span[style*="0e60a1"],
body.page-id-2939 .post-content .services-pourquoi h2 span[style*="0e60a1"],
body.page-id-2970 .post-content .services-pourquoi h2 span[style*="0e60a1"] {
  color: #3b8ad1 !important;
}
/* Hide the "POURQUOI NOUS" / "WHY US" h2::before eyebrow pill */
body.page-id-1311 .post-content > .fusion-fullwidth.services-pourquoi h2::before,
body.page-id-2939 .post-content > .fusion-fullwidth.services-pourquoi h2::before,
body.page-id-2970 .post-content > .fusion-fullwidth.services-pourquoi h2::before {
  content: none !important;
  display: none !important;
}
/* Pourquoi h2 was display:flex column which stacked each text/span node on
   its own line (that's why "?" wrapped to a new line). Revert to block and
   let normal text flow handle it. */
body.page-id-1311 .post-content .fusion-fullwidth.services-pourquoi h2,
body.page-id-2939 .post-content .fusion-fullwidth.services-pourquoi h2,
body.page-id-2970 .post-content .fusion-fullwidth.services-pourquoi h2 {
  display: block !important;
  text-align: center !important;
  text-wrap: balance !important;
  max-width: none !important;
}

/* 27. Footer rhythm: normalize padding around the blue CTA + the footer.
       Before: .fusion-footer-widget-area had 80px pt creating a dark strip;
       main.clearfix.width-100 had another 80px pb below post-content; and
       .cta-parler had inconsistent 50/100/60 pt/pb per page.
       After: main pb 0 (no dark strip), footer pt ~50px (breathing room),
       cta-parler pt/pb locked to 60px for all pages. */
main.clearfix.width-100 {
  padding-bottom: 0 !important;
}
.fusion-footer-widget-area {
  padding-top: 50px !important;
}
.post-content > .fusion-fullwidth.cta-parler {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* Footer row horizontal padding: restore on pages (like .page-contact
   nous-joindre) where a blanket `.fusion-row { padding: 0 }` rule removes it,
   so footer columns align consistently across all pages. */
body .fusion-footer-widget-area > .fusion-row,
body .fusion-footer-copyright-area > .fusion-row,
body .fusion-footer-copyright > .fusion-row {
  padding-left: var(--footer_area_padding-left, 55px) !important;
  padding-right: var(--footer_area_padding-right, 55px) !important;
}

/* 28. Services hero "Nos services en arpentage" — equal top/bottom padding so
       the heading + intro sit vertically centered in the band (was 40/100). */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(1),
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(1),
body.page-id-2970 .post-content > .fusion-fullwidth:nth-of-type(1) {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

/* 26. Service 04 — "Levés, implantation et mesurages spécialisés" bullet list
       is 16 items long. Split into 2 columns on desktop. */
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(5) ul,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(5) ul,
body.page-id-2970 .post-content > .fusion-fullwidth:nth-of-type(5) ul {
  column-count: 2;
  column-gap: 40px;
}
body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(5) ul li,
body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(5) ul li,
body.page-id-2970 .post-content > .fusion-fullwidth:nth-of-type(5) ul li {
  break-inside: avoid;
}
@media (max-width: 700px) {
  body.page-id-1311 .post-content > .fusion-fullwidth:nth-of-type(5) ul,
  body.page-id-2939 .post-content > .fusion-fullwidth:nth-of-type(5) ul,
  body.page-id-2970 .post-content > .fusion-fullwidth:nth-of-type(5) ul {
    column-count: 1;
  }
}

/* 19. Remove all text shadows site-wide. */
*, *::before, *::after {
  text-shadow: none !important;
}

/* 20. Careers hero: match the À propos hero content box (max 920, centered,
       20px inner padding) so eyebrow + h1 sit at the same x position as apropos. */
body.page-id-3378 .carr-hero,
body.page-id-3805 .carr-hero {
  max-width: 920px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* 21. Careers: put the testimonial section UNDER the profils section. Existing
       orders are av=2, metier=3, testi=4, profils=5, postes=6. CSS `order`
       must be an integer — bump testi to 6 and push postes to 7. */
body.page-id-3378 .carr-testi-wrap,
body.page-id-3805 .carr-testi-wrap {
  order: 6 !important;
}
body.page-id-3378 .carr-postes-wrap,
body.page-id-3805 .carr-postes-wrap {
  order: 7 !important;
}

/* 22. Carrières postes: lock TEMPS PLEIN pill typography (Avada responsive
       typography class was inflating the font-size). Higher specificity + !important. */
body.page-id-3378 .carr-postes-wrap .carr-poste-card .carr-poste-meta,
body.page-id-3805 .carr-postes-wrap .carr-poste-card .carr-poste-meta {
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  padding: 7px 14px !important;
  margin: 4px 0 16px !important;
}

/* 23. Remove the phone number pill from the carrières blue CTA. */
body.page-id-3378 .carr-final-cta .carr-final-btn-outline,
body.page-id-3805 .carr-final-cta .carr-final-btn-outline {
  display: none !important;
}

/* 24. Métier page: hero eyebrow pill → gray/white variant (was orange). */
body.page-id-3808 .metier-eyebrow,
body.page-id-3809 .metier-eyebrow {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
}

/* 25. Métier page: make final blue CTA match the .cta-parler pattern used
       on home/à propos/services/carrières (white surround → wide blue
       rounded card → left-aligned heading). Selector specificity must beat
       the generic `body:not(.home) .post-content .fusion-fullwidth:not(.cta-parler)` rule. */
body.page-id-3808 .post-content .fusion-fullwidth.metier-final-wrap,
body.page-id-3809 .post-content .fusion-fullwidth.metier-final-wrap {
  background-color: #ffffff !important;
  --awb-background-color: #ffffff !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
body.page-id-3808 .metier-final,
body.page-id-3809 .metier-final {
  max-width: 1294px !important;
  margin: 0 auto !important;
  border-radius: 30px !important;
  padding: 56px 72px 52px !important;
  text-align: left !important;
}
body.page-id-3808 .metier-final h2,
body.page-id-3809 .metier-final h2 {
  font-size: 33px !important;
  line-height: 1.21 !important;
  text-align: left !important;
  margin: 0 0 14px !important;
}
body.page-id-3808 .metier-final p,
body.page-id-3809 .metier-final p {
  text-align: left !important;
  max-width: 720px;
  margin: 0 0 24px !important;
}
body.page-id-3808 .metier-final-ctas,
body.page-id-3809 .metier-final-ctas {
  justify-content: flex-start !important;
}

/* 14. Talents grid: add 8th CTA tile so the 7 roles + CTA form a symmetric 4x2 */
body.page-id-3378 .carr-profils-grid,
body.page-id-3805 .carr-profils-grid {
  justify-content: flex-start !important;
}
body.page-id-3378 .carr-profils-grid::after,
body.page-id-3805 .carr-profils-grid::after {
  content: "+  Candidature spontanée";
  flex: 0 1 calc(25% - 15px);
  box-sizing: border-box;
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 16px;
  text-align: center;
  border-radius: 20px;
  border: 1px dashed rgba(224,105,25,0.55);
  background: rgba(224,105,25,0.06);
  color: #e06919;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.01em;
}
@media (max-width: 900px) {
  body.page-id-3378 .carr-profils-grid::after,
  body.page-id-3805 .carr-profils-grid::after {
    flex: 0 1 calc(50% - 10px);
  }
}
@media (max-width: 600px) {
  body.page-id-3378 .carr-profils-grid::after,
  body.page-id-3805 .carr-profils-grid::after {
    flex: 0 1 100%;
  }
}

/* 15. Postes cards: upgrade typography + add meta pill for "Temps plein" */
body.page-id-3378 .carr-poste-card h3,
body.page-id-3805 .carr-poste-card h3 {
  font-size: 20px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 6px !important;
}
body.page-id-3378 .carr-poste-card .carr-poste-meta,
body.page-id-3805 .carr-poste-card .carr-poste-meta {
  display: inline-block !important;
  align-self: flex-start;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(224,105,25,0.45) !important;
  background: rgba(224,105,25,0.10) !important;
  color: #e06919 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
}
body.page-id-3378 .carr-poste-card .carr-poste-summary,
body.page-id-3805 .carr-poste-card .carr-poste-summary {
  font-size: 15px !important;
  color: #bfbfbf !important;
  line-height: 1.55 !important;
  margin: 0 0 18px !important;
}
body.page-id-3378 .carr-poste-card,
body.page-id-3805 .carr-poste-card {
  padding: 26px 26px 24px !important;
  gap: 6px !important;
}
body.page-id-3378 .carr-poste-card .carr-btn,
body.page-id-3805 .carr-poste-card .carr-btn {
  padding: 12px 22px !important;
  font-size: 15px !important;
  border-radius: 999px !important;
}

/* ============================================================
   CARRIÈRES PAGE — APRIL 2026 FIGMA REBUILD (frame 5843:204)
   Scoped to FR page 3378 / EN page 3805. Appended late so it
   wins the cascade against earlier carr-* rules.
   ============================================================ */
body.page-id-3378 .post-content,
body.page-id-3805 .post-content {
  background: #000 !important;
}

/* ---------- Section background overrides (high-specificity to beat Avada) ---------- */
body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap,
body.page-id-3378 .post-content .fusion-fullwidth.carr-firme-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-firme-wrap,
body.page-id-3378 .post-content .fusion-fullwidth.carr-metier-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-metier-wrap,
body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap { background-color: #000 !important; }
body.page-id-3378 .post-content .fusion-fullwidth.carr-quote-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-quote-wrap { background-color: #0e60a1 !important; }
body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap { background-color: #fff !important; }
body.page-id-3378 .post-content .fusion-fullwidth.carr-postes-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-postes-wrap { background-color: #101010 !important; }

/* ---------- cta-parler customisation for Carrières (longer headline) ---------- */
body.page-id-3378 .cta-parler.carr-candidature h2,
body.page-id-3805 .cta-parler.carr-candidature h2 {
  white-space: normal !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button {
  /* Match Figma orange-filled button (homepage uses outlined white) */
  background-color: #e06919 !important;
  background-image: none !important;
  border-color: #e06919 !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button .fusion-button-text,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button .fusion-button-text { color: #ffffff !important; }

/* ---------- Common tokens ---------- */
body.page-id-3378 .carr-hero h1 .accent,
body.page-id-3805 .carr-hero h1 .accent,
body.page-id-3378 .accent,
body.page-id-3805 .accent { color: #e06919 !important; }
body.page-id-3378 .accent-blue,
body.page-id-3805 .accent-blue { color: #0e60a1 !important; }

/* ---------- 1. HERO ---------- */
body.page-id-3378 .carr-hero-wrap,
body.page-id-3805 .carr-hero-wrap {
  position: relative;
  background-color: #000 !important;
  background-position: right center !important;
  background-size: auto 100% !important;
  background-repeat: no-repeat !important;
  min-height: 820px;
  overflow: hidden;
}
body.page-id-3378 .carr-hero-wrap::before,
body.page-id-3805 .carr-hero-wrap::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #000 0%, #000 45%, rgba(0,0,0,0) 100%);
  z-index: 0;
}
body.page-id-3378 .carr-hero-wrap > .fusion-builder-row,
body.page-id-3805 .carr-hero-wrap > .fusion-builder-row {
  position: relative; z-index: 1;
}
body.page-id-3378 .carr-hero,
body.page-id-3805 .carr-hero {
  max-width: 600px;
  padding-left: 60px;
}
/* (carr-eyebrow removed — using shared .carrieres-pill instead) */
body.page-id-3378 .carr-hero .carrieres-pill-wrapper,
body.page-id-3805 .carr-hero .carrieres-pill-wrapper { margin-bottom: 28px; }
body.page-id-3378 .carr-hero h1,
body.page-id-3805 .carr-hero h1 {
  color: #fff !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.5px !important;
  margin: 0 0 24px 0 !important;
}
body.page-id-3378 .carr-hero .carr-lede,
body.page-id-3805 .carr-hero .carr-lede,
body.page-id-3378 .carr-hero p,
body.page-id-3805 .carr-hero p {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  margin-bottom: 18px !important;
}
body.page-id-3378 .carr-hero .carr-lede u,
body.page-id-3805 .carr-hero .carr-lede u { text-decoration: underline; }
body.page-id-3378 .carr-hero-card,
body.page-id-3805 .carr-hero-card {
  margin-top: 36px;
  padding: 24px 28px;
  background: rgba(0,0,0,0.6);
  border: 1px solid #494949;
  border-radius: 20px;
  max-width: 553px;
}
body.page-id-3378 .carr-hero-card-title,
body.page-id-3805 .carr-hero-card-title {
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0 0 18px 0 !important;
  line-height: 1.25 !important;
}
body.page-id-3378 .carr-hero-ctas,
body.page-id-3805 .carr-hero-ctas {
  display: flex; flex-wrap: wrap; gap: 16px;
}

/* Buttons */
body.page-id-3378 .carr-btn,
body.page-id-3805 .carr-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 13px 26px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s;
  line-height: 1;
}
body.page-id-3378 .carr-btn-primary,
body.page-id-3805 .carr-btn-primary {
  background: #e06919; color: #fff !important; border: 0;
}
body.page-id-3378 .carr-btn-primary:hover,
body.page-id-3805 .carr-btn-primary:hover { background: #c4680f; }
body.page-id-3378 .carr-btn-outline-white,
body.page-id-3805 .carr-btn-outline-white {
  background: transparent; color: #fff !important; border: 2px solid #fff;
}
body.page-id-3378 .carr-btn-outline-white:hover,
body.page-id-3805 .carr-btn-outline-white:hover { background: #fff; color: #000 !important; }
body.page-id-3378 .carr-btn-arrow svg,
body.page-id-3805 .carr-btn-arrow svg {
  width: 14px; height: 14px; margin-left: 10px; flex-shrink: 0;
}
body.page-id-3378 .carr-btn-arrow,
body.page-id-3805 .carr-btn-arrow { padding-right: 22px; }
body.page-id-3378 .carr-btn-spontaneous,
body.page-id-3805 .carr-btn-spontaneous {
  background: #e06919; color: #fff !important; border: 0;
  padding: 16px 32px; font-size: 19px; border-radius: 50px;
}
body.page-id-3378 .carr-btn-spontaneous:hover,
body.page-id-3805 .carr-btn-spontaneous:hover { background: #c4680f; }

/* (carr-ticker removed — using shared .services-ticker-bar instead.
    Page-specific margin reset so it doesn't pull up under our hero like on home.) */
body.page-id-3378 .fusion-fullwidth.services-ticker-bar,
body.page-id-3805 .fusion-fullwidth.services-ticker-bar { margin-top: 0 !important; }

/* ---------- 3. UNE FIRME SOLIDE ET ENGAGÉE ---------- */
body.page-id-3378 .carr-firme-wrap,
body.page-id-3805 .carr-firme-wrap { background: #000 !important; }
body.page-id-3378 .carr-firme,
body.page-id-3805 .carr-firme {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px;
  max-width: 1280px; margin: 0 auto; padding: 0 30px;
  align-items: center;
}
body.page-id-3378 .carr-firme h2,
body.page-id-3805 .carr-firme h2 { white-space: normal; max-width: 520px; }
body.page-id-3378 .carr-firme h2,
body.page-id-3805 .carr-firme h2 {
  color: #fff !important;
  font-size: 40px !important; font-weight: 700 !important;
  line-height: 1.2 !important; letter-spacing: -0.5px !important;
  margin: 0 0 36px 0 !important;
}
body.page-id-3378 .carr-firme-cards,
body.page-id-3805 .carr-firme-cards {
  display: flex; flex-direction: column; gap: 18px;
}
body.page-id-3378 .carr-firme-card,
body.page-id-3805 .carr-firme-card {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 18px 24px;
  background: rgba(0,0,0,0.6);
  border: 1px solid #865636;
  border-radius: 20px;
}
body.page-id-3378 .carr-firme-icon,
body.page-id-3805 .carr-firme-icon {
  flex-shrink: 0; width: 32px; height: 32px;
}
body.page-id-3378 .carr-firme-icon svg,
body.page-id-3805 .carr-firme-icon svg {
  width: 100%; height: 100%; display: block;
}
body.page-id-3378 .carr-firme-text h3,
body.page-id-3805 .carr-firme-text h3 {
  color: #fff !important; font-size: 20px !important; font-weight: 700 !important;
  margin: 0 0 6px 0 !important; line-height: 1.2 !important;
}
body.page-id-3378 .carr-firme-text p,
body.page-id-3805 .carr-firme-text p {
  color: #fff !important; font-size: 15px !important; line-height: 1.3 !important;
  margin: 0 !important;
}
body.page-id-3378 .carr-firme-right,
body.page-id-3805 .carr-firme-right {
  background: #d9d9d9;
  border-radius: 41px;
  aspect-ratio: 533 / 520;
  width: 100%;
}

/* ---------- 4. QUOTE BAND ---------- */
body.page-id-3378 .carr-quote-wrap,
body.page-id-3805 .carr-quote-wrap {
  background: #0e60a1 !important;
  border-top-right-radius: 20px; border-bottom-right-radius: 20px;
}
body.page-id-3378 .carr-quote-band p,
body.page-id-3805 .carr-quote-band p {
  color: #fff !important;
  font-size: clamp(20px, 2.2vw, 30px) !important;
  font-style: italic !important; font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: right !important;
  max-width: 911px; margin: 0 0 0 auto !important;
  padding: 0 60px;
}

/* ---------- 5. CONDITIONS DE TRAVAIL AVANTAGEUSES ---------- */
body.page-id-3378 .carr-av-wrap,
body.page-id-3805 .carr-av-wrap {
  background: #fff !important;
}
body.page-id-3378 .carr-avantages,
body.page-id-3805 .carr-avantages {
  display: block !important; /* override old `.carr-avantages { display: grid }` rule */
  grid-template-columns: none !important;
  max-width: 1280px; margin: 0 auto; padding: 0 30px;
}
/* widen the cards on standard desktop so titles don't break awkwardly */
@media (min-width: 1101px) and (max-width: 1500px) {
  body.page-id-3378 .carr-avantages-grid,
  body.page-id-3805 .carr-avantages-grid { gap: 20px; }
  body.page-id-3378 .carr-avantages-group,
  body.page-id-3805 .carr-avantages-group { padding: 30px 24px !important; }
}
body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages h2,
body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages h2 {
  color: #000 !important;
  font-size: 40px !important; font-weight: 700 !important;
  line-height: 1.2 !important; letter-spacing: -0.5px !important;
  text-align: center !important; margin: 0 0 12px 0 !important;
}
body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages-intro,
body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages-intro {
  color: #000 !important;
  font-size: 18px !important; line-height: 1.3 !important;
  text-align: center !important;
  max-width: 617px; margin: 0 auto 60px auto !important;
}
body.page-id-3378 .carr-avantages-grid,
body.page-id-3805 .carr-avantages-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;
}
body.page-id-3378 .carr-avantages-group,
body.page-id-3805 .carr-avantages-group {
  background: #000 !important;
  background-image: none !important;
  border: 2px solid #0e60a1 !important;
  border-radius: 20px !important;
  padding: 36px 30px !important;
  position: relative;
  margin-bottom: 0 !important;
}
body.page-id-3378 .carr-avantages-group:hover,
body.page-id-3805 .carr-avantages-group:hover {
  transform: none !important;
  border-color: #0e60a1 !important;
}
body.page-id-3378 .carr-avantages-grid > .carr-avantages-group:first-child,
body.page-id-3805 .carr-avantages-grid > .carr-avantages-group:first-child {
  box-shadow: 0 4px 27.9px rgba(14,96,161,0.6);
  border-width: 3px;
}
body.page-id-3378 .carr-av-icon,
body.page-id-3805 .carr-av-icon {
  width: 53px !important; height: 50px !important;
  background: #0e60a1 !important;
  border: 0 !important;
  border-radius: 11px !important;
  display: flex !important; align-items: center; justify-content: center;
  margin-bottom: 24px !important;
}
body.page-id-3378 .carr-av-icon svg,
body.page-id-3805 .carr-av-icon svg {
  width: 24px !important; height: 24px !important;
}
body.page-id-3378 .carr-avantages-group h3,
body.page-id-3805 .carr-avantages-group h3 {
  color: #fff !important;
  font-size: 22px !important; font-weight: 700 !important;
  letter-spacing: -0.1px !important;
  margin: 0 0 24px 0 !important; line-height: 1.2 !important;
}
body.page-id-3378 .carr-av-list,
body.page-id-3805 .carr-av-list {
  list-style: none !important; padding: 0 !important; margin: 0 !important;
}
body.page-id-3378 .carr-av-list li,
body.page-id-3805 .carr-av-list li {
  display: flex; gap: 14px; align-items: flex-start;
  margin-bottom: 18px;
  color: #fff;
  font-size: 17px; line-height: 1.2;
  letter-spacing: -0.085px;
}
body.page-id-3378 .carr-av-bullet,
body.page-id-3805 .carr-av-bullet {
  flex-shrink: 0;
  width: 14px; height: 14px;
  margin-top: 4px;
  background: transparent;
  border: 2px solid #e06919;
  border-radius: 50%;
}

/* ---------- 6. LE MÉTIER ---------- */
body.page-id-3378 .carr-metier-wrap,
body.page-id-3805 .carr-metier-wrap { background: #000 !important; }
body.page-id-3378 .carr-metier,
body.page-id-3805 .carr-metier {
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
  max-width: 1320px; margin: 0 auto; padding: 0 30px;
  align-items: center;
}
body.page-id-3378 .carr-metier-img,
body.page-id-3805 .carr-metier-img {
  border-radius: 41px; overflow: hidden;
  aspect-ratio: 533 / 520; position: relative;
  isolation: isolate;
}
body.page-id-3378 .carr-metier-img img,
body.page-id-3805 .carr-metier-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
body.page-id-3378 .carr-metier-img::after,
body.page-id-3805 .carr-metier-img::after {
  content: ''; position: absolute; inset: 0;
  background: rgba(14,96,161,0.4);
  pointer-events: none;
}
body.page-id-3378 .carr-metier-text h2,
body.page-id-3805 .carr-metier-text h2 {
  color: #fff !important;
  font-size: 40px !important; font-weight: 700 !important;
  line-height: 1.2 !important; letter-spacing: -0.5px !important;
  margin: 0 0 18px 0 !important;
}
body.page-id-3378 .carr-metier-text h3,
body.page-id-3805 .carr-metier-text h3 {
  color: #fff !important;
  font-size: 18px !important; font-weight: 700 !important;
  margin: 0 0 14px 0 !important; line-height: 1.7 !important;
}
body.page-id-3378 .carr-metier-text p,
body.page-id-3805 .carr-metier-text p {
  color: #fff !important;
  font-size: 18px !important; line-height: 1.2 !important;
  letter-spacing: -0.09px !important;
  margin: 0 0 28px 0 !important;
}

/* ---------- 7. LES TALENTS ---------- */
body.page-id-3378 .carr-talents-wrap,
body.page-id-3805 .carr-talents-wrap { background: #000 !important; padding: 0 !important; }
body.page-id-3378 .carr-talents,
body.page-id-3805 .carr-talents {
  position: relative;
  background-size: cover; background-position: center;
  padding: 100px 30px 80px;
}
body.page-id-3378 .carr-talents-overlay,
body.page-id-3805 .carr-talents-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, #000 0%, rgba(0,0,0,0) 30%),
    linear-gradient(0deg, #000 0%, rgba(0,0,0,0) 30%),
    rgba(0,0,0,0.65);
  backdrop-filter: blur(2.5px);
  pointer-events: none;
}
body.page-id-3378 .carr-talents-inner,
body.page-id-3805 .carr-talents-inner {
  position: relative; z-index: 1;
  max-width: 1280px; margin: 0 auto;
}
body.page-id-3378 .carr-talents-inner h2,
body.page-id-3805 .carr-talents-inner h2 {
  color: #fff !important;
  font-size: 40px !important; font-weight: 700 !important;
  line-height: 1.2 !important; letter-spacing: -0.5px !important;
  margin: 0 0 18px 0 !important;
}
body.page-id-3378 .carr-talents-lede,
body.page-id-3805 .carr-talents-lede {
  color: #fff !important;
  font-size: 18px !important; line-height: 1.2 !important;
  letter-spacing: -0.09px !important;
  max-width: 515px; margin: 0 0 50px 0 !important;
}
body.page-id-3378 .carr-talents-grid,
body.page-id-3805 .carr-talents-grid {
  display: grid; grid-template-columns: repeat(3, 260px); gap: 20px;
  margin-bottom: 80px;
  justify-content: start;
}
body.page-id-3378 .carr-talent-card,
body.page-id-3805 .carr-talent-card {
  background: rgba(0,0,0,0.6);
  border: 1px solid #494949;
  border-radius: 20px;
  height: 112px;
  padding: 18px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 16px; font-weight: 600;
  text-align: center; line-height: 1.2;
}
body.page-id-3378 .carr-talents-subcta,
body.page-id-3805 .carr-talents-subcta {
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px;
  align-items: end; margin-top: 60px;
}
body.page-id-3378 .carr-talents-subcta-text,
body.page-id-3805 .carr-talents-subcta-text {
  color: #fff !important;
  font-size: 23px !important; font-weight: 700 !important;
  text-align: right !important;
  line-height: 1.26 !important;
  letter-spacing: -0.115px !important;
  margin: 0 !important;
  max-width: 331px; justify-self: end;
}
body.page-id-3378 .carr-talents-cutout,
body.page-id-3805 .carr-talents-cutout {
  position: relative;
}
body.page-id-3378 .carr-talents-cutout img,
body.page-id-3805 .carr-talents-cutout img {
  width: 100%; height: auto; display: block;
  filter: drop-shadow(0 0 30px rgba(0,0,0,0.5));
}

/* ---------- 8. POSTES DISPONIBLES ---------- */
body.page-id-3378 .carr-postes-wrap,
body.page-id-3805 .carr-postes-wrap { background: #101010 !important; }
body.page-id-3378 .carr-postes,
body.page-id-3805 .carr-postes {
  max-width: 1280px; margin: 0 auto; padding: 0 30px;
}
body.page-id-3378 .carr-postes h2,
body.page-id-3805 .carr-postes h2 {
  color: #fff !important;
  font-size: 40px !important; font-weight: 700 !important;
  line-height: 1.2 !important; letter-spacing: -0.5px !important;
  margin: 0 0 14px 0 !important;
}
body.page-id-3378 .carr-postes-lede,
body.page-id-3805 .carr-postes-lede {
  color: #fff !important;
  font-size: 18px !important; line-height: 1.2 !important;
  margin: 0 0 50px 0 !important;
}
body.page-id-3378 .carr-postes-grid,
body.page-id-3805 .carr-postes-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px;
}
body.page-id-3378 .carr-poste-card,
body.page-id-3805 .carr-poste-card {
  display: flex !important;
  align-items: center !important;
  gap: 18px;
  position: relative;
  background: #000 !important;
  background-image: none !important;
  border-radius: 20px !important;
  padding: 22px 24px !important;
  min-height: 121px;
  text-decoration: none !important;
  border: 1px solid #434343 !important;
  color: #fff;
  transition: border-color 0.2s, transform 0.2s;
}
body.page-id-3378 .carr-poste-link,
body.page-id-3805 .carr-poste-link {
  position: absolute; inset: 0; z-index: 2;
  border-radius: 20px;
  text-indent: -9999px;
}
body.page-id-3378 .carr-poste-card:hover,
body.page-id-3805 .carr-poste-card:hover {
  border-color: #e06919 !important;
}
body.page-id-3378 .carr-poste-body,
body.page-id-3805 .carr-poste-body {
  display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0;
}
body.page-id-3378 a.carr-poste-card:hover,
body.page-id-3805 a.carr-poste-card:hover {
  border-color: #e06919; transform: translateY(-2px);
}
body.page-id-3378 .carr-poste-icon,
body.page-id-3805 .carr-poste-icon {
  flex-shrink: 0; width: 24px; height: 24px;
}
body.page-id-3378 .carr-poste-icon svg,
body.page-id-3805 .carr-poste-icon svg {
  width: 100%; height: 100%; display: block; opacity: 0.75;
}
body.page-id-3378 .carr-poste-icon svg path,
body.page-id-3805 .carr-poste-icon svg path { fill: #fff; }
body.page-id-3378 .carr-poste-body,
body.page-id-3805 .carr-poste-body { flex: 1; min-width: 0; }
body.page-id-3378 .carr-poste-card h3,
body.page-id-3805 .carr-poste-card h3 {
  color: #fff !important;
  font-size: 17px !important; font-weight: 700 !important;
  margin: 0 0 4px 0 !important; line-height: 1.2 !important;
}
body.page-id-3378 .carr-poste-branch,
body.page-id-3805 .carr-poste-branch {
  color: #919191 !important;
  font-size: 15px !important; line-height: 1.2 !important;
  margin: 0 !important;
}
body.page-id-3378 .carr-poste-tag,
body.page-id-3805 .carr-poste-tag {
  position: absolute; top: 16px; right: 20px;
  border: 1px solid rgba(224,105,25,0.6);
  color: #e06919 !important;
  font-size: 10px; font-weight: 600;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 14px;
  border-radius: 50px;
  background: transparent;
  display: inline-block;
  width: max-content;
}
body.page-id-3378 .carr-poste-branch,
body.page-id-3805 .carr-poste-branch {
  display: block;
  color: #919191 !important;
  font-size: 15px;
  line-height: 1.2;
}
body.page-id-3378 .carr-poste-empty-text,
body.page-id-3805 .carr-poste-empty-text {
  display: block;
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
}
body.page-id-3378 .carr-poste-empty,
body.page-id-3805 .carr-poste-empty {
  flex-direction: column; align-items: flex-start; justify-content: center;
  gap: 10px; cursor: default;
}
body.page-id-3378 .carr-poste-empty p,
body.page-id-3805 .carr-poste-empty p {
  color: #fff !important; font-size: 15px !important; line-height: 1.2 !important;
  margin: 0 !important;
}
body.page-id-3378 .carr-poste-empty-link,
body.page-id-3805 .carr-poste-empty-link {
  color: #e06919 !important; font-size: 15px !important;
  text-decoration: underline !important;
}

/* (carr-final-wrap removed — using shared .cta-parler.carr-candidature instead) */

/* ---------- Reset OLD flex-order rules ---------- */
body.page-id-3378 .post-content > .fusion-fullwidth,
body.page-id-3805 .post-content > .fusion-fullwidth,
body.page-id-3378 .post-content > .fusion-container-anchor,
body.page-id-3805 .post-content > .fusion-container-anchor { order: 0 !important; }

/* ---------- Reset OLD carr-* rules that conflict ---------- */
body.page-id-3378 .carr-stats,
body.page-id-3805 .carr-stats { display: none !important; }
body.page-id-3378 .carr-profils,
body.page-id-3805 .carr-profils,
body.page-id-3378 .carr-profils-grid::after,
body.page-id-3805 .carr-profils-grid::after { display: none !important; }
body.page-id-3378 .carr-poste-card .carr-poste-summary,
body.page-id-3805 .carr-poste-card .carr-poste-summary,
body.page-id-3378 .carr-poste-card .carr-btn,
body.page-id-3805 .carr-poste-card .carr-btn,
body.page-id-3378 .carr-poste-card .carr-poste-meta,
body.page-id-3805 .carr-poste-card .carr-poste-meta { display: none !important; }
body.page-id-3378 .carr-postes-note,
body.page-id-3805 .carr-postes-note { display: none !important; }
body.page-id-3378 .carr-final-btns,
body.page-id-3805 .carr-final-btns { display: none !important; }

/* ---------- Responsive (desktop ≥ 1100px in this block; mobile in functions.php) ---------- */
@media (max-width: 1100px) {
  body.page-id-3378 .carr-firme,
  body.page-id-3805 .carr-firme,
  body.page-id-3378 .carr-metier,
  body.page-id-3805 .carr-metier { grid-template-columns: 1fr; gap: 40px; }
  body.page-id-3378 .carr-firme-right,
  body.page-id-3805 .carr-firme-right {
    aspect-ratio: auto;
    height: 240px;
    max-width: 600px;
    margin: 0 auto;
  }
  body.page-id-3378 .carr-avantages-grid,
  body.page-id-3805 .carr-avantages-grid { grid-template-columns: 1fr; gap: 20px; }
  body.page-id-3378 .carr-talents-grid,
  body.page-id-3805 .carr-talents-grid { grid-template-columns: repeat(2, 1fr); }
  body.page-id-3378 .carr-talents-subcta,
  body.page-id-3805 .carr-talents-subcta { grid-template-columns: 1fr; }
  body.page-id-3378 .carr-talents-subcta-text,
  body.page-id-3805 .carr-talents-subcta-text { text-align: left !important; max-width: 100%; justify-self: start; }
  body.page-id-3378 .carr-postes-grid,
  body.page-id-3805 .carr-postes-grid { grid-template-columns: 1fr; }
  body.page-id-3378 .carr-final,
  body.page-id-3805 .carr-final { grid-template-columns: 1fr; padding: 40px 32px; }
  body.page-id-3378 .carr-quote-band p,
  body.page-id-3805 .carr-quote-band p { padding: 0 30px; text-align: left !important; }
  body.page-id-3378 .carr-hero,
  body.page-id-3805 .carr-hero { max-width: 100%; padding-left: 30px; padding-right: 30px; }
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap {
    background-size: cover !important;
    background-position: 70% center !important;
  }
  body.page-id-3378 .carr-hero-wrap::before,
  body.page-id-3805 .carr-hero-wrap::before { background: rgba(0,0,0,0.75); }
}

/* ============================================================
   CARRIÈRES — APR 25 PARITY FIXES (frame 5843:204)
   Appended last so these win the cascade against earlier rules.
   ============================================================ */

/* 1. AVANTAGEUSES — restore Figma blue badges (override old orange tint) */
body.page-id-3378 .carr-av-wrap .carr-av-icon,
body.page-id-3805 .carr-av-wrap .carr-av-icon {
  background: #0e60a1 !important;
  border: 0 !important;
  border-radius: 11px !important;
  width: 53px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 24px !important;
}
body.page-id-3378 .carr-av-wrap .carr-av-icon svg,
body.page-id-3805 .carr-av-wrap .carr-av-icon svg {
  width: 24px !important; height: 24px !important;
  display: block;
}
body.page-id-3378 .carr-av-wrap .carr-av-icon svg path,
body.page-id-3805 .carr-av-wrap .carr-av-icon svg path,
body.page-id-3378 .carr-av-wrap .carr-av-icon svg ellipse,
body.page-id-3805 .carr-av-wrap .carr-av-icon svg ellipse {
  stroke: none !important;
  fill: #fff !important;
}

/* 2. FIRME RIGHT — replace placeholder with real image when present */
body.page-id-3378 .carr-firme-right,
body.page-id-3805 .carr-firme-right {
  background: transparent !important;
  border-radius: 41px;
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
  position: relative;
}
body.page-id-3378 .carr-firme-right img,
body.page-id-3805 .carr-firme-right img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  border-radius: 41px;
}

/* 3. METIER — keep "chez nous" on its own line */
body.page-id-3378 .carr-metier-text h2 .accent,
body.page-id-3805 .carr-metier-text h2 .accent {
  display: block;
}

/* 4. POSTES heading — never wrap on desktop */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-postes h2,
  body.page-id-3805 .carr-postes h2 { white-space: nowrap; }
}

/* 5. TALENTS — eager-load the cutout via background fallback (kept for safety) */
body.page-id-3378 .carr-talents-cutout img,
body.page-id-3805 .carr-talents-cutout img {
  width: 100%; height: auto; display: block;
  filter: drop-shadow(0 0 30px rgba(0,0,0,0.5));
  max-height: 480px;
  object-fit: contain;
  object-position: bottom right;
}

/* 6. CTA-PARLER (final banner) — match Figma blue card pill */
body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row,
body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row {
  max-width: 1269px; margin: 0 auto;
  background: #0e60a1;
  border-radius: 20px;
  padding: 48px 56px !important;
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
  flex-wrap: wrap;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row > .fusion-builder-column,
body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row > .fusion-builder-column {
  background: transparent !important; padding: 0 !important;
  flex: 1; min-width: 280px;
}
body.page-id-3378 .cta-parler.carr-candidature h2,
body.page-id-3805 .cta-parler.carr-candidature h2 {
  color: #fff !important;
  font-size: 33px !important; font-weight: 700 !important;
  line-height: 1.2 !important; margin: 0 0 8px 0 !important;
  text-align: left !important;
}
body.page-id-3378 .cta-parler.carr-candidature p,
body.page-id-3805 .cta-parler.carr-candidature p {
  color: #fff !important;
  font-size: 17px !important; line-height: 1.3 !important;
  margin: 0 !important; text-align: left !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  font-size: 17px !important; font-weight: 600 !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button:hover,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button:hover {
  background: #fff !important; color: #0e60a1 !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button .fusion-button-text,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button .fusion-button-text { color: inherit !important; }

/* Mobile: stack banner */
@media (max-width: 1100px) {
  body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row {
    padding: 32px 28px !important;
    flex-direction: column; align-items: flex-start; gap: 20px;
  }
  body.page-id-3378 .cta-parler.carr-candidature h2,
  body.page-id-3805 .cta-parler.carr-candidature h2 { font-size: 26px !important; }
}

/* 7. QUOTE BAND — beat the global body:not(.home) .post-content .fusion-fullwidth p rule */
body.page-id-3378 .post-content .fusion-fullwidth.carr-quote-wrap .carr-quote-band p,
body.page-id-3805 .post-content .fusion-fullwidth.carr-quote-wrap .carr-quote-band p {
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  font-style: italic !important;
  font-weight: 600 !important;
  text-align: right !important;
  max-width: 911px;
  margin: 0 0 0 auto !important;
  padding: 0 60px !important;
  letter-spacing: -0.15px;
}
body.page-id-3378 .post-content .fusion-fullwidth.carr-quote-wrap,
body.page-id-3805 .post-content .fusion-fullwidth.carr-quote-wrap {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
  min-height: 168px;
  display: flex; align-items: center;
}
@media (max-width: 1100px) {
  body.page-id-3378 .post-content .fusion-fullwidth.carr-quote-wrap .carr-quote-band p,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-quote-wrap .carr-quote-band p {
    font-size: 22px !important;
    text-align: left !important;
    padding: 0 24px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-quote-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-quote-wrap {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    min-height: auto;
  }
}

/* 8. METIER — soften blue overlay so the photo reads through */
body.page-id-3378 .carr-metier-img::after,
body.page-id-3805 .carr-metier-img::after {
  background: rgba(14, 96, 161, 0.18) !important;
}

/* 9. HERO — push gradient less aggressively so photo shows more */
body.page-id-3378 .carr-hero-wrap::before,
body.page-id-3805 .carr-hero-wrap::before {
  background: linear-gradient(90deg, #000 0%, #000 38%, rgba(0,0,0,0.2) 75%, rgba(0,0,0,0) 100%) !important;
}
body.page-id-3378 .carr-hero-wrap,
body.page-id-3805 .carr-hero-wrap {
  background-size: cover !important;
  background-position: right center !important;
}
@media (max-width: 1100px) {
  body.page-id-3378 .carr-hero-wrap::before,
  body.page-id-3805 .carr-hero-wrap::before {
    background: rgba(0,0,0,0.7) !important;
  }
}

/* 10. POST-CONTENT P RESET for our hero/firme/talents/postes paragraphs (beat global :not(.home) rule) */
body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap .carr-hero p,
body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap .carr-hero p,
body.page-id-3378 .post-content .fusion-fullwidth.carr-firme-wrap .carr-firme p,
body.page-id-3805 .post-content .fusion-fullwidth.carr-firme-wrap .carr-firme p,
body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents p,
body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents p,
body.page-id-3378 .post-content .fusion-fullwidth.carr-postes-wrap .carr-postes p,
body.page-id-3805 .post-content .fusion-fullwidth.carr-postes-wrap .carr-postes p {
  color: #fff !important;
}

/* 11. RESET — undo legacy h2 display:flex/column that splits headings onto multiple lines */
body.page-id-3378 .carr-av-wrap h2,
body.page-id-3805 .carr-av-wrap h2,
body.page-id-3378 .carr-postes-wrap h2,
body.page-id-3805 .carr-postes-wrap h2,
body.page-id-3378 .carr-talents-wrap h2,
body.page-id-3805 .carr-talents-wrap h2,
body.page-id-3378 .carr-firme-wrap h2,
body.page-id-3805 .carr-firme-wrap h2,
body.page-id-3378 .carr-metier-wrap h2,
body.page-id-3805 .carr-metier-wrap h2,
body.page-id-3378 .carr-cand-wrap h2,
body.page-id-3805 .carr-cand-wrap h2 {
  display: block !important;
  flex-direction: row !important;
  align-items: baseline !important;
}
/* Kill the eyebrow ::before pills that no longer fit the Figma design */
body.page-id-3378 .carr-av-wrap h2::before,
body.page-id-3805 .carr-av-wrap h2::before,
body.page-id-3378 .carr-postes-wrap h2::before,
body.page-id-3805 .carr-postes-wrap h2::before,
body.page-id-3378 .carr-cand-wrap h2::before,
body.page-id-3805 .carr-cand-wrap h2::before,
body.page-id-3378 .carr-profils-wrap h2::before,
body.page-id-3805 .carr-profils-wrap h2::before {
  content: none !important;
  display: none !important;
}
/* Re-confirm postes h2 nowrap on desktop */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-postes h2,
  body.page-id-3805 .carr-postes h2 {
    white-space: nowrap !important;
    text-align: left !important;
  }
}

/* ============================================================
   CARRIÈRES — APR 25 ROUND 2 PARITY (5 user-flagged issues)
   ============================================================ */

/* A. TICKER — beat the global body:not(.home) .post-content .fusion-fullwidth { padding 50px } */
body.page-id-3378 .post-content .fusion-fullwidth.services-ticker-bar,
body.page-id-3805 .post-content .fusion-fullwidth.services-ticker-bar {
  padding-top: 27px !important;
  padding-bottom: 27px !important;
  margin-top: 0 !important;
}

/* B. HERO CARD — Figma 553×150, side-by-side buttons, sit on the photo seam */
body.page-id-3378 .carr-hero,
body.page-id-3805 .carr-hero {
  max-width: 720px;
  padding-left: 60px;
}
@media (min-width: 1101px) {
  body.page-id-3378 .carr-hero p,
  body.page-id-3805 .carr-hero p,
  body.page-id-3378 .carr-hero .carr-eyebrow,
  body.page-id-3805 .carr-hero .carr-eyebrow {
    max-width: 480px !important;
  }
  body.page-id-3378 .carr-hero h1,
  body.page-id-3805 .carr-hero h1 {
    max-width: 540px !important;
  }
}
body.page-id-3378 .carr-hero-card,
body.page-id-3805 .carr-hero-card {
  position: relative;
  margin-top: 48px;
  padding: 28px 32px !important;
  width: 553px;
  max-width: 100%;
  background: rgba(0,0,0,0.6) !important;
  border: 1px solid #494949 !important;
  border-radius: 20px !important;
  backdrop-filter: blur(6px);
}
body.page-id-3378 .carr-hero .carr-hero-card p.carr-hero-card-title,
body.page-id-3805 .carr-hero .carr-hero-card p.carr-hero-card-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #fff !important;
  margin: 0 0 22px 0 !important;
}
body.page-id-3378 .carr-hero-ctas,
body.page-id-3805 .carr-hero-ctas {
  display: flex; flex-wrap: nowrap; gap: 14px;
}
body.page-id-3378 .carr-hero-ctas br,
body.page-id-3805 .carr-hero-ctas br { display: none !important; }
body.page-id-3378 .carr-hero-ctas .carr-btn,
body.page-id-3805 .carr-hero-ctas .carr-btn {
  flex: 1 1 0;
  height: 45px;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 0 18px !important;
  text-align: center;
  white-space: nowrap;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* C. AVANTAGEUSES bullet — small filled chevron arrow (matches Figma vector marks) */
body.page-id-3378 .carr-av-bullet,
body.page-id-3805 .carr-av-bullet {
  width: 14px !important;
  height: 12px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  position: relative;
  margin-top: 6px;
}
body.page-id-3378 .carr-av-bullet::before,
body.page-id-3805 .carr-av-bullet::before {
  content: '';
  position: absolute; inset: 0;
  background-color: #0e60a1;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'><path d='M1 6.5l3.5 4 8.5-9' stroke='black' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'><path d='M1 6.5l3.5 4 8.5-9' stroke='black' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
}

/* D. TALENTS cutout — cap height to Figma proportion (~280px) so it doesn't dominate */
body.page-id-3378 .carr-talents-cutout img,
body.page-id-3805 .carr-talents-cutout img {
  max-height: 280px !important;
  object-fit: contain;
  object-position: bottom right;
}

/* E. CTA-PARLER (final blue card) — Now container is hundred_percent=yes so:
      outer = full-width white bg
      inner = blue rounded card constrained to 1269px
   Override the Avada hundred_percent=yes default which removes max-width on row. */
body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature {
  background: #fff !important;
  background-color: #fff !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
body.page-id-3378 .cta-parler.carr-candidature > .fusion-builder-row,
body.page-id-3805 .cta-parler.carr-candidature > .fusion-builder-row {
  max-width: 1269px !important;
  margin: 0 auto !important;
  background: #0e60a1 !important;
  border-radius: 20px !important;
  padding: 48px 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
  flex-wrap: wrap !important;
}
@media (max-width: 1100px) {
  body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
  body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature > .fusion-builder-row,
  body.page-id-3805 .cta-parler.carr-candidature > .fusion-builder-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 32px 28px !important;
  }
}

/* F. HERO mobile: cap card width on tablet, full-width only on phone */
@media (max-width: 1100px) {
  body.page-id-3378 .carr-hero-card,
  body.page-id-3805 .carr-hero-card {
    width: 100%;
    max-width: 600px;
  }
  body.page-id-3378 .carr-hero-ctas,
  body.page-id-3805 .carr-hero-ctas { flex-wrap: wrap; }
  body.page-id-3378 .carr-hero-ctas .carr-btn,
  body.page-id-3805 .carr-hero-ctas .carr-btn { flex: 1 1 100%; }
}

/* G. CTA-PARLER override max-width — parent containers cap at 1200; we need full bleed for the white bg */
body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
body.page-id-3378 .fusion-container-anchor:has(.cta-parler.carr-candidature),
body.page-id-3805 .fusion-container-anchor:has(.cta-parler.carr-candidature) {
  max-width: none !important;
  width: 100% !important;
}
body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
}

/* H. HERO CARD position — Figma has it at x=772, y=567 in 1440×822 frame.
      Move card out of the text column and pin to bottom-right of hero section
      so it sits on the photo side, matching Figma. */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-hero-card,
  body.page-id-3805 .carr-hero-card {
    position: absolute !important;
    top: 69% !important;
    left: auto !important;
    right: clamp(40px, 8vw, 115px) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 2;
  }
}


/* H2. HERO CARD escape Avada column constraint — force all nested column
   wrappers to position:static so the absolutely-positioned card uses
   .carr-hero-wrap as its offsetParent (matching Figma layout). */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-hero-wrap .fusion-builder-row,
  body.page-id-3805 .carr-hero-wrap .fusion-builder-row,
  body.page-id-3378 .carr-hero-wrap .fusion-layout-column,
  body.page-id-3805 .carr-hero-wrap .fusion-layout-column,
  body.page-id-3378 .carr-hero-wrap .fusion-column-wrapper,
  body.page-id-3805 .carr-hero-wrap .fusion-column-wrapper {
    position: static !important;
    z-index: auto !important;
  }
  /* All inner wrappers static so the card uses .carr-hero-wrap as offsetParent */
  body.page-id-3378 .carr-hero-wrap .fusion-text,
  body.page-id-3805 .carr-hero-wrap .fusion-text,
  body.page-id-3378 .carr-hero-wrap .carr-hero,
  body.page-id-3805 .carr-hero-wrap .carr-hero {
    position: static !important;
  }
}


/* H3. HERO — replace ::before gradient overlay with background-image stack so
   we don't need positioning gymnastics. The gradient sits ABOVE the photo,
   text is normal flow, the floating CTA card uses .carr-hero-wrap as
   offsetParent (column wrappers are static via H2). */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-hero-wrap::before,
  body.page-id-3805 .carr-hero-wrap::before {
    display: none !important;
  }
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap {
    background-image:
      linear-gradient(90deg, #000 0%, #000 45%, rgba(0,0,0,0.4) 53%, rgba(0,0,0,0) 62%),
      url("/wp-content/uploads/2026/04/carrieres-hero.png") !important;
    background-position: center center, right top !important;
    background-size: cover, auto 100% !important;
    background-repeat: no-repeat, no-repeat !important;
    background-color: #000 !important;
  }
}


/* I. HERO 100VH — fill viewport minus ticker (≈50px) so hero+ticker = 100vh on landing */
@media (min-width: 1101px) {
  body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap {
    min-height: calc(100vh - 78px) !important;
    display: flex !important;
    align-items: center !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap > .fusion-builder-row,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap > .fusion-builder-row {
    width: 100%;
  }
}

/* J. HERO CARD tablet (1101–1280): not enough room for side-by-side layout —
   stack card under text so it doesn't overlap the lede paragraph */
@media (min-width: 1101px) and (max-width: 1280px) {
  body.page-id-3378 .carr-hero-card,
  body.page-id-3805 .carr-hero-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin-top: 32px !important;
    width: 100% !important;
    max-width: 600px !important;
  }
  body.page-id-3378 .carr-hero p,
  body.page-id-3805 .carr-hero p,
  body.page-id-3378 .carr-hero h1,
  body.page-id-3805 .carr-hero h1,
  body.page-id-3378 .carr-hero .carr-eyebrow,
  body.page-id-3805 .carr-hero .carr-eyebrow {
    max-width: none !important;
  }
}

/* ============================================================
   K. CARRIÈRES — APR 25 SPACING/PADDING PARITY PASS
   Match Figma section paddings + card sizes (frame 5843:204).
   Hero is intentionally taller (100vh). Everything else aligned to figma.
   ============================================================ */
@media (min-width: 1101px) {
  body.page-id-3378 .post-content .fusion-fullwidth.carr-firme-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-firme-wrap {
    padding-top: 190px !important;
    padding-bottom: 146px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-quote-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-quote-wrap {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap {
    padding-top: 134px !important;
    padding-bottom: 151px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-metier-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-metier-wrap {
    padding-top: 84px !important;
    padding-bottom: 90px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap {
    padding-top: 100px !important;
    padding-bottom: 60px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-postes-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-postes-wrap {
    padding-top: 167px !important;
    padding-bottom: 100px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
  body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* Firme cards — Figma 646×90, internal padding tighter so card collapses to 90 tall */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-firme-card,
  body.page-id-3805 .carr-firme-card {
    width: 646px !important;
    max-width: 100% !important;
    min-height: 90px !important;
    padding: 16px 24px !important;
  }
}

/* Talents cards row gap — Figma 26 */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-talents-grid,
  body.page-id-3805 .carr-talents-grid {
    row-gap: 26px !important;
  }
}

/* Talents cutout — Figma 230 tall */
body.page-id-3378 .carr-talents-cutout img,
body.page-id-3805 .carr-talents-cutout img {
  max-height: 230px !important;
}

/* Postes cards — Figma 531×157 */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-poste-card,
  body.page-id-3805 .carr-poste-card {
    min-height: 157px !important;
    height: 157px !important;
    padding: 22px 24px !important;
  }
}

/* Postes heading max-width — Figma 448 left-aligned */
body.page-id-3378 .carr-postes h2,
body.page-id-3805 .carr-postes h2 {
  max-width: 448px !important;
}

/* ============================================================
   CARRIÈRES — APR 25 ROUND 3 PARITY (Figma comparison polish)
   ============================================================ */

/* L. METIER — soften blue overlay further so the photo reads through */
body.page-id-3378 .carr-metier-img::after,
body.page-id-3805 .carr-metier-img::after {
  background: rgba(14, 96, 161, 0.08) !important;
}

/* M. TALENTS — team cutout sized to Figma proportion (682×230) */
body.page-id-3378 .carr-talents-cutout img,
body.page-id-3805 .carr-talents-cutout img {
  max-height: 250px !important;
  object-fit: cover;
  object-position: center 65%;
}
body.page-id-3378 .carr-talents-inner h2,
body.page-id-3805 .carr-talents-inner h2 {
  max-width: 700px !important;
}

/* N. TALENTS subcta tagline — beat global :not(.home) p rule (specificity 1,3,2) */
body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents-subcta-text,
body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents-subcta-text,
body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap p.carr-talents-subcta-text,
body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap p.carr-talents-subcta-text {
  color: #fff !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.26 !important;
  letter-spacing: -0.115px !important;
  text-align: right !important;
  margin: 0 !important;
  max-width: 360px;
  justify-self: end;
}
@media (max-width: 1100px) {
  body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents-subcta-text,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents-subcta-text,
  body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap p.carr-talents-subcta-text,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap p.carr-talents-subcta-text {
    font-size: 19px !important;
    text-align: left !important;
    max-width: 100%;
    justify-self: start;
  }
}

/* O. AVANTAGES cards — Figma 410×525, give them room to breathe */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-avantages,
  body.page-id-3805 .carr-avantages {
    max-width: 1340px !important;
  }
  body.page-id-3378 .carr-avantages-grid,
  body.page-id-3805 .carr-avantages-grid {
    gap: 25px !important;
  }
  body.page-id-3378 .carr-avantages-group,
  body.page-id-3805 .carr-avantages-group {
    padding: 36px 28px !important;
  }
}

/* ============================================================
   GLOBAL — Avenir Next optical text alignment fix
   Avenir Next has high cap-height + asymmetric metrics — flex-centered
   text in pills/buttons reads slightly above center. Two strategies:
   1) Inner-span elements: translate the inner span (visible shift,
      keeps the button's own background/border in place).
   2) Element-as-text (no inner span): shift padding so flex-centered
      content area is offset down within the fixed-height button.
   ============================================================ */

/* Strategy 1: inner text spans */
.fusion-button .fusion-button-text,
.fusion-button .fusion-button-text-left,
.fusion-button .fusion-button-text-right {
  transform: translateY(1px);
}

/* Strategy 2: padding offset for buttons whose root IS the text container.
   Total padding kept constant so button height doesn't change. */
.carrieres-pill {
  padding-top: 2px !important;
  padding-bottom: 0 !important;
}
body.page-id-3378 .carr-btn,
body.page-id-3805 .carr-btn,
body.page-id-3378 .carr-btn-primary,
body.page-id-3805 .carr-btn-primary,
body.page-id-3378 .carr-btn-outline-white,
body.page-id-3805 .carr-btn-outline-white {
  padding-top: 15px !important;
  padding-bottom: 11px !important;
}
body.page-id-3378 .carr-btn-spontaneous,
body.page-id-3805 .carr-btn-spontaneous {
  padding-top: 18px !important;
  padding-bottom: 14px !important;
}
body.page-id-3378 .carr-poste-tag,
body.page-id-3805 .carr-poste-tag {
  padding-top: 5px !important;
  padding-bottom: 3px !important;
}
/* Hero-ctas variant overrides .carr-btn padding to 0 18 — re-add vertical
   padding split + reduce min-height to keep visual height (~45px) */
body.page-id-3378 .carr-hero-ctas .carr-btn,
body.page-id-3805 .carr-hero-ctas .carr-btn {
  padding: 15px 18px 11px 18px !important;
  height: auto !important;
}

/* ============================================================
   CARRIÈRES — APR 25 RESPONSIVENESS PASS (full-width sweep fixes)
   1. Normalize all section content rails to 1280px max-width
   2. Extend hero text-only breakpoint to ≤1180 (avoid cramped photo)
   3. Add tablet breakpoint (768–1099) with 2-col avantages + postes
   4. Talents grid: flexible instead of fixed 260px columns
   5. Cap firme/metier images at narrow widths so they don't dominate
   ============================================================ */

/* 1. NORMALIZE CONTAINER WIDTHS so all sections share the same content rail */
body.page-id-3378 .carr-firme,
body.page-id-3805 .carr-firme,
body.page-id-3378 .carr-metier,
body.page-id-3805 .carr-metier,
body.page-id-3378 .carr-avantages,
body.page-id-3805 .carr-avantages,
body.page-id-3378 .carr-talents-inner,
body.page-id-3805 .carr-talents-inner,
body.page-id-3378 .carr-postes,
body.page-id-3805 .carr-postes {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  box-sizing: border-box !important;
}
/* candidature banner card: keep its 1269 inner card but make its outer match */
body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row,
body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row {
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* 2. HERO — keep photo on mobile/tablet with stronger overlay for legibility. */
@media (max-width: 1100px) {
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap {
    background-size: cover !important;
    background-position: 70% center !important;
  }
  body.page-id-3378 .carr-hero-wrap::before,
  body.page-id-3805 .carr-hero-wrap::before { background: rgba(0,0,0,0.75) !important; }
}

/* 3. TABLET (768–1099) — give avantages + postes 2 columns instead of stacking */
@media (min-width: 768px) and (max-width: 1099px) {
  body.page-id-3378 .carr-avantages-grid,
  body.page-id-3805 .carr-avantages-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  /* third (odd) card centers itself across the row */
  body.page-id-3378 .carr-avantages-grid > .carr-avantages-group:nth-child(3),
  body.page-id-3805 .carr-avantages-grid > .carr-avantages-group:nth-child(3) {
    grid-column: 1 / -1;
    max-width: calc(50% - 12px);
    justify-self: center;
  }
  body.page-id-3378 .carr-postes-grid,
  body.page-id-3805 .carr-postes-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  /* Cap firme placeholder and métier image so they don't take 600px+ vertical */
  body.page-id-3378 .carr-firme-right,
  body.page-id-3805 .carr-firme-right {
    aspect-ratio: auto !important;
    height: 320px !important;
    max-width: 600px !important;
    margin: 0 auto !important;
  }
  body.page-id-3378 .carr-metier-img,
  body.page-id-3805 .carr-metier-img {
    aspect-ratio: 16 / 9 !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 4. TALENTS GRID at desktop — flexible cards centered, capped width
   prevents the 3×260 fixed grid from looking marooned in a 1280 rail. */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-talents-grid,
  body.page-id-3805 .carr-talents-grid {
    grid-template-columns: repeat(3, minmax(260px, 320px)) !important;
    justify-content: center !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 5. SAFETY — no element should overflow its parent on the carrières page */
body.page-id-3378 .post-content .fusion-fullwidth[class*="carr-"] img,
body.page-id-3805 .post-content .fusion-fullwidth[class*="carr-"] img {
  max-width: 100%;
  height: auto;
}
body.page-id-3378 .post-content .fusion-fullwidth[class*="carr-"],
body.page-id-3805 .post-content .fusion-fullwidth[class*="carr-"] {
  overflow-x: clip;
}

/* 6. NORMALIZE PARENT FUSION-BUILDER-ROW for sections whose Avada column
   default-caps at 1200. Apply only to avantages + postes (firme/talents are
   already full-bleed). */
body.page-id-3378 .carr-av-wrap .fusion-builder-row,
body.page-id-3805 .carr-av-wrap .fusion-builder-row,
body.page-id-3378 .carr-postes-wrap .fusion-builder-row,
body.page-id-3805 .carr-postes-wrap .fusion-builder-row {
  max-width: 1280px !important;
  width: 100% !important;
}
body.page-id-3378 .carr-av-wrap .fusion-layout-column,
body.page-id-3805 .carr-av-wrap .fusion-layout-column,
body.page-id-3378 .carr-postes-wrap .fusion-layout-column,
body.page-id-3805 .carr-postes-wrap .fusion-layout-column {
  width: 100% !important;
  max-width: none !important;
}

/* ============================================================
   CARRIÈRES — APR 25 PROPORTION/SPACING TIGHTEN
   Page was 635px taller than Figma at 1440; trim section paddings
   and inner gaps to match design intent.
   ============================================================ */
@media (min-width: 1101px) {
  /* FIRME: 190/146 → 140/100 */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-firme-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-firme-wrap {
    padding-top: 140px !important;
    padding-bottom: 100px !important;
  }
  /* AVANTAGES: 134/151 → 80/60, tighten intro margin */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages-intro,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages-intro {
    margin-bottom: 36px !important;
  }
  /* METIER: 84/90 → 70/70 */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-metier-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-metier-wrap {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  /* TALENTS: 100/60 → 60/40, tighten grid bottom margin */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.page-id-3378 .carr-talents,
  body.page-id-3805 .carr-talents {
    padding: 60px 30px 40px !important;
  }
  body.page-id-3378 .carr-talents-grid,
  body.page-id-3805 .carr-talents-grid {
    margin-bottom: 40px !important;
  }
  /* POSTES: 167/100 → 100/80 */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-postes-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-postes-wrap {
    padding-top: 100px !important;
    padding-bottom: 80px !important;
  }
  /* CANDIDATURE: 40/40 → 60/60 (was a touch tight) */
  body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
  body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
}

/* AVANTAGES cards width: 363→~400 by widening row max-width to 1340
   (Figma cards are 410, 3-up + 30 gap = 1290 inner) */
@media (min-width: 1101px) {
  body.page-id-3378 .carr-av-wrap .fusion-builder-row,
  body.page-id-3805 .carr-av-wrap .fusion-builder-row {
    max-width: 1340px !important;
  }
  body.page-id-3378 .carr-avantages,
  body.page-id-3805 .carr-avantages {
    max-width: 1340px !important;
  }
}

/* CARRIÈRES — Allow headings to wrap on tablet/mobile */
@media (max-width: 1099px) {
  body.page-id-3378 .carr-firme h2,
  body.page-id-3805 .carr-firme h2,
  body.page-id-3378 .carr-postes h2,
  body.page-id-3805 .carr-postes h2 {
    white-space: normal !important;
  }
}

/* === CARRIÈRES — APR 25 FIGMA-PARITY ROUND 4 (hero CTA, quote line, hero crop) === */

/* 1. Hero CTA card → floating bottom-right at >=1280, 2 buttons in row */
@media (min-width: 1280px) {
  body.page-id-3378 .carr-hero,
  body.page-id-3805 .carr-hero {
    max-width: 1266px !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
    position: relative !important;
    min-height: 560px !important;
  }
  body.page-id-3378 .carr-hero h1,
  body.page-id-3805 .carr-hero h1,
  body.page-id-3378 .carr-hero .carr-lede,
  body.page-id-3805 .carr-hero .carr-lede,
  body.page-id-3378 .carr-hero > p,
  body.page-id-3805 .carr-hero > p {
    max-width: 535px !important;
  }
  body.page-id-3378 .carr-hero-card,
  body.page-id-3805 .carr-hero-card {
    position: absolute !important;
    top: auto !important;
    right: 60px !important;
    bottom: 60px !important;
    left: auto !important;
    transform: none !important;
    margin-top: 0 !important;
    width: 553px !important;
    max-width: calc(50% - 60px) !important;
    height: auto !important;
    padding: 28px 32px !important;
    z-index: 2;
  }
  body.page-id-3378 .carr-hero-ctas,
  body.page-id-3805 .carr-hero-ctas {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    gap: 15px !important;
  }
  body.page-id-3378 .carr-hero-ctas br,
  body.page-id-3805 .carr-hero-ctas br { display: none !important; }
  body.page-id-3378 .carr-hero-ctas .carr-btn,
  body.page-id-3805 .carr-hero-ctas .carr-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 45px !important;
    padding: 0 18px !important;
    font-size: 16px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* 2. Quote band → vertical accent line on right edge (Figma Line 13) */
body.page-id-3378 .carr-quote-wrap,
body.page-id-3805 .carr-quote-wrap { position: relative; }
body.page-id-3378 .carr-quote-wrap::after,
body.page-id-3805 .carr-quote-wrap::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 75px;
  transform: translateY(-50%);
  width: 1px;
  height: 69px;
  background: rgba(255,255,255,0.5);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 1099px) {
  body.page-id-3378 .carr-quote-wrap::after,
  body.page-id-3805 .carr-quote-wrap::after { display: none; }
}

/* 3. Hero photo crop — keep both surveyors visible at 1180-1440 */
@media (min-width: 1180px) and (max-width: 1440px) {
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap {
    background-size: cover !important;
    background-position: 75% center !important;
  }
}

/* === CARRIÈRES — APR 25 ROUND 5: buttons natural width, no stretch === */
body.page-id-3378 .carr-hero-ctas,
body.page-id-3805 .carr-hero-ctas {
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
body.page-id-3378 .carr-hero-ctas .carr-btn,
body.page-id-3805 .carr-hero-ctas .carr-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  align-self: flex-start !important;
  padding: 13px 22px !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}
@media (max-width: 600px) {
  body.page-id-3378 .carr-hero-ctas .carr-btn,
  body.page-id-3805 .carr-hero-ctas .carr-btn {
    flex: 0 0 auto !important;
    width: auto !important;
  }
}
/* Site-wide carr-btn safety: never let .carr-btn stretch unless explicitly told */
body.page-id-3378 .carr-btn,
body.page-id-3805 .carr-btn {
  width: auto !important;
  align-self: flex-start;
}

/* Equalize hero CTA button heights (outline has 2px border, primary has none) */
body.page-id-3378 .carr-hero-ctas .carr-btn-primary,
body.page-id-3805 .carr-hero-ctas .carr-btn-primary {
  border: 2px solid transparent !important;
}

/* === CARRIÈRES — APR 25 ROUND 6: candidature blue CTA Figma parity === */
/* Figma 5843:445 — 1269×262, rounded 20, tighter padding */
body.page-id-3378 .cta-parler.carr-candidature .fusion-column-wrapper,
body.page-id-3805 .cta-parler.carr-candidature .fusion-column-wrapper {
  background-color: #0e60a1 !important;
  border-radius: 20px !important;
  padding: 48px 80px !important;
  max-width: 1269px !important;
  min-height: 262px !important;
  display: flex !important;
  align-items: center !important;
}
body.page-id-3378 .cta-parler.carr-candidature,
body.page-id-3805 .cta-parler.carr-candidature {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-column-content-centered,
body.page-id-3805 .cta-parler.carr-candidature .fusion-column-content-centered {
  width: 100%;
}
body.page-id-3378 .cta-parler.carr-candidature h2,
body.page-id-3805 .cta-parler.carr-candidature h2 {
  font-size: 33px !important;
  line-height: 1.2 !important;
  margin: 0 0 14px 0 !important;
  white-space: normal !important;
}
body.page-id-3378 .cta-parler.carr-candidature p,
body.page-id-3805 .cta-parler.carr-candidature p {
  font-size: 17px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  max-width: 760px;
}
/* Restore Figma white-outlined button (orange-fill from older block was wrong) */
body.page-id-3378 .cta-parler.carr-candidature .fusion-button,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button {
  background-color: transparent !important;
  background-image: none !important;
  border: 2px solid #ffffff !important;
  border-radius: 50px !important;
  height: 55px !important;
  min-width: 264px;
  padding: 0 32px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button:hover,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button:hover {
  background-color: rgba(255,255,255,0.15) !important;
  background-image: none !important;
}
body.page-id-3378 .cta-parler.carr-candidature .fusion-button .fusion-button-text,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button .fusion-button-text {
  color: #ffffff !important;
}

/* Tablet / mobile — stack centered */
@media (max-width: 900px) {
  body.page-id-3378 .cta-parler.carr-candidature .fusion-column-wrapper,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-column-wrapper {
    padding: 36px 28px !important;
    min-height: 0 !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature .fusion-column-content,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-column-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature h2,
  body.page-id-3805 .cta-parler.carr-candidature h2 { font-size: 24px !important; }
}

/* === CARRIÈRES — APR 25 ROUND 7: undo nested blue card === */
/* The candidature CTA already has the blue card on .fusion-builder-row (line 8813).
   Older generic .cta-parler .fusion-column-wrapper rule (line 1504) painted ANOTHER
   blue card inside it. Make the inner wrapper transparent for THIS section only. */
body.page-id-3378 .cta-parler.carr-candidature .fusion-column-wrapper,
body.page-id-3805 .cta-parler.carr-candidature .fusion-column-wrapper {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  display: block !important;
  overflow: visible !important;
}
/* Ensure the .fusion-builder-row card height stays at Figma 262 */
body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row,
body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row {
  min-height: 262px !important;
  padding: 48px 80px !important;
}
/* Tighten the section's outer padding so the card breathes without dwarfing */
body.page-id-3378 .post-content .fusion-fullwidth.cta-parler.carr-candidature,
body.page-id-3805 .post-content .fusion-fullwidth.cta-parler.carr-candidature {
  padding-top: 60px !important;
  padding-bottom: 80px !important;
}

/* === CARRIÈRES — APR 25 ROUND 7b: mobile padding for candidature CTA === */
@media (max-width: 1100px) {
  body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row {
    padding: 36px 28px !important;
    min-height: 0 !important;
  }
}

/* === CARRIÈRES — APR 25 ROUND 8: tablet H2 ramp + hero crop ≥1440 === */

/* H2 type ramp 1100-1280: 48 → 36 / 40 → 32 / clamp scales */
@media (max-width: 1280px) {
  body.page-id-3378 .carr-firme h2,
  body.page-id-3805 .carr-firme h2,
  body.page-id-3378 .carr-metier h2,
  body.page-id-3805 .carr-metier h2,
  body.page-id-3378 .carr-talents h2,
  body.page-id-3805 .carr-talents h2,
  body.page-id-3378 .carr-postes h2,
  body.page-id-3805 .carr-postes h2 {
    font-size: clamp(32px, 3.4vw, 48px) !important;
    line-height: 1.15 !important;
  }
  body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages h2,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap .carr-avantages h2 {
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height: 1.15 !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature h2,
  body.page-id-3805 .cta-parler.carr-candidature h2 {
    font-size: clamp(24px, 2.6vw, 33px) !important;
  }
}

/* Hero photo crop — extend cover/75% center to ALL widths ≥1180 (was capped at 1440) */
@media (min-width: 1180px) {
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap {
    background-size: cover !important;
    background-position: 75% center !important;
  }
}

/* === CARRIÈRES — APR 25 ROUND 8b: tablet H2 ramp with 4-class chain === */
@media (max-width: 1280px) {
  body.page-id-3378 .post-content .fusion-fullwidth.carr-firme-wrap .carr-firme h2,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-firme-wrap .carr-firme h2,
  body.page-id-3378 .post-content .fusion-fullwidth.carr-metier-wrap .carr-metier h2,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-metier-wrap .carr-metier h2,
  body.page-id-3378 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents h2,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-talents-wrap .carr-talents h2,
  body.page-id-3378 .post-content .fusion-fullwidth.carr-postes-wrap .carr-postes h2,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-postes-wrap .carr-postes h2 {
    font-size: clamp(32px, 3.4vw, 48px) !important;
    line-height: 1.15 !important;
  }
}

/* ============================================================
   APR 25 — SITE-WIDE OPTICAL ALIGNMENT SWEEP (PRE-LAUNCH)
   Beats all earlier symmetric-padding overrides because it lives
   at end of file. Each selector is the result of an audit at
   1440/1100/375 across home, carrières, services, contact, soumission.
   ============================================================ */

/* (1)(2) Carrières hero CTAs — round-4 wiped the asymmetric padding */
body.page-id-3378 .carr-hero-ctas .carr-btn,
body.page-id-3805 .carr-hero-ctas .carr-btn,
body.page-id-3378 .carr-hero-ctas .carr-btn-primary,
body.page-id-3805 .carr-hero-ctas .carr-btn-primary,
body.page-id-3378 .carr-hero-ctas .carr-btn-outline-white,
body.page-id-3805 .carr-hero-ctas .carr-btn-outline-white {
  padding-top: 15px !important;
  padding-bottom: 11px !important;
}

/* (3) Footer CTA — global, every page */
.footer-cta-btn,
.footer-cta-btn .fusion-button-text {
  /* element-as-text: shift via padding */
}
.footer-cta-btn {
  padding-top: 14px !important;
  padding-bottom: 10px !important;
}
/* If the footer button has an inner span, also shift it 1px */
.footer-cta-btn > span,
.footer-cta-btn .fusion-button-text { transform: translateY(1px); }

/* (4) Trouvez pill (homepage hero / contact intro) */
.trouvez-pill { padding-top: 2px !important; padding-bottom: 0 !important; }
.trouvez-pill > span { transform: translateY(1px); }

/* (5) Rigueur pill — homepage values switcher */
.rigueur-pill { padding-top: 2px !important; padding-bottom: 0 !important; }

/* (6) Rigueur button — homepage la-rigueur section CTA */
.rigueur-btn,
.rigueur-btn .fusion-button-text,
.rigueur-btn > span { /* both strategies */ }
.rigueur-btn { padding-top: 14px !important; padding-bottom: 10px !important; }
.rigueur-btn > span,
.rigueur-btn .fusion-button-text { transform: translateY(1px); }

/* (7) Services "Vous ne savez pas..." pourquoi CTA */
.services-pourquoi-btn { padding-top: 18px !important; padding-bottom: 14px !important; }
.services-pourquoi-btn > span,
.services-pourquoi-btn .fusion-button-text { transform: translateY(1px); }

/* (8) Contact office badges */
.contact-office-badge { padding-top: 4px !important; padding-bottom: 2px !important; }

/* (9) Soumission pill */
.soumission-pill { padding-top: 2px !important; padding-bottom: 0 !important; }

/* (10) Soumission start button */
.sf-start-btn { padding-top: 14px !important; padding-bottom: 10px !important; }
.sf-start-btn > span { transform: translateY(1px); }

/* (11) Soumission CTA button */
.soumission-cta-btn { padding-top: 16px !important; padding-bottom: 12px !important; }
.soumission-cta-btn > span,
.soumission-cta-btn .fusion-button-text { transform: translateY(1px); }

/* Header nav button (Soumission) — element-as-text */
.menu-btn-cta > a,
a.menu-btn-cta-link,
li.menu-btn-cta > a {
  padding-top: 11px !important;
  padding-bottom: 9px !important;
}
li.menu-btn-cta > a > span { transform: translateY(1px); }

/* Catch-all safety: any .fusion-button on the site that DOES have an inner
   text span keeps the original strategy A rule (already at line 9402+).
   Re-asserting here so it sits below all later overrides. */
.fusion-button .fusion-button-text,
.fusion-button .fusion-button-text-left,
.fusion-button .fusion-button-text-right { transform: translateY(1px); }

/* APR 25 — optical alignment, round 2 (newly discovered) */
.choix-trigger {
  padding-top: 20px !important;
  padding-bottom: 16px !important;
}
.contact-cta-phone {
  padding-top: 12px !important;
  padding-bottom: 8px !important;
}

/* APR 25 — FR/EN parity: force stats section to identical #000 in both languages */
.stats-numbers-section { background-color: #000 !important; }


/* ================================================================
   APR 26 — Soumission hero: tighten left/right gap across widths
   Switches absolute-positioned card to flex layout with gap clamp,
   so the two columns visually pair instead of hugging viewport edges.
   ================================================================ */
.soumission-hero-full {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(32px, 4vw, 72px) !important;
  padding: 140px clamp(24px, 4vw, 60px) 120px !important;
}
.soumission-hero-content {
  position: relative;
  z-index: 1;
  flex: 0 1 527px !important;
  max-width: 527px !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0 !important;
}
.soumission-card-float {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  flex: 0 1 461px !important;
  width: 100% !important;
  max-width: 461px !important;
  margin: 0 !important;
}
/* Tablet: still horizontal, but tighter */
@media (min-width: 1101px) and (max-width: 1280px) {
  .soumission-hero-full { gap: 36px !important; padding: 130px 32px 100px !important; }
  .soumission-hero-content { flex-basis: 460px !important; max-width: 460px !important; }
  .soumission-card-float { flex-basis: 420px !important; max-width: 420px !important; }
}
/* Mobile: stack (existing breakpoint stays but reset flex direction) */
@media (max-width: 1100px) {
  .soumission-hero-full {
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 30px !important;
  }
  .soumission-hero-content { flex-basis: auto !important; max-width: 100% !important; }
  .soumission-card-float { flex-basis: auto !important; max-width: 326px !important; width: calc(100% - 50px) !important; margin: 0 auto !important; }
}

/* ================================================================
   APR 26 v2 — Coherent button hover system
   --------------------------------------------------------------
   Strategy: never change colors that Avada already manages on
   :hover (so we don't break readability). Add the SAME visual
   language everywhere: subtle lift (-2px) + tinted shadow, with a
   shared easing curve, plus a press-down on :active.
   --------------------------------------------------------------
   Custom classes (carr-*, footer-cta-btn, choix-trigger) DO get
   color flips because Avada doesn't manage them.
   ================================================================ */

/* Universal transition timing for clickable categories */
.fusion-button,
.carr-btn,
.carr-poste-empty-link,
.footer-cta-btn,
.menu-btn-cta a, .menu-btn-cta > a,
.fusion-mobile-nav-holder li.menu-btn-cta a,
a.cmh-cta,
.choix-trigger,
.contact-cta-btn,
.contact-email-link,
.contact-office-tel,
.gform_next_button,
.gform_button,
.gform_previous_button,
.fusion-pagination a,
.trouvez-pill,
.carr-poste-card {
  transition: transform .2s cubic-bezier(0.4,0,0.2,1),
              background-color .2s cubic-bezier(0.4,0,0.2,1),
              background .2s cubic-bezier(0.4,0,0.2,1),
              color .2s cubic-bezier(0.4,0,0.2,1),
              border-color .2s cubic-bezier(0.4,0,0.2,1),
              box-shadow .2s cubic-bezier(0.4,0,0.2,1) !important;
}

/* === Universal lift + shadow on hover (any Avada button) ======== */
body .fusion-button.fusion-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.18) !important;
}
body .fusion-button.fusion-button:active {
  transform: translateY(0) !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.18) !important;
}

/* Orange-accent shadow when the button is the orange brand color */
body .fusion-button[style*="--button_gradient_top_color:#e06919"]:hover,
body .fusion-button[style*="--button_gradient_top_color: #e06919"]:hover,
body .footer-cta-btn:hover,
body .carr-btn.carr-btn-primary:hover {
  box-shadow: 0 10px 22px rgba(224,105,25,0.32) !important;
}
/* Blue-accent shadow when target is on white bg with blue ink */
body .fusion-button[style*="--button_accent_color:#0e60a1"]:hover,
body .fusion-button[style*="--button_accent_color: #0e60a1"]:hover {
  box-shadow: 0 10px 22px rgba(14,96,161,0.32) !important;
}
/* White-accent shadow on the on-blue outlined buttons (ctaparler) */
body.home .cta-parler .fusion-button:hover,
body.page-id-3378 .cta-parler.carr-candidature .fusion-button:hover,
body.page-id-3805 .cta-parler.carr-candidature .fusion-button:hover,
body.page-id-1188 .cta-parler .fusion-button:hover,
body.page-id-2640 .cta-parler .fusion-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(255,255,255,0.18) !important;
}

/* === Carrières hero buttons ===================================== */
.carr-btn.carr-btn-primary {
  box-shadow: 0 0 0 rgba(224,105,25,0);
}
.carr-btn.carr-btn-primary:hover {
  background-color: #c4680f !important;
  border-color: #c4680f !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(224,105,25,0.32) !important;
}
.carr-btn.carr-btn-primary:active {
  transform: translateY(0) !important;
  box-shadow: 0 3px 8px rgba(224,105,25,0.25) !important;
}
.carr-btn.carr-btn-outline-white:hover {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(255,255,255,0.18) !important;
}
.carr-btn.carr-btn-outline-white:active { transform: translateY(0) !important; }

/* === Footer CTA "Contactez-nous" =============================== */
.footer-cta-btn:hover {
  background-color: #c4680f !important;
  border-color: #c4680f !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(224,105,25,0.32) !important;
}
.footer-cta-btn:active { transform: translateY(0) !important; }

/* === Nav CTA "Soumission" desktop + mobile ===================== */
.fusion-main-menu li.menu-btn-cta a.fusion-arrow-highlight,
.fusion-main-menu li.menu-btn-cta > a {
  transition: background-color .2s cubic-bezier(0.4,0,0.2,1),
              color .2s cubic-bezier(0.4,0,0.2,1),
              border-color .2s cubic-bezier(0.4,0,0.2,1),
              transform .2s cubic-bezier(0.4,0,0.2,1),
              box-shadow .2s cubic-bezier(0.4,0,0.2,1) !important;
}
.fusion-main-menu li.menu-btn-cta a.fusion-arrow-highlight:hover,
.fusion-main-menu li.menu-btn-cta > a:hover,
.fusion-mobile-nav-holder li.menu-btn-cta a:hover,
#custom-mobile-header a.cmh-cta:hover {
  background-color: #e06919 !important;
  color: #ffffff !important;
  border-color: #e06919 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(224,105,25,0.30) !important;
}
.fusion-main-menu li.menu-btn-cta a:active { transform: translateY(0) !important; }

/* === "TROUVEZ VOTRE SERVICE" pill =============================== */
.trouvez-pill {
  cursor: pointer !important;
}
.trouvez-pill:hover {
  background-color: #0e60a1 !important;
  color: #ffffff !important;
  border-color: #0e60a1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(14,96,161,0.30) !important;
}
.trouvez-pill:active { transform: translateY(0) !important; }

/* === Choice tile (Tu ne sais pas) =============================== */
.choix-trigger {
  transition: transform .25s cubic-bezier(0.4,0,0.2,1),
              border-color .25s cubic-bezier(0.4,0,0.2,1),
              background-color .25s cubic-bezier(0.4,0,0.2,1),
              box-shadow .25s cubic-bezier(0.4,0,0.2,1) !important;
}
.choix-trigger:hover {
  border-color: #e06919 !important;
  background: rgba(224,105,25,0.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.35) !important;
}
.choix-trigger:active { transform: translateY(0) !important; }

/* === Form buttons (Gravity Forms) =============================== */
.soumission-card-float .gform_wrapper .gform_next_button:hover,
.soumission-card-float .gform_wrapper .gform_button:hover {
  background: #0a4f87 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(14,96,161,0.35) !important;
}
.soumission-card-float .gform_wrapper .gform_next_button:active,
.soumission-card-float .gform_wrapper .gform_button:active { transform: translateY(0) !important; }
.soumission-card-float .gform_wrapper .gform_previous_button:hover {
  background: rgba(14,96,161,0.05) !important;
  border-color: #0e60a1 !important;
  color: #0e60a1 !important;
  transform: translateY(-1px) !important;
}

/* === Text link orange (e.g. "+ Candidature spontanée") ========== */
.carr-poste-empty-link {
  text-decoration: none !important;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  padding-bottom: 2px;
}
.carr-poste-empty-link:hover {
  color: #c4680f !important;
  background-size: 100% 2px;
  transform: translateX(2px);
}

/* === Tel / email on dark ======================================== */
.contact-office-tel:hover {
  color: #e06919 !important;
}
.contact-email-link:hover {
  background: #e06919 !important;
  border-color: #e06919 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(224,105,25,0.28) !important;
}

/* === Job posting card ========================================== */
.carr-poste-card:not(.carr-poste-empty):hover {
  border-color: #e06919 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.4) !important;
}

/* === Reduced motion ============================================ */
@media (prefers-reduced-motion: reduce) {
  .fusion-button, .carr-btn, .carr-poste-empty-link, .footer-cta-btn,
  .menu-btn-cta a, a.cmh-cta, .choix-trigger, .contact-cta-btn,
  .contact-email-link, .gform_next_button, .gform_button,
  .carr-poste-card, .trouvez-pill { transition: none !important; }
  .fusion-button:hover, .carr-btn:hover, .footer-cta-btn:hover,
  .menu-btn-cta a:hover, a.cmh-cta:hover, .choix-trigger:hover,
  .gform_next_button:hover, .gform_button:hover, .carr-poste-card:hover,
  .trouvez-pill:hover { transform: none !important; }
}

/* ================================================================
   APR 26 — Carrières/Soumission: darken top band behind pill so the
   orange/warm hero photo doesn't tint the pill via simultaneous
   contrast. ::after overlays only the top ~150px, fades to clear.
   ================================================================ */
body.page-id-3378 .carr-hero-wrap,
body.page-id-3805 .carr-hero-wrap,
body.page-quote .soumission-hero-full {
  position: relative;
}
body.page-id-3378 .carr-hero-wrap::after,
body.page-id-3805 .carr-hero-wrap::after,
body.page-quote .soumission-hero-full::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 160px;
  background: linear-gradient(to bottom,
    rgba(17,17,17,0.85) 0%,
    rgba(17,17,17,0.55) 60%,
    rgba(17,17,17,0) 100%);
  pointer-events: none;
  z-index: 1;
}
/* Make sure pill + content stay above the new overlay */
body.page-id-3378 .fusion-header-wrapper,
body.page-id-3805 .fusion-header-wrapper,
body.page-quote .fusion-header-wrapper { z-index: 100; }

/* ================================================================
   APR 26 — Optical alignment recalibration
   Diagnosed: several buttons receive double correction
   (asymmetric padding + inner-span translateY) and end up bottom-
   heavy. Reduce asymmetry on the affected classes so net shift
   matches the natural ~1px Avenir Next top-heaviness, no more.
   ================================================================ */

/* carr-btn family: 4px → 2px asymmetric padding.
   Was pt:15 pb:11; now pt:14 pb:12. Net shift: +1px (was +2). */
body.page-id-3378 .carr-btn,
body.page-id-3805 .carr-btn,
body.page-id-3378 .carr-btn-primary,
body.page-id-3805 .carr-btn-primary,
body.page-id-3378 .carr-btn-outline-white,
body.page-id-3805 .carr-btn-outline-white {
  padding-top: 14px !important;
  padding-bottom: 12px !important;
}
body.page-id-3378 .carr-hero-ctas .carr-btn,
body.page-id-3805 .carr-hero-ctas .carr-btn {
  padding: 14px 18px 12px 18px !important;
}

/* footer-cta-btn: 4px → 2px. Was 14/10 now 13/11. */
.footer-cta-btn {
  padding-top: 13px !important;
  padding-bottom: 11px !important;
}

/* rigueur-btn: receives inner-span translateY(1px) AND has 4px
   asymmetric padding. Drop the duplicate translateY so only padding
   does the work (now reduced to 2px asym). */
.rigueur-btn { padding-top: 13px !important; padding-bottom: 11px !important; }
.rigueur-btn .fusion-button-text { transform: none !important; }

/* === APR 26 — Don't widen the header pill on Nous joindre =========
 * Earlier rule "body.page-contact .fusion-row { max-width: 100% }"
 * was meant for the contact-builder section but also matched the
 * header pill's .fusion-row, breaking width consistency. Scope the
 * unwidth back to where it belongs.
 * ================================================================ */
body.page-contact .fusion-header .fusion-row,
body.page-contact .fusion-header-wrapper .fusion-row {
  max-width: 1266px !important;
  padding: 10px 19px !important;
}

/* === APR 26 — Map edge fade: blend all 4 edges into page background ====
 * Replace the prior radial mask with a smoother layered mask combining
 * a centered radial fall-off + linear edge fades. The result is that
 * the map blends seamlessly into the white #fafafa page background on
 * every edge instead of showing a visible rectangle.
 * ======================================================================= */
body.page-contact .contact-hero-full::before {
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%),
    radial-gradient(ellipse 75% 75% at 50% 55%, #000 35%, rgba(0,0,0,0.6) 70%, transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image:
    linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%),
    radial-gradient(ellipse 75% 75% at 50% 55%, #000 35%, rgba(0,0,0,0.6) 70%, transparent 100%);
          mask-composite: intersect;
}

/* === APR 26 — Lock pins container to map image box exactly =============
 * Problem: .contact-map-pins used inset:0 (full hero), while map BG used
 * left:0/right:45%/top:50%/bottom:0 with background-size:contain. As
 * viewport changed, map letterboxed/pillarboxed inside sub-region —
 * pins drifted relative to map features.
 *
 * Fix: give both the map ::before and the pins container the SAME box
 * via aspect-ratio matching the source image (1061/609). Pins now use
 * % of the actual map area, so positions stay locked across widths.
 * ====================================================================== */
body.page-contact .contact-hero-full::before {
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: 0 !important;
  width: 55% !important;
  aspect-ratio: 1061 / 609 !important;
  background-size: 100% 100% !important;
}
body.page-contact .contact-map-pins {
  inset: auto auto 0 0 !important;
  width: 55% !important;
  aspect-ratio: 1061 / 609 !important;
  height: auto !important;
}

/* === APR 26 — Pin % values recalibrated to source map (1061×609) ======
 * Pin coordinates derived from the carte-contact.png city positions:
 * DDO (West Island Mtl) sits on Montreal Island; eastern townships
 * cluster (Bromont/Granby/Cowansville) further east; SJSR siège south.
 * Now that pins share the map's aspect-ratio'd box, these %s map directly
 * to the source image's pixel coordinates and stay locked across widths.
 * ====================================================================== */
body.page-contact .contact-map-pin[data-pin="ddo"]     { left: 8%  !important; top: 14% !important; }
body.page-contact .contact-map-pin[data-pin="hubert"]  { left: 16% !important; top: 22% !important; }
body.page-contact .contact-map-pin[data-pin="chambly"] { left: 22% !important; top: 32% !important; }
body.page-contact .contact-map-pin[data-pin="sjsr"]    { left: 22% !important; top: 44% !important; }
body.page-contact .contact-map-pin[data-pin="remi"]    { left: 12% !important; top: 48% !important; }
body.page-contact .contact-map-pin[data-pin="bromont"] { left: 45% !important; top: 32% !important; }
body.page-contact .contact-map-pin[data-pin="granby"]  { left: 41% !important; top: 40% !important; }
body.page-contact .contact-map-pin[data-pin="cowan"]   { left: 41% !important; top: 50% !important; }

/* === APR 26 — Pin positions calculated from real lat/lon mapping ======
 * Map source covers approximately:
 *   Lat: 45.10° (S) → 45.75° (N)
 *   Lon: -74.10° (W) → -72.40° (E)
 * Positions derived from real branch lat/lon using equirectangular
 * projection. DDO sits on Montreal Island west (verified visually
 * against the silhouette in carte-contact.png).
 * Pins share the map's aspect-ratio'd box so these stay locked at any
 * viewport width.
 * ====================================================================== */
/* Apr 27 2026 — recalibrated to reperes-carte-denicourtmigue.png (1870x906)
   Coordinates derived from actual orange-ring pixel detection on the new
   asset (scipy connected-components). Bromont is not drawn on this map,
   so its overlay is hidden below. */
body.page-contact .contact-map-pin[data-pin="ddo"]     { left: 30.5% !important; top: 49.0% !important; }
body.page-contact .contact-map-pin[data-pin="hubert"]  { left: 45.6% !important; top: 47.2% !important; }
body.page-contact .contact-map-pin[data-pin="chambly"] { left: 48.7% !important; top: 50.9% !important; }
body.page-contact .contact-map-pin[data-pin="sjsr"]    { left: 51.2% !important; top: 66.3% !important; }
body.page-contact .contact-map-pin[data-pin="remi"]    { left: 37.9% !important; top: 70.6% !important; }
body.page-contact .contact-map-pin[data-pin="granby"]  { left: 68.2% !important; top: 66.2% !important; }
body.page-contact .contact-map-pin[data-pin="cowan"]   { left: 67.6% !important; top: 76.2% !important; }
body.page-contact .contact-map-pin[data-pin="bromont"] { display: none !important; }

/* === APR 27 — Carrières mobile spacing fixes (≤1100px) ================
 * 1. Kill the dead ~200px gap between Avantages section and Métier
 * 2. Tighten talents grid spacing
 * 3. Trim Hero height so CTAs are visible above the fold
 * ====================================================================== */
@media (max-width: 1100px) {
  /* (1) Avantages section: explicit, smaller mobile padding */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-av-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-av-wrap {
    padding-top: 50px !important;
    padding-bottom: 40px !important;
  }
  /* (1) Métier section: explicit, smaller mobile padding */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-metier-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-metier-wrap {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* (2) Talents grid: more breathing room between role cards */
  body.page-id-3378 .carr-talents-grid,
  body.page-id-3805 .carr-talents-grid {
    gap: 14px !important;
    margin-bottom: 32px !important;
  }
  body.page-id-3378 .carr-roles-card,
  body.page-id-3805 .carr-roles-card,
  body.page-id-3378 .carr-talents-grid > div,
  body.page-id-3805 .carr-talents-grid > div {
    padding: 18px 12px !important;
    min-height: 78px !important;
  }
  /* (3) Hero: trim padding so CTAs are visible without full-page scroll */
  body.page-id-3378 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3805 .post-content .fusion-fullwidth.carr-hero-wrap,
  body.page-id-3378 .carr-hero-wrap,
  body.page-id-3805 .carr-hero-wrap {
    padding-top: 110px !important;
    padding-bottom: 40px !important;
  }
  /* (3) Hero text: tighter margins on mobile */
  body.page-id-3378 .carr-hero h1,
  body.page-id-3805 .carr-hero h1 {
    margin-bottom: 14px !important;
  }
  body.page-id-3378 .carr-hero p,
  body.page-id-3805 .carr-hero p {
    margin-bottom: 12px !important;
  }
}

/* === APR 27 — Hide reCAPTCHA v3 badge (Google policy compliant) ====
 * Google's ToS allows hiding the badge as long as reCAPTCHA is
 * mentioned in the privacy/legal text. Disclosure exists in
 * /avis-legaux/. Hide the floating badge with !important.
 * ================================================================== */
.grecaptcha-badge { visibility: hidden !important; }

/* === APR 27 — reCAPTCHA disclosure note (Google policy compliance) ===
 * Selectors are scoped to the soumission card to outrank
 * `.soumission-hero-full p { color: rgba(255,255,255,0.85) !important }`
 * (specificity 0,1,1) which would otherwise turn the disclosure white-on-white. */
.soumission-hero-full .recaptcha-disclosure,
.soumission-card-float .recaptcha-disclosure,
.recaptcha-disclosure {
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: rgba(0,0,0,0.55) !important;
  text-align: center !important;
  margin: 14px 4px 4px !important;
}
.soumission-hero-full .recaptcha-disclosure a,
.soumission-card-float .recaptcha-disclosure a,
.recaptcha-disclosure a {
  color: rgba(0,0,0,0.7) !important;
  text-decoration: underline !important;
}
.recaptcha-disclosure a:hover { color: #0e60a1 !important; }

/* === APR 27 — Carrières fixes ========================================
 * (a) Métier section building photo: was cropping sides via cover;
 *     show the whole building with contain.
 * (b) Talents cutout team photo: too small on mobile, raise the cap.
 * (c) Hero CTA card "Envie de rejoindre…" centered on mobile.
 * (d) Candidature blue CTA centered on mobile.
 * ===================================================================== */

/* (a) Métier building image — show full photo, no edge cropping */
body.page-id-3378 .carr-metier-img img,
body.page-id-3805 .carr-metier-img img {
  object-fit: cover !important;
  object-position: center 35% !important;
}

/* Mobile-only adjustments */
@media (max-width: 1100px) {
  /* (b) Talents cutout team picture — bigger on mobile */
  body.page-id-3378 .carr-talents-cutout img,
  body.page-id-3805 .carr-talents-cutout img {
    max-height: 420px !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: bottom center !important;
  }
  /* (c) Hero CTA card "Envie de rejoindre une équipe passionnée?" — center on mobile */
  body.page-id-3378 .carr-hero-cta,
  body.page-id-3805 .carr-hero-cta,
  body.page-id-3378 .carr-hero-cta-card,
  body.page-id-3805 .carr-hero-cta-card {
    text-align: center !important;
    align-items: center !important;
  }
  body.page-id-3378 .carr-hero-cta h3,
  body.page-id-3805 .carr-hero-cta h3,
  body.page-id-3378 .carr-hero-cta p,
  body.page-id-3805 .carr-hero-cta p {
    text-align: center !important;
  }
  body.page-id-3378 .carr-hero-ctas,
  body.page-id-3805 .carr-hero-ctas {
    justify-content: center !important;
    align-items: center !important;
  }
  /* (d) Candidature spontanée blue CTA card — center on mobile */
  body.page-id-3378 .cta-parler.carr-candidature,
  body.page-id-3805 .cta-parler.carr-candidature,
  body.page-id-3378 .cta-parler.carr-candidature .fusion-builder-row,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-builder-row,
  body.page-id-3378 .cta-parler.carr-candidature .fusion-text,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-text {
    text-align: center !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature h2,
  body.page-id-3805 .cta-parler.carr-candidature h2,
  body.page-id-3378 .cta-parler.carr-candidature p,
  body.page-id-3805 .cta-parler.carr-candidature p {
    text-align: center !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature .fusion-aligncenter,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-aligncenter {
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
  }
}

/* === APR 27 — Carrières fixes round 2 ================================
 * (a) Métier image: img must FILL the wrap (currently rendering at
 *     natural 1.5:1 inside 1:1 wrap — leaving empty space). Force
 *     width/height 100%, then object-fit can crop properly per Figma.
 * (b) Talents cutout: max-height 420 wasn't enough. Bigger.
 * ===================================================================== */
body.page-id-3378 .carr-metier-img,
body.page-id-3805 .carr-metier-img {
  overflow: hidden !important;
}
body.page-id-3378 .carr-metier-img img,
body.page-id-3805 .carr-metier-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

@media (max-width: 1100px) {
  /* (b) Talents cutout team picture — much bigger on mobile */
  body.page-id-3378 .carr-talents-cutout,
  body.page-id-3805 .carr-talents-cutout {
    max-height: none !important;
    width: 100% !important;
  }
  body.page-id-3378 .carr-talents-cutout img,
  body.page-id-3805 .carr-talents-cutout img {
    max-height: 600px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

/* === APR 27 — Talents cutout: break out of column padding on mobile = */
@media (max-width: 1100px) {
  body.page-id-3378 .carr-talents-cutout,
  body.page-id-3805 .carr-talents-cutout {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    height: auto !important;
    overflow: hidden !important;
  }
  body.page-id-3378 .carr-talents-cutout img,
  body.page-id-3805 .carr-talents-cutout img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center bottom !important;
    display: block !important;
  }
}

/* === APR 27 — Center hero CTA card + candidature blue card on mobile == */
@media (max-width: 1100px) {
  body.page-id-3378 .carr-hero-card,
  body.page-id-3805 .carr-hero-card {
    text-align: center !important;
  }
  body.page-id-3378 .carr-hero-card-title,
  body.page-id-3805 .carr-hero-card-title {
    text-align: center !important;
  }
  body.page-id-3378 .carr-hero-ctas,
  body.page-id-3805 .carr-hero-ctas {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  body.page-id-3378 .carr-hero-ctas br,
  body.page-id-3805 .carr-hero-ctas br {
    display: none !important;
  }

  /* Candidature blue CTA — center heading, paragraph, button */
  body.page-id-3378 .cta-parler.carr-candidature .fusion-text,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-text,
  body.page-id-3378 .cta-parler.carr-candidature .fusion-text *,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-text * {
    text-align: center !important;
  }
  body.page-id-3378 .cta-parler.carr-candidature .fusion-aligncenter,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-aligncenter,
  body.page-id-3378 .cta-parler.carr-candidature .fusion-button,
  body.page-id-3805 .cta-parler.carr-candidature .fusion-button {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    text-align: center !important;
  }
}

/* === APR 27 — Métier page mobile: text wrap + spacing fixes ===========
 * - Hero h1: 34→28 → 2 lines
 * - Section h2: 32→26 → 2 lines consistently
 * - Final card h2: smaller + wider container (was 171px wide forcing
 *   4-line break)
 * - Section padding 50/50 → 30/30 to remove the big gap between sections
 * ===================================================================== */
@media (max-width: 1100px) {
  /* Hero heading — tighter to fit 2 lines */
  body.page-id-3808 .metier-hero h1,
  body.page-id-3809 .metier-hero h1,
  body.page-id-3808 .metier-hero-text h1,
  body.page-id-3809 .metier-hero-text h1 {
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.4px !important;
  }
  /* Section headings */
  body.page-id-3808 .metier-section-wrap h2,
  body.page-id-3809 .metier-section-wrap h2 {
    font-size: 26px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.3px !important;
  }
  /* Final card heading — was wrapping 4 lines */
  body.page-id-3808 .metier-final-wrap h2,
  body.page-id-3809 .metier-final-wrap h2,
  body.page-id-3808 .metier-final h2,
  body.page-id-3809 .metier-final h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.3px !important;
  }
  /* Final card content area — wider, so heading can use the room */
  body.page-id-3808 .metier-final,
  body.page-id-3809 .metier-final,
  body.page-id-3808 .metier-final-card,
  body.page-id-3809 .metier-final-card,
  body.page-id-3808 .metier-final-content,
  body.page-id-3809 .metier-final-content {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  /* Tighter section padding */
  body.page-id-3808 .post-content .fusion-fullwidth.metier-section-wrap,
  body.page-id-3809 .post-content .fusion-fullwidth.metier-section-wrap {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  body.page-id-3808 .post-content .fusion-fullwidth.metier-final-wrap,
  body.page-id-3809 .post-content .fusion-fullwidth.metier-final-wrap {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Hero pad-top tighter (was 140) */
  body.page-id-3808 .post-content .fusion-fullwidth.metier-hero-wrap,
  body.page-id-3809 .post-content .fusion-fullwidth.metier-hero-wrap {
    padding-top: 110px !important;
    padding-bottom: 40px !important;
  }
}

/* === APR 27 — À propos page mobile: typography + spacing fixes ========
 * Mirrors métier-page treatment: tighten headings to fit 2 lines,
 * trim section padding 50/50 → 30/30 to remove huge gaps.
 * ===================================================================== */
@media (max-width: 1100px) {
  /* All apropos h2 — smaller so long names like "Notre mission : engagement..." fit cleanly */
  body.page-id-1189 .apropos-hero-wrap h2,
  body.page-id-1189 .apropos-timeline h2,
  body.page-id-1189 .apropos-mvv-wrap h2,
  body.page-id-1189 .apropos-long-wrap h2,
  body.page-id-3094 .apropos-hero-wrap h2,
  body.page-id-3094 .apropos-timeline h2,
  body.page-id-3094 .apropos-mvv-wrap h2,
  body.page-id-3094 .apropos-long-wrap h2 {
    font-size: 24px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.3px !important;
  }
  body.page-id-1189 .apropos-hero-wrap h1,
  body.page-id-3094 .apropos-hero-wrap h1 {
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.4px !important;
  }
  /* Tighten section padding (was 50/50) */
  body.page-id-1189 .post-content .fusion-fullwidth.apropos-timeline,
  body.page-id-1189 .post-content .fusion-fullwidth.apropos-mvv-wrap,
  body.page-id-1189 .post-content .fusion-fullwidth.apropos-long-wrap,
  body.page-id-3094 .post-content .fusion-fullwidth.apropos-timeline,
  body.page-id-3094 .post-content .fusion-fullwidth.apropos-mvv-wrap,
  body.page-id-3094 .post-content .fusion-fullwidth.apropos-long-wrap {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  /* Hero pt 140 → 110 */
  body.page-id-1189 .post-content .fusion-fullwidth.apropos-hero-wrap,
  body.page-id-3094 .post-content .fusion-fullwidth.apropos-hero-wrap {
    padding-top: 110px !important;
    padding-bottom: 40px !important;
  }
}

/* === APR 27 — Override Avada's responsive typography on apropos ======= */
@media (max-width: 1100px) {
  body.page-id-1189 .apropos-hero-wrap h2.fusion-responsive-typography-calculated,
  body.page-id-1189 .apropos-timeline h2.fusion-responsive-typography-calculated,
  body.page-id-1189 .apropos-mvv-wrap h2.fusion-responsive-typography-calculated,
  body.page-id-1189 .apropos-long-wrap h2.fusion-responsive-typography-calculated,
  body.page-id-3094 .apropos-hero-wrap h2.fusion-responsive-typography-calculated,
  body.page-id-3094 .apropos-timeline h2.fusion-responsive-typography-calculated,
  body.page-id-3094 .apropos-mvv-wrap h2.fusion-responsive-typography-calculated,
  body.page-id-3094 .apropos-long-wrap h2.fusion-responsive-typography-calculated {
    font-size: 24px !important;
    line-height: 1.18 !important;
    --fontSize: 24 !important;
  }
}

/* === APR 27 — Restore visible focus ring (WCAG 2.4.7) =================
 * Avada disables outlines globally via fusion-disable-outline. Add a
 * branded focus-visible rule so keyboard users can see what's focused.
 * focus-visible only triggers on keyboard navigation, not mouse clicks.
 * ===================================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.fusion-button:focus-visible,
.carr-btn:focus-visible,
.menu-btn-cta a:focus-visible,
.cmh-cta:focus-visible,
.choix-trigger:focus-visible,
.trouvez-pill:focus-visible,
.footer-cta-btn:focus-visible,
.contact-email-link:focus-visible {
  outline: 2px solid #e06919 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(224, 105, 25, 0.20) !important;
}

/* === SOUMISSION form — center nav buttons (Apr 27 2026) === */
.soumission-card-float .gform_wrapper .gform_page_footer,
.soumission-card-float .gform_wrapper .gform_footer {
  justify-content: center !important;
}

/* === APR 27 — New contact map (reperes-carte-denicourtmigue.png) ======
 * New map asset is 1870x906 (aspect ~2.064) and already has 8 orange
 * pin rings drawn directly on it. Override prior 1061/609 aspect-ratio
 * box and hide the duplicate overlay rings (kept clickable for the
 * office-card highlight interaction; active state still pulses blue).
 * ====================================================================== */
body.page-contact .contact-hero-full::before {
  aspect-ratio: 1870 / 906 !important;
  width: 60% !important;
}
body.page-contact .contact-map-pins {
  aspect-ratio: 1870 / 906 !important;
  width: 60% !important;
}
/* Hide the default ring (image already shows pins); keep clickable hit area */
body.page-contact .contact-map-pin {
  border-color: transparent !important;
  background: transparent !important;
}
body.page-contact .contact-map-pin::before {
  inset: -14px !important; /* slightly larger hit target */
}
/* Active state still shows the blue pulsing ring */
body.page-contact .contact-map-pin.is-active {
  border: none !important;
}

/* === APR 27 — Stronger edge feather for new map ========================
 * The 1870x906 map's prior linear+radial mask left a visible top/right
 * edge. Strengthen the mask: deeper linear fades on all sides + a
 * larger soft radial centered on Montreal so the map dissolves into
 * the page background with no visible rectangle.
 * ====================================================================== */
body.page-contact .contact-hero-full::before {
  -webkit-mask-image:
    linear-gradient(to right,  transparent 0%, #000 22%, #000 58%, transparent 88%),
    linear-gradient(to bottom, transparent 0%, #000 24%, #000 76%, transparent 100%),
    radial-gradient(ellipse 55% 80% at 38% 55%, #000 25%, rgba(0,0,0,0.8) 55%, rgba(0,0,0,0.2) 78%, transparent 92%) !important;
  -webkit-mask-composite: source-in !important;
          mask-image:
    linear-gradient(to right,  transparent 0%, #000 22%, #000 58%, transparent 88%),
    linear-gradient(to bottom, transparent 0%, #000 24%, #000 76%, transparent 100%),
    radial-gradient(ellipse 55% 80% at 38% 55%, #000 25%, rgba(0,0,0,0.8) 55%, rgba(0,0,0,0.2) 78%, transparent 92%) !important;
          mask-composite: intersect !important;
}
