@charset "UTF-8";
.g-bg-color-black {
  background-color: var(--color-black);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-black {
  color: var(--color-black);
}

.g-bg-color-white {
  background-color: var(--color-white);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-white {
  color: var(--color-white);
}

.g-bg-color-soft-grey {
  background-color: var(--color-soft-grey);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-soft-grey {
  color: var(--color-soft-grey);
}

.g-bg-color-cream-beige {
  background-color: var(--color-cream-beige);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-cream-beige {
  color: var(--color-cream-beige);
}

.g-bg-color-pale-ivory {
  background-color: var(--color-pale-ivory);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-pale-ivory {
  color: var(--color-pale-ivory);
}

.g-bg-color-taupe-gray {
  background-color: var(--color-taupe-gray);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-taupe-gray {
  color: var(--color-taupe-gray);
}

.g-bg-color-bright-rose {
  background-color: var(--color-bright-rose);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-bright-rose {
  color: var(--color-bright-rose);
}

.g-bg-color-vibrant-orange {
  background-color: var(--color-vibrant-orange);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-vibrant-orange {
  color: var(--color-vibrant-orange);
}

.g-bg-color-brick-red {
  background-color: var(--color-brick-red);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-brick-red {
  color: var(--color-brick-red);
}

.g-bg-color-berry-red {
  background-color: var(--color-berry-red);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-berry-red {
  color: var(--color-berry-red);
}

.g-bg-color-blush-pink {
  background-color: var(--color-blush-pink);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-blush-pink {
  color: var(--color-blush-pink);
}

.g-bg-color-baby-pink {
  background-color: var(--color-baby-pink);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-baby-pink {
  color: var(--color-baby-pink);
}

.g-bg-color-peach-blush {
  background-color: var(--color-peach-blush);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-peach-blush {
  color: var(--color-peach-blush);
}

.g-bg-color-coral-pink {
  background-color: var(--color-coral-pink);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-coral-pink {
  color: var(--color-coral-pink);
}

.g-bg-color-lemon-chiffon {
  background-color: var(--color-lemon-chiffon);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-lemon-chiffon {
  color: var(--color-lemon-chiffon);
}

.g-bg-color-sunny-yellow {
  background-color: var(--color-sunny-yellow);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-sunny-yellow {
  color: var(--color-sunny-yellow);
}

.g-bg-color-golden-honey {
  background-color: var(--color-golden-honey);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-golden-honey {
  color: var(--color-golden-honey);
}

.g-bg-color-sandy-tan {
  background-color: var(--color-sandy-tan);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-sandy-tan {
  color: var(--color-sandy-tan);
}

.g-bg-color-light-mint {
  background-color: var(--color-light-mint);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-light-mint {
  color: var(--color-light-mint);
}

.g-bg-color-mint-green {
  background-color: var(--color-mint-green);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-mint-green {
  color: var(--color-mint-green);
}

.g-bg-color-olive-green {
  background-color: var(--color-olive-green);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-olive-green {
  color: var(--color-olive-green);
}

.g-bg-color-earthy-olive {
  background-color: var(--color-earthy-olive);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-earthy-olive {
  color: var(--color-earthy-olive);
}

.g-bg-color-lime-green {
  background-color: var(--color-lime-green);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-lime-green {
  color: var(--color-lime-green);
}

.g-bg-color-teal-blue {
  background-color: var(--color-teal-blue);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-teal-blue {
  color: var(--color-teal-blue);
}

.g-bg-color-moss-green {
  background-color: var(--color-moss-green);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-moss-green {
  color: var(--color-moss-green);
}

.g-bg-color-forest-green {
  background-color: var(--color-forest-green);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-forest-green {
  color: var(--color-forest-green);
}

.g-bg-color-aqua-blue {
  background-color: var(--color-aqua-blue);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-aqua-blue {
  color: var(--color-aqua-blue);
}

.g-bg-color-sky-blue {
  background-color: var(--color-sky-blue);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-sky-blue {
  color: var(--color-sky-blue);
}

.g-bg-color-ocean-blue {
  background-color: var(--color-ocean-blue);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-ocean-blue {
  color: var(--color-ocean-blue);
}

.g-bg-color-deep-blue {
  background-color: var(--color-deep-blue);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-deep-blue {
  color: var(--color-deep-blue);
}

.g-bg-color-slate-gray {
  background-color: var(--color-slate-gray);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-slate-gray {
  color: var(--color-slate-gray);
}

.g-bg-color-misty-blue {
  background-color: var(--color-misty-blue);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-misty-blue {
  color: var(--color-misty-blue);
}

.g-bg-color-lavender-mist {
  background-color: var(--color-lavender-mist);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-lavender-mist {
  color: var(--color-lavender-mist);
}

.g-bg-color-cocoa-brown {
  background-color: var(--color-cocoa-brown);
  --color-text: var(--color-white);
  color: var(--color-text);
}

.g-text-color-cocoa-brown {
  color: var(--color-cocoa-brown);
}

.g-bg-color-blue-investor {
  background-color: var(--color-blue-investor);
  --color-text: var(--color-black);
  color: var(--color-text);
}

.g-text-color-blue-investor {
  color: var(--color-blue-investor);
}

/* =========================================
   1. DM Mono
   Path: wp-content/themes/hds_theme/fonts/DM_Mono/
   ========================================= */
/* Light (300) */
@font-face {
  font-family: "DM Mono";
  src: url("../fonts/DM_Mono/DMMono-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* Light Italic (300) */
@font-face {
  font-family: "DM Mono";
  src: url("../fonts/DM_Mono/DMMono-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
/* Regular (400) */
@font-face {
  font-family: "DM Mono";
  src: url("../fonts/DM_Mono/DMMono-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Italic (400) */
@font-face {
  font-family: "DM Mono";
  src: url("../fonts/DM_Mono/DMMono-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
/* Medium (500) */
@font-face {
  font-family: "DM Mono";
  src: url("../fonts/DM_Mono/DMMono-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/* Medium Italic (500) */
@font-face {
  font-family: "DM Mono";
  src: url("../fonts/DM_Mono/DMMono-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
/* =========================================
   2. Maison Neue
   Path: wp-content/themes/hds_theme/fonts/Maison_Neue/
   ========================================= */
/* ExtraLight (200) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-ExtraLight.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
/* Light (300) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* SemiLight (350) - Note: 350 est valide, sinon utilise 300 si conflit */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-SemiLight.otf") format("opentype");
  font-weight: 350;
  font-style: normal;
  font-display: swap;
}
/* Regular (400) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Medium (500) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/* SemiBold (600) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* Bold (700) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* ExtraBold (800) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-ExtraBold.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
/* Black (900) */
@font-face {
  font-family: "Maison Neue";
  src: url("../fonts/Maison_Neue/MaisonNeue-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

a {
  text-decoration: none;
  color: inherit;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

fieldset {
  border: none;
}

textarea {
  resize: vertical;
}

summary {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 0px;
}

@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:root {
  --color-black: #000000;
  --color-white: #FFFFFF;
  --color-soft-grey: #F7F8F4;
  --color-cream-beige: #FCF5E5;
  --color-pale-ivory: #EEEDD2;
  --color-taupe-gray: #AAA79E;
  --color-bright-rose: #E54C84;
  --color-vibrant-orange: #ED661B;
  --color-brick-red: #CA3C34;
  --color-berry-red: #8B113C;
  --color-blush-pink: #FFDEDB;
  --color-baby-pink: #FFBCE7;
  --color-peach-blush: #FB9C86;
  --color-coral-pink: #E7806F;
  --color-lemon-chiffon: #FFF48D;
  --color-sunny-yellow: #FABC00;
  --color-golden-honey: #E0B266;
  --color-sandy-tan: #C19C6B;
  --color-light-mint: #DBEDA4;
  --color-mint-green: #C9E6BD;
  --color-olive-green: #8C8E5B;
  --color-earthy-olive: #818612;
  --color-lime-green: #4BA632;
  --color-teal-blue: #619064;
  --color-moss-green: #3C5E37;
  --color-forest-green: #006012;
  --color-aqua-blue: #C7F2F2;
  --color-sky-blue: #4898F9;
  --color-ocean-blue: #0084AD;
  --color-deep-blue: #3443AD;
  --color-slate-gray: #D6DCE6;
  --color-misty-blue: #B1C2DD;
  --color-lavender-mist: #A385F0;
  --color-cocoa-brown: #81442A;
  --color-lemon-chiffon: #FFF48D;
  --color-blue-investor: #E9F0FD;
  --Primitives-Terciary-Lemon-chiffon: var(--color-lemon-chiffon);
  --Primitives-Terciary-Soft-grey: var(--color-soft-grey);
  --Primitives-Terciary-Pale-ivory: var(--color-pale-ivory);
  --Settings-button-text-quiet-text: #5B606A;
  --Headline-Caption-L: 2.9333333333vw;
  --Headline-Caption-XL: 4.9333333333vw;
  --Headline-Title-XL: 6.2666666667vw;
  --Headline-Title-L: 4.9333333333vw;
  --Headline-Title-M: 2.9333333333vw;
  --Headline-Title-S: 2.2666666667vw;
  --Headline-Title-XS: 1.6vw;
  --Body-Description-Desc-M: 1vw;
  --Body-Description-Label: 1.0666666667vw;
  --Body-Body-body-L: 1.8666666667vw;
  --Body-Body-body-M: 1.4vw;
  --Body-Body-body-S: 1.1333333333vw;
  --Ui-Button-button-M: 1vw;
  --Ui-Button-button-S: 0.8vw;
  --font-mono: "DM Mono", Courier, monospace;
  --font-maison-neue: "Maison Neue", Helvetica, Arial, sans-serif;
  --padding-global: 1.6vw;
  --grid: 12;
  --grid-gap: 0.8vw;
  --color-text: var(--color-black);
}

@media screen and (max-width: 1024px) {
  :root {
    --Headline-Caption-L: 7.1246819338vw;
    --Headline-Caption-XL: 11.1959287532vw;
    --Headline-Title-XL: 12.7226463104vw;
    --Headline-Title-L: 8.6513994911vw;
    --Headline-Title-M: 7.1246819338vw;
    --Headline-Title-S: 6.106870229vw;
    --Headline-Title-XS: 4.5801526718vw;
    --Body-Description-Label: 3.3078880407vw;
    --Body-Body-body-L: 5.5979643766vw;
    --Body-Body-body-M: 4.5801526718vw;
    --Body-Body-body-S: 3.8167938931vw;
    --Ui-Button-button-M: 3.5623409669vw;
    --Ui-Button-button-S: 2.7989821883vw;
    --grid-gap: 2.5445292621vw;
    --Body-Description-Desc-M: 3.8167938931vw;
  }
}
@media screen and (max-width: 624px) {
  :root {
    --Headline-Caption-L: 7.1246819338vw;
    --Headline-Caption-XL: 11.1959287532vw;
    --Headline-Title-XL: 12.7226463104vw;
    --Headline-Title-L: 8.6513994911vw;
    --Headline-Title-M: 7.1246819338vw;
    --Headline-Title-S: 6.106870229vw;
    --Headline-Title-XS: 4.5801526718vw;
    --Body-Description-Label: 3.3078880407vw;
    --Body-Body-body-L: 5.5979643766vw;
    --Body-Body-body-M: 4.5801526718vw;
    --Body-Body-body-S: 3.8167938931vw;
    --Ui-Button-button-M: 3.5623409669vw;
    --Ui-Button-button-S: 2.7989821883vw;
    --padding-global: 5.0890585242vw;
    --grid-gap: 2.5445292621vw;
    --Body-Description-Desc-M: 3.8167938931vw;
  }
}
body {
  font-family: var(--font-maison-neue);
  color: var(--color-text);
  background-color: var(--color-white);
  font-weight: 500;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
}

/* iOS exploite parfois la détection automatique pour transformer
   numéros de téléphone, adresses, etc. en liens bleus. On neutralise
   cette mise en forme pour conserver l'apparence du site. */
a[href^=tel],
a[href^=sms],
a[href^=mailto] {
  color: inherit !important;
  text-decoration: none !important;
}

.g-video-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}
.g-video-fixed video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.js-open-video {
  position: relative;
  display: block;
  overflow: hidden;
}
.js-open-video::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  transition: background 0.3s ease;
  z-index: 0;
}
.js-open-video img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- LABELS ANIMÉS (Marquee/Track) --- */
.g-label--btn {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
  overflow: hidden;
}
.g-label--btn .g-label-track {
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  will-change: transform;
}
.g-label--btn .slide-item {
  flex-shrink: 0;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--color-white);
  font-size: 8.1424936387vw;
  padding: 0 4.0712468193vw;
}
@media (min-width: 1024px) {
  .g-label--btn .slide-item {
    font-size: 3.2vw;
    padding: 0 2.1333333333vw;
  }
}
.g-label--btn.size-large .slide-item {
  font-size: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .g-label--btn.size-large .slide-item {
    font-size: 3.2vw;
  }
}
.g-label--btn.size-medium .slide-item {
  font-size: 7.1246819338vw;
  padding: 0 3.0534351145vw;
}
@media (min-width: 1024px) {
  .g-label--btn.size-medium .slide-item {
    font-size: 2.2666666667vw;
    padding: 0 1.0666666667vw;
  }
}
.g-label--btn.size-small .slide-item {
  font-size: 4.5801526718vw;
  padding: 0 2.0356234097vw;
}
@media (min-width: 1024px) {
  .g-label--btn.size-small .slide-item {
    font-size: 1.4666666667vw;
    padding: 0 0.6666666667vw;
  }
}

/* --- CONTENU RICHE (WYSIWYG) --- */
.g-content {
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
  line-height: 1.4;
  color: currentColor;
}
.g-content h1, .g-content h2, .g-content h3, .g-content h4, .g-content h5, .g-content h6 {
  font-weight: 700;
  line-height: 1.2;
  margin-top: 8.1424936387vw;
  margin-bottom: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .g-content h1, .g-content h2, .g-content h3, .g-content h4, .g-content h5, .g-content h6 {
    margin-top: 2.6666666667vw;
    margin-bottom: 1.6vw;
  }
}
.g-content h1:first-child, .g-content h2:first-child, .g-content h3:first-child, .g-content h4:first-child, .g-content h5:first-child, .g-content h6:first-child {
  margin-top: 0;
}
.g-content h1 {
  font-size: 9.6692111959vw;
}
@media (min-width: 1024px) {
  .g-content h1 {
    font-size: 3.2vw;
  }
}
.g-content h2 {
  font-size: 8.1424936387vw;
}
@media (min-width: 1024px) {
  .g-content h2 {
    font-size: 2.4vw;
  }
}
.g-content h3 {
  font-size: 6.6157760814vw;
}
@media (min-width: 1024px) {
  .g-content h3 {
    font-size: 1.8666666667vw;
  }
}
.g-content h4 {
  font-size: 5.5979643766vw;
}
@media (min-width: 1024px) {
  .g-content h4 {
    font-size: 1.6vw;
  }
}
.g-content h5 {
  font-size: 4.834605598vw;
}
@media (min-width: 1024px) {
  .g-content h5 {
    font-size: 1.3333333333vw;
  }
}
.g-content h6 {
  font-size: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .g-content h6 {
    font-size: 1.2vw;
  }
}
.g-content p, .g-content div {
  margin-bottom: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .g-content p, .g-content div {
    margin-bottom: 1.2vw;
  }
}
.g-content p:last-child, .g-content div:last-child {
  margin-bottom: 0;
}
.g-content b, .g-content strong {
  font-weight: 600;
}
.g-content a {
  text-decoration: underline;
  text-underline-offset: 0.7633587786vw;
}
@media (min-width: 1024px) {
  .g-content a {
    text-underline-offset: 0.2vw;
  }
}
.g-content ul, .g-content ol {
  margin-bottom: 5.0890585242vw;
  list-style-position: inside;
  margin-left: 10px;
}
@media (min-width: 1024px) {
  .g-content ul, .g-content ol {
    margin-bottom: 1.6vw;
    list-style-position: outside;
    margin-left: 3.4666666667vw;
  }
}
.g-content ul li, .g-content ol li {
  margin-bottom: 2.0356234097vw;
  margin-left: 1.0178117048vw;
  display: list-item;
}
@media (min-width: 1024px) {
  .g-content ul li, .g-content ol li {
    margin-bottom: 0.5333333333vw;
    margin-left: 0.5333333333vw;
  }
}
.g-content ul {
  list-style-type: disc !important;
}
.g-content ol {
  list-style-type: decimal !important;
}
.g-content blockquote {
  margin: 7.6335877863vw 0;
  padding-left: 4.0712468193vw;
  border-left: 0.7633587786vw solid currentColor;
  font-size: 4.5801526718vw;
}
@media (min-width: 1024px) {
  .g-content blockquote {
    margin: 2.6666666667vw 0;
    padding-left: 1.6vw;
    border-left: 0.2666666667vw solid currentColor;
    font-size: 1.4666666667vw;
  }
}
.g-content pre {
  font-family: var(--font-maison-neue);
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
  line-height: 1.4;
  white-space: pre-wrap;
}
.g-content img, .g-content video {
  border-radius: 1.5267175573vw;
  margin: 6.106870229vw 0;
}
@media (min-width: 1024px) {
  .g-content img, .g-content video {
    border-radius: 0.5333333333vw;
    margin: 2.1333333333vw 0;
  }
}
.g-content hr {
  margin: 8.1424936387vw 0;
}
@media (min-width: 1024px) {
  .g-content hr {
    margin: 3.2vw 0;
  }
}
.g-content td {
  padding: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .g-content td {
    padding: 1.0666666667vw;
  }
}

.text-exemple {
  font-size: 10.1781170483vw;
  width: 100%;
  position: relative;
}
@media (min-width: 1024px) {
  .text-exemple {
    font-size: 80px;
    width: 50%;
  }
}

.form-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.3333333333vw;
}
.form-item.submit {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap-reverse;
  gap: 4.0712468193vw;
  margin-top: 1.6vw;
  margin-right: 1.6vw;
}
@media (min-width: 1024px) {
  .form-item.submit {
    gap: 1.6vw;
  }
}
.form-item.submit .wpcf7-spinner {
  margin: 0;
}
.form-item.legal {
  font-size: 2.5445292621vw;
  margin-top: 11.1959287532vw;
  line-height: 1.4;
}
@media (min-width: 1024px) {
  .form-item.legal {
    font-size: 0.6666666667vw;
    margin-top: 2.9333333333vw;
  }
}
.form-item.legal a {
  display: inline;
  text-decoration: underline;
}
.form-item label, .form-item .rgpd-text {
  font-size: 3.3078880407vw;
  margin-bottom: 0.5333333333vw;
  margin-left: 1.0666666667vw;
}
@media (min-width: 1024px) {
  .form-item label, .form-item .rgpd-text {
    font-size: 0.8666666667vw;
  }
}
.form-item label a, .form-item .rgpd-text a {
  display: inline;
  text-decoration: underline;
}
.form-item .form-input {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #000000;
  background-color: #FFFFFF;
  font-size: 4.0712468193vw;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .form-item .form-input {
    height: 4vw;
    font-size: 1.0666666667vw;
  }
}
.form-item .form-input input[type=text],
.form-item .form-input input[type=email],
.form-item .form-input input[type=tel],
.form-item .form-input input[type=file],
.form-item .form-input select,
.form-item .form-input textarea {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  padding: 0 1.0666666667vw;
}
.form-item .form-input input[type=text]::-moz-placeholder, .form-item .form-input input[type=email]::-moz-placeholder, .form-item .form-input input[type=tel]::-moz-placeholder, .form-item .form-input input[type=file]::-moz-placeholder, .form-item .form-input select::-moz-placeholder, .form-item .form-input textarea::-moz-placeholder {
  color: #5B606A;
  opacity: 1;
  font-style: italic;
}
.form-item .form-input input[type=text]:-ms-input-placeholder, .form-item .form-input input[type=email]:-ms-input-placeholder, .form-item .form-input input[type=tel]:-ms-input-placeholder, .form-item .form-input input[type=file]:-ms-input-placeholder, .form-item .form-input select:-ms-input-placeholder, .form-item .form-input textarea:-ms-input-placeholder {
  color: #5B606A;
  opacity: 1;
  font-style: italic;
}
.form-item .form-input input[type=text]::placeholder,
.form-item .form-input input[type=email]::placeholder,
.form-item .form-input input[type=tel]::placeholder,
.form-item .form-input input[type=file]::placeholder,
.form-item .form-input select::placeholder,
.form-item .form-input textarea::placeholder {
  color: #5B606A;
  opacity: 1;
  font-style: italic;
}
.form-item .form-input textarea {
  padding: 1.0666666667vw;
  min-height: 30.534351145vw;
  resize: vertical;
}
@media (min-width: 1024px) {
  .form-item .form-input textarea {
    min-height: 10vw;
  }
}
.form-item .form-input:has(textarea) {
  height: auto;
}
.form-item .form-input select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  z-index: 2;
  padding: 0 2.6666666667vw 0 3vw;
}
@media (min-width: 1024px) {
  .form-item .form-input select {
    padding: 0 3.3333333333vw 0 4vw;
  }
}
.form-item .form-input .g-input-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.form-item .form-input .g-input-icon .icon-chevron {
  width: 4.0712468193vw;
  height: 4.0712468193vw;
  background: url("../images/icon-chevron-down.svg") no-repeat center/contain;
}
@media (min-width: 1024px) {
  .form-item .form-input .g-input-icon .icon-chevron {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
  }
}
.form-item .form-input .g-input-icon .icon-select {
  width: 4.0712468193vw;
  height: 4.0712468193vw;
  background: url("../images/icon-filter-list-plus.svg") no-repeat center/contain;
}
@media (min-width: 1024px) {
  .form-item .form-input .g-input-icon .icon-select {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
  }
}
.form-item .form-input .g-input-icon.left {
  left: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .form-item .form-input .g-input-icon.left {
    left: 1.3333333333vw;
  }
}
.form-item .form-input .g-input-icon.right {
  right: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .form-item .form-input .g-input-icon.right {
    right: 1.3333333333vw;
  }
}

.a-boutton {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font-size: var(--Ui-Button-button-M);
  text-transform: uppercase;
  position: relative;
  font-family: var(--font-mono);
  font-weight: 500;
  color: var(--color-text);
  display: inline-flex;
  align-items: center;
  gap: 2.0356234097vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 0;
  transition: all 0.3s ease;
}
@media (min-width: 1024px) {
  .a-boutton {
    gap: 0.5333333333vw;
    margin-right: -1.6666666667vw;
  }
}
.a-boutton.cadre {
  border: 1px solid currentColor;
  padding: 3.0534351145vw 2.5445292621vw;
}
.a-boutton.cadre:hover:after {
  width: calc(100% - 1.3333333333vw);
}
.a-boutton.cadre:after {
  bottom: 0.6666666667vw;
  left: 0.6666666667vw;
  width: calc(100% - 1.3333333333vw);
}
@media (max-width: 1023px) {
  .a-boutton.cadre:after {
    bottom: 2.5445292621vw;
    left: 2.5445292621vw;
    width: calc(100% - 5.0890585242vw);
    height: 0px;
  }
}
@media (min-width: 1024px) {
  .a-boutton.cadre {
    padding: 0.8vw 0.6666666667vw;
  }
  .a-boutton.cadre:hover {
    padding-right: 3.6vw;
  }
}
@media (min-width: 1024px) {
  .a-boutton.cadre .arrow {
    position: absolute;
    right: 1.3333333333vw;
    top: 50%;
    transform: translate(-0.6666666667vw, -50%);
    opacity: 0;
  }
}
@media (min-width: 1024px) {
  .a-boutton.cadre:hover .arrow {
    transform: translate(0, -50%);
    opacity: 1;
  }
}
.a-boutton[type=submit] {
  line-height: 110%;
  padding: 2.5445292621vw 0;
}
.a-boutton[type=submit]:after {
  width: 100%;
}
@media (min-width: 1024px) {
  .a-boutton[type=submit] {
    padding: 0.6666666667vw 0;
  }
  .a-boutton[type=submit]:hover {
    margin-right: -1.6666666667vw;
  }
}
.a-boutton.white {
  color: var(--color-white);
}
.a-boutton.white svg path {
  fill: var(--color-white) !important;
}
.a-boutton.white .mail-icon svg path {
  fill: none !important;
  stroke: white !important;
}
.a-boutton svg {
  width: 4.0712468193vw;
  margin-bottom: 0.5089058524vw;
}
@media (min-width: 1024px) {
  .a-boutton svg {
    width: 1.3333333333vw;
    margin-bottom: 0.2666666667vw;
  }
}
.a-boutton.no-underline:after {
  display: none !important;
}
.a-boutton.no-underline .arrow {
  display: none !important;
}
.a-boutton.has-icon:after {
  left: 6.106870229vw;
  width: calc(100% - 6.106870229vw);
}
@media (min-width: 1024px) {
  .a-boutton.has-icon:after {
    left: 1.8666666667vw;
    width: calc(100% - 1.6666666667vw - 1.8666666667vw);
  }
}
@media (min-width: 1024px) {
  .a-boutton.has-icon:hover:after {
    width: calc(100% - 1.8666666667vw);
  }
}
.a-boutton.small {
  font-size: var(--Ui-Button-button-S);
}
.a-boutton:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transition: all 0.3s ease;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .a-boutton:after {
    width: calc(100% - 1.6666666667vw);
  }
}
.a-boutton .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  transform: translate(0, 0);
  opacity: 1;
  width: 3.5623409669vw;
}
@media (min-width: 1024px) {
  .a-boutton .arrow {
    transform: translate(-0.2vw, 0.3333333333vw);
    opacity: 0;
    width: 1.1333333333vw;
  }
}
@media (min-width: 1024px) {
  .a-boutton:hover {
    margin-right: 0;
  }
  .a-boutton:hover:after {
    width: 100%;
  }
  .a-boutton:hover .arrow {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.a-boutton.no-link {
  cursor: default;
  text-decoration: none;
  border: 0;
}
.a-boutton.no-link:after {
  display: none;
}
.a-boutton.no-link .arrow {
  display: none;
}
.a-boutton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.a-boutton:disabled:after {
  display: none;
}

.m-header-nav {
  --nav-color-text: var(--color-white);
  --nav-color-bg: var(--color-black);
  padding: var(--padding-global);
  background-color: var(--nav-color-bg);
  display: flex;
  flex-direction: column;
  gap: var(--padding-global);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
}
.m-header-nav.black {
  --nav-color-text: var(--color-black);
  --nav-color-bg: var(--color-white);
}
@media (max-width: 623px) {
  .m-header-nav {
    background: transparent !important;
  }
}
.m-header-nav svg path {
  fill: var(--nav-color-text) !important;
}
.m-header-nav__menu {
  transition: all 0.3s ease;
}
@media (max-width: 623px) {
  .m-header-nav__menu {
    display: none;
  }
}
.m-header-nav__menu a {
  color: var(--nav-color-text) !important;
}
.m-header-nav__menu a::after {
  background-color: var(--nav-color-text) !important;
}
.m-header-nav__logo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.m-header-nav__logo .carre {
  width: 7.4vw;
  height: 7.5333333333vw;
  background-color: var(--nav-color-text);
  position: relative;
  overflow: hidden;
  transition: width 0.5s ease, height 0.5s ease;
  transform-origin: top left;
  cursor: pointer;
}
.m-header-nav__logo .carre svg {
  transition: all 0.5s ease;
  transform: translateX(100%);
}
.m-header-nav__logo .carre svg path {
  fill: var(--nav-color-bg) !important;
}
@media (max-width: 623px) {
  .m-header-nav__logo .carre {
    width: 60px;
    height: 60px;
    pointer-events: all;
  }
  .m-header-nav__logo .carre svg {
    transform: translateX(0);
  }
}
.m-header-nav__logo .logo-hopscotch {
  height: calc(7.5333333333vw + 3.5px);
  width: auto;
  transition: all 0.3s ease;
  opacity: 1;
}
.m-header-nav__logo .logo-hopscotch svg {
  height: 100%;
  width: auto;
}
@media (max-width: 623px) {
  .m-header-nav__logo .logo-hopscotch {
    display: none;
  }
}
.m-header-nav .burger-mobile {
  position: fixed;
  display: flex;
  right: 6.106870229vw;
  top: 11.1959287532vw;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 4999;
}
.m-header-nav .burger-mobile rect {
  fill: var(--nav-color-text) !important;
}
@media (min-width: 624px) {
  .m-header-nav .burger-mobile {
    display: none;
  }
}
.m-header-nav__mobile-overlay {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--color-white);
  z-index: 5000;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  transform: translateY(200%);
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  padding: 12.7226463104vw;
}
@media (min-width: 624px) {
  .m-header-nav__mobile-overlay {
    display: none;
  }
}
.m-header-nav__mobile-overlay .logo-hopscotch {
  margin-bottom: 11.4503816794vw;
}
.m-header-nav__mobile-overlay .logo-hopscotch svg path {
  fill: var(--color-black) !important;
}
.m-header-nav__mobile-overlay .m-menu nav {
  flex-direction: column;
  gap: 5.0890585242vw;
  text-align: left;
}
.m-header-nav__mobile-overlay .m-menu nav a {
  font-size: 4.0712468193vw;
  color: #000 !important;
}
.m-header-nav__mobile-overlay .close-trigger {
  margin-top: 12.7226463104vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.m-header-nav.mobile-open .m-header-nav__mobile-overlay {
  transform: translateY(0);
}
.m-header-nav.on-scroll {
  background-color: transparent !important;
  pointer-events: none;
}
.m-header-nav.on-scroll .carre {
  width: 4.8666666667vw;
  height: 4.8666666667vw;
  pointer-events: all;
}
.m-header-nav.on-scroll .carre svg {
  transform: translateX(0);
}
.m-header-nav.on-scroll .logo-hopscotch {
  opacity: 0;
}
.m-header-nav.on-scroll .m-header-nav__menu {
  pointer-events: none;
  opacity: 0;
}

@media (max-width: 623px) {
  .home .m-header-nav.transparent .m-header-nav__logo .carre {
    width: 140px;
    height: 140px;
  }
}
.admin-bar .m-header-nav {
  top: 32px;
}

.admin-bar .burger-mobile {
  top: 14.5038167939vw;
}

.home .m-header-nav.transparent {
  background: transparent !important;
}
.home .m-header-nav.transparent .black {
  background-color: transparent !important;
}

.o-footer {
  background: var(--color-black);
  padding: 10.1781170483vw;
  display: flex;
  flex-direction: column;
  gap: 10.1781170483vw;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .o-footer {
    padding: 3vw;
    gap: 2.6666666667vw;
  }
}
.o-footer__primary-nav {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
}
@media (min-width: 1024px) {
  .o-footer__primary-nav {
    flex-direction: row;
    flex-direction: row;
    align-items: center;
    gap: 4.2666666667vw;
  }
}
.o-footer__primary-nav > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 1024px) {
  .o-footer__primary-nav > div {
    flex-direction: row;
    align-items: center;
    gap: 3.3333333333vw;
  }
}
.o-footer__primary-nav > div.m-social-media {
  gap: 2vw;
}
.o-footer__primary-nav .logo {
  width: 20.3562340967vw;
  height: 20.3562340967vw;
  margin-bottom: 9.6692111959vw;
}
@media (min-width: 1024px) {
  .o-footer__primary-nav .logo {
    margin-bottom: 0;
    width: 9.5333333333vw;
    height: 9.5333333333vw;
  }
}
.o-footer__baseline {
  font-size: 3.5623409669vw;
  color: var(--color-white);
  width: 100%;
  margin-left: 1.3333333333vw;
}
@media (min-width: 1024px) {
  .o-footer__baseline {
    font-size: 1.0666666667vw;
    width: 23.4vw;
  }
}
.o-footer__secondary-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5.0890585242vw;
  margin-left: 1.3333333333vw;
}
@media (min-width: 1024px) {
  .o-footer__secondary-nav {
    flex-direction: row;
    align-items: center;
    gap: 3.3333333333vw;
  }
}
.o-footer__secondary-nav a {
  color: var(--color-white);
  font-size: 3.5623409669vw;
}
@media (min-width: 1024px) {
  .o-footer__secondary-nav a {
    font-size: inherit;
  }
}
.o-footer__secondary-nav a svg path {
  fill: var(--color-white) !important;
}
.o-footer__rs {
  padding: 0;
  display: flex;
  gap: 5.0890585242vw;
  margin-top: 27.2264631043vw;
  margin-bottom: 5.0890585242vw;
  padding-left: 16px;
}
@media (min-width: 1024px) {
  .o-footer__rs {
    padding: 0 1.3333333333vw;
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 0;
  }
}
.o-footer .copy-right {
  font-size: 3.0534351145vw;
  color: var(--color-white);
  text-align: center;
  font-family: var(--font-mono);
  text-transform: uppercase;
}
@media (min-width: 1024px) {
  .o-footer .copy-right {
    font-size: 0.8vw;
    text-align: center;
    text-transform: uppercase;
  }
}
.o-footer .language-selector svg {
  fill: var(--color-white);
}
.o-footer .language-selector .filter-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: none;
  background-color: transparent;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-footer .language-selector .filter-wrapper {
    height: 4vw;
  }
}
.o-footer .language-selector .filter-wrapper select {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  z-index: 2;
  padding: 0 10.1781170483vw 0 11.4503816794vw;
  font-size: 4.0712468193vw;
  color: #FFFFFF;
  font-family: var(--font-mono);
  text-transform: uppercase;
}
@media (min-width: 1024px) {
  .o-footer .language-selector .filter-wrapper select {
    padding: 0 3.3333333333vw 0 4vw;
    font-size: 1.2vw;
  }
}
.o-footer .language-selector .filter-wrapper select option {
  color: #000000;
  background-color: #FFFFFF;
}
.o-footer .language-selector .filter-wrapper .filter-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.o-footer .language-selector .filter-wrapper .filter-icon svg {
  width: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-footer .language-selector .filter-wrapper .filter-icon svg {
    width: 1.3333333333vw;
  }
}
.o-footer .language-selector .filter-wrapper .filter-icon svg path, .o-footer .language-selector .filter-wrapper .filter-icon svg circle, .o-footer .language-selector .filter-wrapper .filter-icon svg line, .o-footer .language-selector .filter-wrapper .filter-icon svg polyline, .o-footer .language-selector .filter-wrapper .filter-icon svg rect {
  stroke: #FFFFFF !important;
}
.o-footer .language-selector .filter-wrapper .filter-icon.left {
  left: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-footer .language-selector .filter-wrapper .filter-icon.left {
    left: 1.3333333333vw;
  }
}
.o-footer .language-selector .filter-wrapper .filter-icon.right {
  right: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-footer .language-selector .filter-wrapper .filter-icon.right {
    right: 1.3333333333vw;
  }
}

.o-page-hero {
  position: relative;
  margin: var(--padding-global);
  margin-top: 0;
  min-height: 21.3333333333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .o-page-hero {
    margin-bottom: 1.6vw;
    min-height: 60vh;
  }
}
.o-page-hero__title {
  font-size: var(--Headline-Caption-XL);
  line-height: 110%;
}

.o-section-404 {
  padding: var(--padding-global);
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-white);
}
.o-section-404__container {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  width: 100%;
}
.o-section-404__content {
  grid-column: 1/-1;
  text-align: center;
}
@media (min-width: 1024px) {
  .o-section-404__content {
    grid-column: 3/span 8;
  }
}
.o-section-404__content .error-code {
  font-family: var(--font-mono);
  font-size: 30.534351145vw;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4.0712468193vw;
  color: var(--color-black);
  opacity: 0.1;
}
@media (min-width: 1024px) {
  .o-section-404__content .error-code {
    font-size: 16.6666666667vw;
  }
}
.o-section-404__content .title {
  font-size: var(--Headline-Title-M);
  text-transform: uppercase;
  margin-top: -10.1781170483vw;
  margin-bottom: 6.106870229vw;
}
@media (min-width: 1024px) {
  .o-section-404__content .title {
    margin-top: -5.3333333333vw;
  }
}
.o-section-404__content .text {
  font-size: var(--Body-Description-Desc-M);
  max-width: 33.3333333333vw;
  margin: 0 auto 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-404__content .text {
    margin-bottom: 3.2vw;
  }
}
.o-section-404__content .cta {
  display: flex;
  justify-content: center;
}

.o-section-contact {
  padding: var(--padding-global);
  padding-top: 0;
}
.o-section-contact .success-msg {
  padding: var(--padding-global);
  font-size: var(--Ui-Button-button-L);
  background: #a7c39b;
  margin-bottom: 2.1333333333vw;
}
.o-section-contact__content {
  background: var(--color-cream-beige);
  display: grid;
  grid-template-columns: auto;
  gap: var(--padding-global);
  padding: var(--padding-global);
  margin-bottom: 12.4681933842vw;
}
@media (min-width: 1024px) {
  .o-section-contact__content {
    padding: 4.2666666667vw 8.5333333333vw;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 3.2666666667vw;
  }
}
.o-section-contact__content .left {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333vw;
  padding-right: 6.4vw;
}
.o-section-contact__content .left .titre {
  font-size: var(--Headline-Caption-L);
}
.o-section-contact__content .left .formulaires {
  border: 1px solid var(--color-black);
  border-bottom: 0;
  margin-right: 3.3333333333vw;
  display: flex;
  flex-direction: column;
}
.o-section-contact__content .left .formulaires a {
  padding: 4.0712468193vw 2.5445292621vw;
  font-size: var(--Ui-Button-button-M);
  display: flex;
  align-items: center;
  gap: 2.5445292621vw;
  text-transform: uppercase;
  background: transparent;
  transition: all 0.3s ease;
  border-bottom: 1px solid var(--color-black);
}
.o-section-contact__content .left .formulaires a:hover {
  background: var(--color-white);
}
.o-section-contact__content .left .formulaires a.active {
  background: var(--color-white);
}
@media (min-width: 1024px) {
  .o-section-contact__content .left .formulaires a {
    padding: 1.0666666667vw 0.6666666667vw;
    gap: 0.6666666667vw;
  }
}
.o-section-contact__content .left .formulaires .agency-select {
  padding: 4.0712468193vw 2.5445292621vw;
  font-size: var(--Ui-Button-button-M);
  display: flex;
  align-items: center;
  gap: 2.5445292621vw;
  text-transform: uppercase;
  background: transparent;
  transition: all 0.3s ease;
  border: 0;
  border-bottom: 1px solid var(--color-black);
  width: 100%;
  /* remove native dropdown arrows and iOS styling */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
}
.o-section-contact__content .left .formulaires .agency-select:hover {
  background: var(--color-white);
}
.o-section-contact__content .left .formulaires .agency-select.active {
  background: var(--color-white);
}
@media (min-width: 1024px) {
  .o-section-contact__content .left .formulaires .agency-select {
    padding: 1.0666666667vw 0.6666666667vw;
    gap: 0.6666666667vw;
  }
}

@media (min-width: 1024px) {
  .page-template-tpl-contact .o-page-hero {
    min-height: 30vh;
  }
}

.m-card-legal {
  background: var(--Primitives-Terciary-Soft-grey);
  padding: var(--padding-global);
}
.m-card-legal__content {
  padding: var(--padding-global);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--padding-global);
  border: 1px solid var(--color-black);
  height: 100%;
}
.m-card-legal__content .content {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}
.m-card-legal__content .content .title {
  font-size: var(--Headline-Title-XS);
  line-height: 110%;
}
.m-card-legal__content .content .category {
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
}
.m-card-legal__content .content .date {
  display: flex;
  gap: 0.3333333333vw;
  font-size: var(--Button-Button-S);
  color: #858585;
  align-items: center;
}
.m-card-legal__content .content .date .square {
  width: 0.2vw;
  height: 0.2vw;
  background-color: #858585;
}

.m-card-assemble {
  background: var(--Primitives-Terciary-Soft-grey);
  padding: var(--padding-global);
}
.m-card-assemble__content {
  padding: var(--padding-global);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--padding-global);
  border: 1px solid var(--color-black);
  height: 100%;
}
.m-card-assemble__content .content {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}
.m-card-assemble__content .content .title {
  font-size: var(--Headline-Title-XS);
  line-height: 110%;
}
.m-card-assemble__content .content .category {
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
}
.m-card-assemble__content .content .date {
  display: flex;
  gap: 0.3333333333vw;
  font-size: var(--Button-Button-S);
  color: #858585;
  align-items: center;
}
.m-card-assemble__content .content .date .square {
  width: 0.2vw;
  height: 0.2vw;
  background-color: #858585;
}

.o-section-publication-assemble {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble {
    padding-top: 6.2666666667vw;
  }
}
.o-section-publication-assemble__title {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__title {
    grid-column: 2/span 10;
  }
}
.o-section-publication-assemble__filter {
  grid-column: 1/-1;
  margin-bottom: 8.1424936387vw;
  display: flex;
  flex-direction: column;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter {
    grid-column: 2/span 10;
    flex-direction: row;
    margin-bottom: 2.1333333333vw;
    gap: 0.8vw;
  }
}
.o-section-publication-assemble__filter .filter {
  width: 100%;
  margin-bottom: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter {
    flex: 1;
    margin-bottom: 1.3333333333vw;
  }
}
.o-section-publication-assemble__filter .filter .g-input-icon {
  position: absolute;
  display: flex;
  align-items: center;
  border: 1px solid #000;
  background-color: #FFF;
  justify-content: center;
  width: 12.7226463104vw;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter .g-input-icon {
    width: 4vw;
    height: 4vw;
  }
}
.o-section-publication-assemble__filter .filter input#search {
  position: relative;
  display: flex;
  align-items: center;
  width: 85%;
  border: 1px solid #000;
  background-color: #FFF;
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
  margin-left: 12.4681933842vw;
  padding-left: 3.0534351145vw;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter input#search {
    font-size: 1.2vw;
    height: 4vw;
    margin-left: 3.9333333333vw;
    padding-left: 0.8vw;
  }
}
.o-section-publication-assemble__filter .filter-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #000000;
  background-color: #FFFFFF;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter-wrapper {
    height: 4vw;
  }
}
.o-section-publication-assemble__filter .filter-wrapper select {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  padding: 0 10.1781170483vw 0 11.4503816794vw;
  font-size: 4.0712468193vw;
  color: #000000;
  cursor: pointer;
  z-index: 2;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter-wrapper select {
    padding: 0 3.3333333333vw 0 4vw;
    font-size: 1.2vw;
  }
}
.o-section-publication-assemble__filter .filter-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.o-section-publication-assemble__filter .filter-icon svg {
  width: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter-icon svg {
    width: 1.3333333333vw;
  }
}
.o-section-publication-assemble__filter .filter-icon.left {
  left: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter-icon.left {
    left: 1.3333333333vw;
  }
}
.o-section-publication-assemble__filter .filter-icon.right {
  right: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__filter .filter-icon.right {
    right: 1.3333333333vw;
  }
}
.o-section-publication-assemble__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 10.1781170483vw;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__content {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--grid-gap);
    margin-bottom: 4.2666666667vw;
  }
}
.o-section-publication-assemble__content .link {
  grid-column: 1/-1;
  padding: 6.106870229vw 0;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__content .link {
    grid-column: 1/span 10;
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.o-section-publication-assemble__pagination {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-publication-assemble__pagination {
    grid-column: 2/span 10;
    margin-bottom: 4.2666666667vw;
  }
}

.o-section-publication-financiere {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere {
    padding-top: 6.2666666667vw;
  }
}
.o-section-publication-financiere__title {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__title {
    grid-column: 2/span 10;
  }
}
.o-section-publication-financiere__filter {
  grid-column: 1/-1;
  margin-bottom: 8.1424936387vw;
  display: flex;
  flex-direction: column;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter {
    grid-column: 2/span 10;
    flex-direction: row;
    margin-bottom: 2.1333333333vw;
    gap: 0.8vw;
  }
}
.o-section-publication-financiere__filter .filter {
  width: 100%;
  margin-bottom: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter {
    flex: 1;
    margin-bottom: 1.3333333333vw;
  }
}
.o-section-publication-financiere__filter .filter .g-input-icon {
  position: absolute;
  display: flex;
  align-items: center;
  border: 1px solid #000;
  background-color: #FFF;
  justify-content: center;
  width: 12.7226463104vw;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter .g-input-icon {
    width: 4vw;
    height: 4vw;
  }
}
.o-section-publication-financiere__filter .filter input#search {
  position: relative;
  display: flex;
  align-items: center;
  width: 85%;
  border: 1px solid #000;
  background-color: #FFF;
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
  margin-left: 12.4681933842vw;
  padding-left: 3.0534351145vw;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter input#search {
    font-size: 1.2vw;
    height: 4vw;
    margin-left: 3.9333333333vw;
    padding-left: 0.8vw;
  }
}
.o-section-publication-financiere__filter .filter-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #000000;
  background-color: #FFFFFF;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter-wrapper {
    height: 4vw;
  }
}
.o-section-publication-financiere__filter .filter-wrapper select {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  padding: 0 10.1781170483vw 0 11.4503816794vw;
  font-size: 4.0712468193vw;
  color: #000000;
  cursor: pointer;
  z-index: 2;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter-wrapper select {
    padding: 0 3.3333333333vw 0 4vw;
    font-size: 1.2vw;
  }
}
.o-section-publication-financiere__filter .filter-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.o-section-publication-financiere__filter .filter-icon svg {
  width: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter-icon svg {
    width: 1.3333333333vw;
  }
}
.o-section-publication-financiere__filter .filter-icon.left {
  left: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter-icon.left {
    left: 1.3333333333vw;
  }
}
.o-section-publication-financiere__filter .filter-icon.right {
  right: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__filter .filter-icon.right {
    right: 1.3333333333vw;
  }
}
.o-section-publication-financiere__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 10.1781170483vw;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__content {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--grid-gap);
    margin-bottom: 4.2666666667vw;
  }
}
.o-section-publication-financiere__content .link {
  grid-column: 1/-1;
  padding: 6.106870229vw 0;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__content .link {
    grid-column: 1/span 10;
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.o-section-publication-financiere__pagination {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-publication-financiere__pagination {
    grid-column: 2/span 10;
    margin-bottom: 4.2666666667vw;
  }
}

.o-investisseurs-sections {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 0;
}
.o-investisseurs-sections .sections {
  grid-column: 1/-1;
  order: 2;
}
.o-investisseurs-sections .nav {
  grid-column: 1/-1;
  padding-left: 0;
  margin-bottom: 8.1424936387vw;
  order: 1;
}
.o-investisseurs-sections .nav ul {
  display: flex;
  flex-direction: column;
  gap: 4.0712468193vw;
  border-bottom: 1px solid var(--color-black);
  padding-bottom: 6.106870229vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-sections .sections {
    grid-column: 1/span 8;
    order: 1;
  }
  .o-investisseurs-sections .nav {
    grid-column: 9/span 3;
    padding-left: calc(36px + var(--grid-gap));
    margin-bottom: 0;
    order: 2;
  }
  .o-investisseurs-sections .nav ul {
    flex-direction: column;
    border-bottom: none;
    padding-bottom: 0;
  }
}

.o-investisseurs-sections .sections .list-invest {
  border: 1px solid var(--color-black);
}
.o-investisseurs-sections .sections .list-invest .item-invest {
  padding: 6.106870229vw;
  border-bottom: 1px solid var(--color-black);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 1024px) {
  .o-investisseurs-sections .sections .list-invest .item-invest {
    padding: 2.1333333333vw;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.o-investisseurs-sections .sections .list-invest .item-invest .title {
  font-size: 7.1246819338vw;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-sections .sections .list-invest .item-invest .title {
    font-size: 3.2vw;
    margin-bottom: 0;
  }
}
.o-investisseurs-sections .sections .list-invest .item-invest:last-child {
  border-bottom: none;
}
@media (min-width: 1024px) {
  .o-investisseurs-sections .sections .list-invest .item-invest:hover {
    background: var(--color-blush-pink);
  }
}

.o-investisseurs-action {
  margin-bottom: 5.2666666667vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-action {
    display: grid;
    grid-template-columns: repeat(var(--grid), 1fr);
    gap: var(--grid-gap);
  }
}
.o-investisseurs-action .a-title-label {
  margin-bottom: 0;
}
.o-investisseurs-action__title {
  padding: var(--padding-global);
  grid-column: 2/span 6;
}
.o-investisseurs-action__content {
  grid-column: 1/span 12;
  padding: var(--padding-global);
  background: var(--color-slate-gray);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
}
.o-investisseurs-action__content .card {
  grid-column: 2/span 10;
  padding-top: 1.6vw;
  padding-bottom: 1.6vw;
  display: flex;
}
@media (max-width: 1023px) {
  .o-investisseurs-action__content .card {
    flex-direction: column;
    gap: 8.9058524173vw;
  }
}
.o-investisseurs-action__content .card .right, .o-investisseurs-action__content .card .left {
  flex: 1;
}
.o-investisseurs-action__content .card .left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.3333333333vw;
  padding-right: 6.0666666667vw;
}
.o-investisseurs-action__content .card .left .content {
  line-height: 140%;
  font-size: var(--Ui-Button-button-M);
  font-family: var(--font-mono);
  margin-bottom: 4.6666666667vw;
  display: flex;
  flex-direction: column;
  gap: 2.3333333333vw;
}
.o-investisseurs-action__content .card .right {
  min-height: 30.2vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.o-investisseurs-action__content .card .right .image {
  width: 100%;
}
.o-investisseurs-action__content .card .right .image img {
  width: 100%;
  height: auto;
}

.o-investisseurs-as {
  margin-bottom: 2.9333333333vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-as {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: var(--grid-gap);
  }
}
.o-investisseurs-as__content {
  grid-column: 2/span 6;
  padding-top: 1.6vw;
  padding-bottom: 1.6vw;
}
.o-investisseurs-as__content .card {
  display: flex;
}
.o-investisseurs-as__content .card .right, .o-investisseurs-as__content .card .left {
  flex: 1;
}
.o-investisseurs-as__content .card .left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.2vw;
  border: 1px solid var(--color-black);
  padding: 1.8666666667vw;
}
.o-investisseurs-as__content .card .left .title {
  font-size: var(--Headline-Caption-L);
  font-weight: 400;
}
.o-investisseurs-as__content .card .left .content {
  margin-bottom: 2.1333333333vw;
}
.o-investisseurs-as__content .card .right {
  position: relative;
  min-height: 27.6vw;
}
.o-investisseurs-as__content .card .center {
  flex: 1;
  position: relative;
  min-height: 27.6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.2vw;
  padding: 1.8666666667vw 2.9333333333vw;
}
.o-investisseurs-as__content .card .center .title {
  font-size: var(--Headline-Caption-L);
  font-weight: 400;
  line-height: 120%;
}
.o-investisseurs-as__content .card .center .content {
  margin-bottom: 2.1333333333vw;
}

.o-investisseurs-agenda {
  margin-bottom: 11.9333333333vw;
  display: flex;
  flex-direction: column;
  gap: 6.106870229vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-agenda {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: var(--grid-gap);
    margin-bottom: 5.2666666667vw;
  }
}
.o-investisseurs-agenda .a-title-label {
  margin-bottom: 0;
}
.o-investisseurs-agenda__content {
  grid-column: 2/span 6;
  padding-top: 1.6vw;
  padding-bottom: 1.6vw;
}
.o-investisseurs-agenda .date {
  display: flex;
  gap: 0.3333333333vw;
  font-size: var(--Ui-Button-button-M);
  color: #858585;
  align-items: center;
}
.o-investisseurs-agenda .date .square {
  width: 0.2vw;
  height: 0.2vw;
  background-color: #858585;
}
.o-investisseurs-agenda__filter {
  grid-column: 2/span 6;
  display: flex;
  gap: 1.0666666667vw;
}
.o-investisseurs-agenda__filter .annees {
  display: flex;
  align-items: center;
  padding: 1.6vw 0;
  gap: 3.2vw;
}
.o-investisseurs-agenda__filter .annees .annee {
  display: flex;
  align-items: center;
  gap: 0.4666666667vw;
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
  padding: 0.2vw 1px;
}
.o-investisseurs-agenda__filter .annees .annee.active {
  background: var(--color-slate-gray);
}
.o-investisseurs-agenda__filter .annees .annee:hover {
  text-decoration: underline;
}
.o-investisseurs-agenda__list {
  grid-column: 2/span 6;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-black);
  border-bottom: none;
}
.o-investisseurs-agenda__list .item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.0666666667vw 1.4666666667vw;
  border-bottom: 1px solid var(--color-black);
}
.o-investisseurs-agenda__list .item .title {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
}
.o-investisseurs-agenda__list-highlight {
  grid-column: 2/span 6;
  display: flex;
  gap: 1.6vw;
  margin-bottom: 1.6vw;
}
.o-investisseurs-agenda__list-highlight .item {
  padding: 1.4666666667vw;
  background-color: var(--color-slate-gray);
  flex: 1;
}
.o-investisseurs-agenda__list-highlight .item .item-content {
  padding: 1.4666666667vw 1.2vw;
  display: flex;
  flex-direction: column;
  gap: 1.2vw;
  border: 1px solid var(--color-black);
  height: 100%;
}
.o-investisseurs-agenda__list-highlight .item .item-content .month {
  font-size: var(--Headline-Title-M);
  font-weight: 400;
  line-height: 1;
}
.o-investisseurs-agenda__list-highlight .item .item-content .title {
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
}

.o-investisseurs-investissement {
  margin-bottom: 5.2666666667vw;
}
.o-investisseurs-investissement__content {
  padding: 0 var(--padding-global);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
}
.o-investisseurs-investissement__content .a-title-label {
  grid-column: 1/span 8;
}
@media (min-width: 1024px) {
  .o-investisseurs-investissement__content .a-title-label {
    grid-column: 2/span 6;
    margin-bottom: 1.6vw;
    padding: 0;
  }
}

.o-investisseurs-publications-financieres {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: var(--grid-gap);
  margin-bottom: 5.2666666667vw;
}
.o-investisseurs-publications-financieres__content {
  grid-column: 2/span 6;
}
.o-investisseurs-publications-financieres__content .lien {
  margin-top: 2.1333333333vw;
}
.o-investisseurs-publications-financieres__content .annees {
  display: flex;
  align-items: center;
  padding: 1.6vw 0;
  gap: 3.2vw;
}
.o-investisseurs-publications-financieres__content .annees .annee {
  display: flex;
  align-items: center;
  gap: 0.4666666667vw;
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
  padding: 0.2vw 1px;
}
.o-investisseurs-publications-financieres__content .annees .annee.active {
  background: var(--color-slate-gray);
}
.o-investisseurs-publications-financieres__content .annees .annee:hover {
  text-decoration: underline;
}
.o-investisseurs-publications-financieres__content .tableau {
  padding: 1.6vw 0;
  display: none;
}
.o-investisseurs-publications-financieres__content .tableau.active {
  display: block;
}
.o-investisseurs-publications-financieres__content .tableau .valeur {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.4666666667vw;
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
  width: 6.7333333333vw;
  height: 3.2666666667vw;
  flex-grow: 0;
  flex-shrink: 0;
  border-left: 1px solid var(--color-black);
}
.o-investisseurs-publications-financieres__content .tableau .header-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 0.8vw;
}
.o-investisseurs-publications-financieres__content .tableau .row {
  background: var(--color-slate-gray);
  padding: 0.8vw;
  margin-bottom: 2px;
}
.o-investisseurs-publications-financieres__content .tableau .row .row-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--color-black);
}
.o-investisseurs-publications-financieres__content .tableau .row .separator {
  height: 0.6vw;
  width: 1px;
  background: var(--color-black);
}
.o-investisseurs-publications-financieres__content .tableau .row .valeurs {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.o-investisseurs-publications-financieres__content .tableau .row .categorie {
  font-size: var(--Body-Description-Desc-M);
  padding: 0 1.6vw;
}
@media (max-width: 1023px) {
  .o-investisseurs-publications-financieres {
    grid-template-columns: repeat(var(--grid), 1fr);
    margin-bottom: 12.213740458vw;
  }
  .o-investisseurs-publications-financieres__content {
    grid-column: 1/-1;
  }
  .o-investisseurs-publications-financieres__content .annees {
    padding: 4.0712468193vw 0;
    gap: 5.0890585242vw;
    overflow-x: auto;
  }
  .o-investisseurs-publications-financieres__content .annees .annee {
    white-space: nowrap;
    font-size: 3.0534351145vw;
  }
  .o-investisseurs-publications-financieres__content .tableau {
    padding: 4.0712468193vw 0;
  }
  .o-investisseurs-publications-financieres__content .tableau .header-row {
    display: none;
  }
  .o-investisseurs-publications-financieres__content .tableau .row {
    padding: 3.0534351145vw;
    margin-bottom: 3.0534351145vw;
  }
  .o-investisseurs-publications-financieres__content .tableau .row .row-content {
    flex-direction: column;
    align-items: flex-start;
    border: none;
    gap: 3.0534351145vw;
  }
  .o-investisseurs-publications-financieres__content .tableau .row .categorie {
    padding: 0;
    font-size: 4.0712468193vw;
  }
  .o-investisseurs-publications-financieres__content .tableau .row .valeurs {
    width: 100%;
    justify-content: flex-start;
    gap: 2.0356234097vw;
  }
  .o-investisseurs-publications-financieres__content .tableau .row .valeur {
    flex: 1;
    width: auto;
    height: 11.1959287532vw;
    background: var(--color-white);
    border: 1px solid var(--color-black);
    font-size: 3.0534351145vw;
  }
  .o-investisseurs-publications-financieres__content .tableau .row .separator {
    display: none;
  }
}

.o-investisseurs-nav {
  position: -webkit-sticky;
  position: sticky;
  top: var(--padding-global);
  right: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.6666666667vw;
  margin-top: 0.8vw;
}
.o-investisseurs-nav .mail-icon {
  display: none;
}

.admin-bar .o-investisseurs-nav {
  top: calc(32px + var(--padding-global));
}

.o-investisseurs-directoire {
  margin-bottom: 12.213740458vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-directoire {
    margin-bottom: 5.2666666667vw;
  }
}
.o-investisseurs-directoire__content {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
}
@media (min-width: 1024px) {
  .o-investisseurs-directoire__content {
    grid-column: 1/span 8;
    grid-template-columns: repeat(8, 1fr);
  }
}
.o-investisseurs-directoire__content .content {
  grid-column: 1/-1;
  padding: 4.0712468193vw;
}
.o-investisseurs-directoire__content .content .text blockquote {
  padding: 0;
  border: 0;
  font-size: 6.106870229vw;
  line-height: 1.2;
}
@media (min-width: 1024px) {
  .o-investisseurs-directoire__content .content {
    grid-column: 2/span 6;
    padding-top: 4.6666666667vw;
    padding-bottom: 4.6666666667vw;
  }
  .o-investisseurs-directoire__content .content .text blockquote {
    font-size: var(--Headline-Title-S);
  }
}

.o-investisseurs-glossaire {
  margin-bottom: 5.2666666667vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-glossaire {
    display: grid;
    grid-template-columns: repeat(var(--grid), 1fr);
    gap: var(--grid-gap);
  }
}
.o-investisseurs-glossaire .a-title-label {
  margin-bottom: 0;
}
.o-investisseurs-glossaire__title {
  padding: var(--padding-global);
  grid-column: 2/span 6;
}
.o-investisseurs-glossaire__content {
  grid-column: 1/span 12;
  padding: var(--padding-global);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
}
.o-investisseurs-glossaire__content .card {
  grid-column: 2/span 6;
  display: flex;
}
@media (max-width: 1023px) {
  .o-investisseurs-glossaire__content .card {
    grid-column: 2/span 10;
  }
}
.o-investisseurs-glossaire__content .card .right, .o-investisseurs-glossaire__content .card .left {
  flex: 1;
}
.o-investisseurs-glossaire__content .card .left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.3333333333vw;
  padding-right: 6.0666666667vw;
}
.o-investisseurs-glossaire__content .card .left .content {
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
  display: flex;
  flex-direction: column;
  gap: 2.3333333333vw;
}
.o-investisseurs-glossaire__content .card .right {
  min-height: 30.2vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.o-investisseurs-glossaire__content .card .right .image {
  width: 100%;
}
.o-investisseurs-glossaire__content .card .right .image img {
  width: 100%;
  height: auto;
}

.o-investisseurs-contact {
  margin-bottom: 5.2666666667vw;
}
@media (min-width: 1024px) {
  .o-investisseurs-contact {
    display: grid;
    grid-template-columns: repeat(var(--grid), 1fr);
    gap: var(--grid-gap);
  }
}
.o-investisseurs-contact .a-title-label {
  margin-bottom: 0;
}
.o-investisseurs-contact__title {
  padding: var(--padding-global);
  grid-column: 2/span 6;
}
.o-investisseurs-contact__content {
  grid-column: 1/span 12;
  padding: var(--padding-global);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
}
.o-investisseurs-contact__content .card {
  grid-column: 2/span 6;
  display: flex;
}
@media (max-width: 1023px) {
  .o-investisseurs-contact__content .card {
    grid-column: 2/span 10;
  }
}
.o-investisseurs-contact__content .card .right, .o-investisseurs-contact__content .card .left {
  flex: 1;
}
.o-investisseurs-contact__content .card .left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.3333333333vw;
  padding-right: 6.0666666667vw;
}
.o-investisseurs-contact__content .card .left .content {
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
  display: flex;
  flex-direction: column;
  gap: 2.3333333333vw;
}
.o-investisseurs-contact__content .card .right {
  min-height: 30.2vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.o-investisseurs-contact__content .card .right .image {
  width: 100%;
}
.o-investisseurs-contact__content .card .right .image img {
  width: 100%;
  height: auto;
}

.m-flex-bloc-chronologie {
  margin: var(--padding-global);
  padding: var(--padding-global);
  padding-top: 9.3333333333vw;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  background-color: var(--color-soft-grey);
  --chrono-ease: cubic-bezier(0.25, 1, 0.5, 1);
  --chrono-speed: 0.5s;
}
.m-flex-bloc-chronologie .grid {
  grid-column: 2/span 11;
}
.m-flex-bloc-chronologie .buttons {
  display: flex;
  align-items: center;
}
.m-flex-bloc-chronologie .buttons .button {
  display: flex;
  align-items: center;
  gap: 0.3333333333vw;
  font-family: var(--Ui-Button-button-M);
  font-size: var(--font-mono);
  padding: 0.6666666667vw 1.3333333333vw;
  background: none;
  border: none;
  cursor: pointer;
}
.m-flex-bloc-chronologie .buttons .button.button-next {
  border-left: 1px solid #000;
}
.m-flex-bloc-chronologie__dates {
  display: flex;
  align-items: flex-start;
  position: relative;
  min-height: 6.6666666667vw;
  margin-bottom: 1.6vw;
}
.m-flex-bloc-chronologie__dates .active-container {
  position: absolute;
  left: 0;
  top: -0.6666666667vw;
  z-index: 10;
  width: 32.6666666667vw;
  background: var(--color-soft-grey);
}
.m-flex-bloc-chronologie__dates .active-container .date-active {
  height: 12.5333333333vw;
  width: 100%;
  overflow: hidden;
}
.m-flex-bloc-chronologie__dates .active-container .date-active .date-wrapper {
  display: block;
  transition: transform var(--chrono-speed) var(--chrono-ease);
}
.m-flex-bloc-chronologie__dates .active-container .date-active .date-wrapper .annee-val {
  display: block;
  height: 12.5333333333vw;
  line-height: 11.2vw;
  font-size: 12vw;
  text-align: left;
  font-weight: 400;
}
.m-flex-bloc-chronologie__dates .dates-track {
  flex-grow: 1;
  overflow: hidden;
  padding-left: 32.6666666667vw;
}
.m-flex-bloc-chronologie__dates .dates-track .dates-list {
  display: flex;
  align-items: center;
  transition: transform var(--chrono-speed) var(--chrono-ease);
}
.m-flex-bloc-chronologie__dates .dates-track .dates-list .date-item {
  display: flex;
  align-items: center;
  gap: 1.3333333333vw;
  font-size: 4vw;
  font-weight: 400;
  opacity: 0.2;
  transition: opacity 0.4s ease;
}
.m-flex-bloc-chronologie__dates .dates-track .dates-list .date-item .line {
  width: 2.6666666667vw;
  height: 1px;
  background: var(--color-taupe-gray);
}
.m-flex-bloc-chronologie__dates .dates-track .dates-list .date-item .val {
  width: 9vw;
  color: var(--color-taupe-gray);
}
.m-flex-bloc-chronologie__content .content-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: var(--grid-gap);
}
@media screen and (max-width: 1024px) {
  .m-flex-bloc-chronologie__content .content-columns {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 20vw;
    margin-right: 5vw;
  }
}
.m-flex-bloc-chronologie__content .content-columns .window {
  overflow: hidden;
  width: 100%;
}
.m-flex-bloc-chronologie__content .content-columns .window .rail {
  display: flex;
  width: 100%;
}
.m-flex-bloc-chronologie__content .content-columns .window .rail .slide-item {
  flex: 0 0 100%;
  width: 100%;
  min-height: 33.3333333333vw;
}
.m-flex-bloc-chronologie__content .content-columns .window .rail .slide-item img {
  width: auto;
  height: 33.3333333333vw;
  -o-object-fit: contain;
     object-fit: contain;
}
.m-flex-bloc-chronologie__content .content-columns .col-text .rail {
  transition: transform var(--chrono-speed) var(--chrono-ease);
}
.m-flex-bloc-chronologie__content .content-columns .col-text .slide-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-right: 8.1333333333vw;
  padding-bottom: 1.6vw;
}
.m-flex-bloc-chronologie__content .content-columns .col-text .slide-item .title {
  font-size: var(--Headline-Title-S);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 1.4666666667vw;
}
.m-flex-bloc-chronologie__content .content-columns .col-text .slide-item .text-inner {
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
  line-height: 1.4;
}
.m-flex-bloc-chronologie__content .content-columns .col-media-container {
  display: flex;
  gap: 1.3333333333vw;
  width: 100%;
}
.m-flex-bloc-chronologie__content .content-columns .col-media-container .window {
  flex: 1;
  transition: all 0.5s ease;
}
.m-flex-bloc-chronologie__content .content-columns .col-media-container .window.js-window-left .rail {
  transition: transform 0.7s var(--chrono-ease);
}
.m-flex-bloc-chronologie__content .content-columns .col-media-container .window.js-window-right .rail {
  transition: transform 0.9s var(--chrono-ease);
}
.m-flex-bloc-chronologie__content .content-columns .col-media-container .window .empty-slide {
  width: 100%;
  height: 100%;
}
.m-flex-bloc-chronologie__content .content-columns .col-media-container.has-single-image .js-window-right {
  flex: 0;
  width: 0;
  opacity: 0;
  pointer-events: none;
}

.m-social-media {
  display: flex;
  gap: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-social-media {
    gap: 2vw;
  }
}

.m-flex-bloc-cards {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  padding: var(--padding-global);
  padding-top: 0;
}
.m-flex-bloc-cards__content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content {
    grid-column: 2/span 10;
  }
}
.m-flex-bloc-cards__content .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6.106870229vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list {
    grid-template-columns: repeat(3, 1fr);
    gap: 4.3333333333vw;
  }
}
.m-flex-bloc-cards__content .list .item {
  padding: 4.0712468193vw;
  background: var(--Primitives-Terciary-Soft-grey);
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list .item {
    padding: 1.4666666667vw;
  }
}
.m-flex-bloc-cards__content .list .item .item-thumb {
  width: 100%;
  aspect-ratio: 316/409;
  overflow: hidden;
}
.m-flex-bloc-cards__content .list .item .item-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-flex-bloc-cards__content .list .item .item-content {
  padding: 5.0890585242vw;
  border: 1px solid var(--color-black);
  border-top: 0;
  flex-grow: 1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list .item .item-content {
    padding: 1.6vw;
  }
}
.m-flex-bloc-cards__content .list .item .item-content .item-title {
  font-size: var(--Ui-Button-button-M);
  text-transform: uppercase;
  font-family: var(--font-mono);
  margin-bottom: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list .item .item-content .item-title {
    margin-bottom: 0.8vw;
  }
}
.m-flex-bloc-cards__content .list .item .item-content .item-description {
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
  line-height: 1.4;
}
.m-flex-bloc-cards__content .list .item .item-content .item-link {
  margin-top: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list .item .item-content .item-link {
    margin-top: 1.0666666667vw;
  }
}
.m-flex-bloc-cards__content .list .item .item-content .item-link .a-boutton {
  font-size: var(--Ui-Button-button-S);
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list .item .item-content .item-link .a-boutton svg {
    width: 0.8vw;
    margin-bottom: 0.1333333333vw;
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-cards__content .list.job-offers {
    gap: 1.3333333333vw;
  }
}
.m-flex-bloc-cards__content .list.job-offers .item .item-content {
  border-top: 1px solid var(--color-black);
}

.m-flex-bloc-interactive-steps {
  padding: var(--padding-global);
  padding-bottom: 10.1781170483vw;
  perspective: 1000px;
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps {
    padding: var(--padding-global);
    max-height: 110dvh;
  }
}
.m-flex-bloc-interactive-steps__content {
  display: flex;
  flex-direction: column;
  gap: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps__content {
    flex-direction: row;
    gap: 2vw;
  }
}
.m-flex-bloc-interactive-steps__content .left {
  position: relative;
  width: 100%;
  min-height: 89.058524173vw;
  flex-shrink: 0;
  padding: 7.6335877863vw;
  --color-text: var(--color-white);
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps__content .left {
    width: 52.9333333333vw;
    min-height: 90dvh;
    padding-top: 5.6666666667vw;
    padding-left: 7.6666666667vw;
  }
}
.m-flex-bloc-interactive-steps__content .left .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.m-flex-bloc-interactive-steps__content .left .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-flex-bloc-interactive-steps__content .left .steps {
  display: flex;
  flex-direction: column;
  gap: 0.6666666667vw;
}
.m-flex-bloc-interactive-steps__content .left .steps .title {
  font-size: var(--Headline-Title-M);
  font-weight: 400;
  color: var(--color-text);
  text-decoration: none;
  opacity: 0.5;
  transition: all 0.4s ease;
  cursor: pointer;
}
.m-flex-bloc-interactive-steps__content .left .steps .title.is-active {
  opacity: 1;
}
.m-flex-bloc-interactive-steps__content .left .steps .title:hover {
  opacity: 0.8;
}
.m-flex-bloc-interactive-steps__content .right {
  flex-grow: 1;
  position: relative;
  color: var(--color-text);
  padding: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps__content .right {
    padding-top: 4.2666666667vw;
    padding-right: 5.0666666667vw;
    padding-bottom: 3.0666666667vw;
  }
}
.m-flex-bloc-interactive-steps__content .right .step {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.m-flex-bloc-interactive-steps__content .right .step .step-content {
  display: flex;
  flex-direction: column;
  gap: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps__content .right .step .step-content {
    gap: 1.4666666667vw;
  }
}
.m-flex-bloc-interactive-steps__content .right .step.is-active {
  display: flex;
  -webkit-animation: splitFlap 0.6s cubic-bezier(0.23, 1, 0.32, 1) forwards;
          animation: splitFlap 0.6s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}
.m-flex-bloc-interactive-steps__content .right .step .nb-step {
  font-size: var(--Headline-Title-XL);
  font-weight: 400;
  line-height: 1;
}
.m-flex-bloc-interactive-steps__content .right .step .title {
  font-size: var(--Headline-Title-M);
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}
.m-flex-bloc-interactive-steps__content .right .step .text {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
}
.m-flex-bloc-interactive-steps__content .right .step .text .g-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps__content .right .step {
    padding-bottom: 1.4666666667vw;
  }
}
.m-flex-bloc-interactive-steps__content .right .next-trigger {
  display: inline-block;
  margin-top: 7.6335877863vw;
  font-size: var(--Ui-Button-button-M);
  text-decoration: none;
  color: var(--color-text);
  text-transform: uppercase;
  font-family: var(--font-mono);
  border-bottom: 1px solid currentColor;
  transition: opacity 0.3s;
}
@media (min-width: 1024px) {
  .m-flex-bloc-interactive-steps__content .right .next-trigger {
    margin-top: 0;
    border-bottom: none;
  }
}
.m-flex-bloc-interactive-steps__content .right .next-trigger:hover {
  opacity: 0.8;
}

@-webkit-keyframes splitFlap {
  0% {
    opacity: 0;
    transform: translateY(40px) rotateX(-15deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotateX(0deg);
  }
}

@keyframes splitFlap {
  0% {
    opacity: 0;
    transform: translateY(40px) rotateX(-15deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotateX(0deg);
  }
}
.m-flex-bloc-home-slider-expertises {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  background: var(--color-black);
}
.m-flex-bloc-home-slider-expertises__carousel {
  grid-column: 1/-1;
  height: 60vh;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-slider-expertises__carousel {
    grid-column: 1/span 7;
    height: 95vh;
  }
}
.m-flex-bloc-home-slider-expertises__expertises {
  grid-column: 1/-1;
  padding: 8.1424936387vw 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-slider-expertises__expertises {
    grid-column: 8/span 5;
    padding-top: 4.2666666667vw;
    padding-right: 1.2vw;
    padding-left: 1.2vw;
  }
}
.m-flex-bloc-home-slider-expertises__expertises .list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

.o-section-hopscotch-slider {
  padding: var(--padding-global);
  perspective: 1000px;
}
.o-section-hopscotch-slider__content {
  display: flex;
  gap: 2vw;
}
.o-section-hopscotch-slider__content .left {
  position: relative;
  width: 52.9333333333vw;
  min-height: 58.4vw;
  flex-shrink: 0;
  padding-top: 5.6666666667vw;
  padding-left: 7.6666666667vw;
}
.o-section-hopscotch-slider__content .left .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.o-section-hopscotch-slider__content .left .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-section-hopscotch-slider__content .left .steps {
  display: flex;
  flex-direction: column;
  gap: 0.6666666667vw;
}
.o-section-hopscotch-slider__content .left .steps .title {
  font-size: var(--Headline-Title-M);
  font-weight: 400;
  color: var(--color-text);
  text-decoration: none;
  opacity: 0.5;
  transition: all 0.4s ease;
  cursor: pointer;
}
x .o-section-hopscotch-slider__content .left .steps .title.is-active {
  opacity: 1;
}
.o-section-hopscotch-slider__content .left .steps .title:hover {
  opacity: 0.8;
}
.o-section-hopscotch-slider__content .right {
  flex-grow: 1;
  padding-top: 4.2666666667vw;
  padding-right: 5.0666666667vw;
  padding-bottom: 3.0666666667vw;
  position: relative;
}
.o-section-hopscotch-slider__content .right .step {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding-bottom: 1.4666666667vw;
}
.o-section-hopscotch-slider__content .right .step .step-content {
  display: flex;
  flex-direction: column;
  gap: 1.4666666667vw;
}
.o-section-hopscotch-slider__content .right .step.is-active {
  display: flex;
  -webkit-animation: splitFlap 0.6s cubic-bezier(0.23, 1, 0.32, 1) forwards;
          animation: splitFlap 0.6s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}
.o-section-hopscotch-slider__content .right .step .nb-step {
  font-size: var(--Headline-Title-XL);
  font-weight: 400;
}
.o-section-hopscotch-slider__content .right .step .title {
  font-size: var(--Headline-Title-M);
  font-weight: 400;
  line-height: 1;
  margin: 0;
}
.o-section-hopscotch-slider__content .right .step .text {
  font-size: var(--Body-Text-M);
  font-weight: 400;
}
.o-section-hopscotch-slider__content .right .step .text .g-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.o-section-hopscotch-slider__content .right .next-trigger {
  font-size: var(--Ui-Button-button-S);
  text-decoration: none;
  color: var(--color-text);
  transition: opacity 0.3s;
}
.o-section-hopscotch-slider__content .right .next-trigger:hover {
  opacity: 0.8;
}

@keyframes splitFlap {
  0% {
    opacity: 0;
    transform: translateY(40px) rotateX(-15deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotateX(0deg);
  }
}
.o-section-hopscotch {
  margin: var(--padding-global);
  padding: var(--padding-global);
}
.o-section-hopscotch__content {
  display: flex;
  flex-direction: column;
  gap: 8.1424936387vw;
}
@media (min-width: 1024px) {
  .o-section-hopscotch__content {
    flex-direction: row;
    gap: 2vw;
  }
}
.o-section-hopscotch__content .left {
  position: relative;
  width: 100%;
  min-height: 76.3358778626vw;
  flex-shrink: 0;
  padding: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .o-section-hopscotch__content .left {
    width: 52.9333333333vw;
    min-height: 49.6666666667vw;
    padding-top: 5.6666666667vw;
    padding-left: 7.6666666667vw;
  }
}
.o-section-hopscotch__content .left .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.o-section-hopscotch__content .left .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-section-hopscotch__content .left .title {
  position: relative;
  z-index: 1;
  font-size: var(--Headline-Caption-L);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--color-white);
}
.o-section-hopscotch__content .right {
  flex-grow: 1;
  padding: 0;
}
@media (min-width: 1024px) {
  .o-section-hopscotch__content .right {
    padding-top: 4.2666666667vw;
    padding-right: 8.2666666667vw;
  }
}

.m-flex-bloc-list {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 0;
  margin-bottom: var(--padding-global);
}
.m-flex-bloc-list__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .m-flex-bloc-list__content {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: var(--grid-gap);
  }
}
.m-flex-bloc-list__content .content {
  grid-column: 1/span 4;
  padding-top: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-list__content .content {
    padding-top: 2.9333333333vw;
  }
}
.m-flex-bloc-list__content .content .description {
  font-size: var(--Body-Body-body-S);
  line-height: 1.4;
  font-weight: 400;
}
.m-flex-bloc-list__content .expertises {
  grid-column: 6/span 5;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.m-flex-bloc-list__content.columns .content {
  padding-top: 0;
  padding-bottom: 6.106870229vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-list__content.columns .content {
    padding-bottom: var(--padding-global);
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-list__content.columns .expertises {
    grid-column: span 5;
  }
}
.m-flex-bloc-list__content .expertise {
  padding: 5.0890585242vw 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--Headline-Title-M);
  font-weight: 400;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  position: relative;
}
@media (min-width: 1024px) {
  .m-flex-bloc-list__content .expertise {
    padding: 1.6666666667vw 0;
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-list__content .expertise:last-child {
    border-bottom: none;
  }
}
.m-flex-bloc-list.variation--small {
  padding: 0;
  display: block;
}
.m-flex-bloc-list.variation--small .m-flex-bloc-list__content {
  display: block;
  width: 100%;
}
.m-flex-bloc-list.variation--small .expertises {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5445292621vw;
  flex-direction: row;
}
@media (min-width: 1024px) {
  .m-flex-bloc-list.variation--small .expertises {
    gap: 0.8vw;
  }
}
.m-flex-bloc-list.variation--small .expertise {
  width: auto;
  border: none;
  font-size: var(--Ui-Button-button-M);
  font-family: var(--font-mono);
  padding: 3.0534351145vw 4.0712468193vw;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.05);
}
@media (min-width: 1024px) {
  .m-flex-bloc-list.variation--small .expertise {
    padding: 1.0666666667vw;
    background: transparent;
  }
}

.o-section-country-contacts {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  padding: var(--padding-global);
}
.o-section-country-contacts__content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-country-contacts__content {
    grid-column: 2/span 10;
  }
}
.o-section-country-contacts__content .list {
  border: 1px solid var(--color-black);
}
.o-section-country-contacts__content .list .item {
  padding: 6.106870229vw;
  display: flex;
  flex-direction: column;
  gap: 4.0712468193vw;
  border-bottom: 1px solid var(--color-black);
}
@media (min-width: 1024px) {
  .o-section-country-contacts__content .list .item {
    padding: 1.4666666667vw;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
  }
}
.o-section-country-contacts__content .list .item:last-child {
  border-bottom: none;
}
.o-section-country-contacts__content .list .item .title {
  font-size: var(--Headline-Title-XS);
  font-weight: 400;
  width: 100%;
}
@media (min-width: 1024px) {
  .o-section-country-contacts__content .list .item .title {
    width: 28vw;
  }
}
.o-section-country-contacts__content .list .item .address {
  margin-top: 0;
  font-size: 14px;
  width: 100%;
}
@media (min-width: 1024px) {
  .o-section-country-contacts__content .list .item .address {
    margin-top: 0.8vw;
    width: 28vw;
  }
}
.o-section-country-contacts__global-contact {
  grid-column: 1/-1;
  margin-top: 6.106870229vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-section-country-contacts__global-contact {
    grid-column: 2/span 10;
    margin-top: 1.8666666667vw;
    flex-direction: row;
    align-items: center;
    gap: 1.4666666667vw;
  }
}
.o-section-country-contacts__global-contact .label {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
}

.m-line-consisting-zig-zag {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0;
  color: var(--color-text);
}
.m-line-consisting-zig-zag .m-line-consisting__zig-zag {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .m-line-consisting-zig-zag .m-line-consisting__zig-zag.m-line-consisting__zig-zag-horizontal {
    display: none;
  }
}
.m-line-consisting-zig-zag .m-line-consisting__zig-zag.m-line-consisting__zig-zag-vertical {
  display: none;
}
@media screen and (max-width: 768px) {
  .m-line-consisting-zig-zag .m-line-consisting__zig-zag.m-line-consisting__zig-zag-vertical {
    display: flex;
  }
}
.m-line-consisting-zig-zag .m-line-consisting__zig-zag svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-zig-zag .m-line-consisting__svg {
  width: 100%;
  height: 100%;
}

.m-line-consisting-golden-ratio {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0;
  color: var(--color-text);
}
.m-line-consisting-golden-ratio .m-line-consisting__golden-ratio {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-line-consisting-golden-ratio .m-line-consisting__golden-ratio svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-golden-ratio .m-line-consisting__svg {
  width: 100%;
  height: 100%;
}

.m-line-consisting-circle-triple-in-square {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  pointer-events: none;
  overflow: hidden;
  padding: 20px;
  z-index: 0;
  color: var(--color-text);
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__square {
  position: absolute;
  top: 0px;
  left: 0px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  margin: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__square svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__circle {
  position: absolute;
  top: 0px;
  left: 0px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  margin: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__circle svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__circle.circle-2 {
  left: -50%;
  margin: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .m-line-consisting-circle-triple-in-square .m-line-consisting__circle.circle-2 {
    top: -50%;
    left: 0;
  }
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__circle.circle-3 {
  left: 50%;
  margin: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .m-line-consisting-circle-triple-in-square .m-line-consisting__circle.circle-3 {
    top: 50%;
    left: 0;
  }
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__circles-group {
  position: absolute;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  top: 0;
  left: 0;
  box-sizing: border-box;
  overflow: hidden;
  margin: 20px;
}
.m-line-consisting-circle-triple-in-square .m-line-consisting__svg {
  width: 100%;
  height: 100%;
}

.m-line-consisting-circle-in-square {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0;
  color: var(--color-text);
}
.m-line-consisting-circle-in-square .m-line-consisting__square {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-line-consisting-circle-in-square .m-line-consisting__square svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-in-square .m-line-consisting__circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.m-line-consisting-circle-in-square .m-line-consisting__circle svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-in-square .m-line-consisting__svg {
  width: 100%;
  height: 100%;
}

.m-line-consisting-circle-sight {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0;
  color: var(--color-text);
}
.m-line-consisting-circle-sight .m-line-consisting__square {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-line-consisting-circle-sight .m-line-consisting__square svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-sight .m-line-consisting__circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.m-line-consisting-circle-sight .m-line-consisting__circle svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-sight .m-line-consisting__lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-line-consisting-circle-sight .m-line-consisting__lines svg {
  width: 100%;
  height: 100%;
}
.m-line-consisting-circle-sight .m-line-consisting__svg {
  width: 100%;
  height: 100%;
}

.m-slider-expertises {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
}
.m-slider-expertises .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.6;
}
.m-slider-expertises .bottom-ui {
  position: absolute;
  bottom: 10%;
  left: 10%;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 1.3333333333vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 1024px) {
  .m-slider-expertises .bottom-ui {
    gap: 25px;
  }
}
.m-slider-expertises .slider-play-pause {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.m-slider-expertises .slider-play-pause .icon-play {
  display: none;
}
.m-slider-expertises .slider-play-pause .icon-pause {
  display: block;
}
.m-slider-expertises .slider-play-pause svg {
  width: 1vw;
  height: 1vw;
  fill: currentColor;
}
@media screen and (max-width: 1024px) {
  .m-slider-expertises .slider-play-pause svg {
    width: 15px;
    height: 15px;
  }
}
.m-slider-expertises.is-paused .slider-play-pause .icon-play {
  display: block;
}
.m-slider-expertises.is-paused .slider-play-pause .icon-pause {
  display: none;
}
.m-slider-expertises.is-paused .bullet-progress {
  -webkit-animation-play-state: paused !important;
          animation-play-state: paused !important;
}
.m-slider-expertises .swiper-pagination {
  position: relative !important;
  display: flex !important;
  align-items: center;
  gap: 1vw;
  width: 33.3333333333vw !important;
  bottom: auto !important;
  left: auto !important;
}
@media screen and (max-width: 1024px) {
  .m-slider-expertises .swiper-pagination {
    gap: 6px;
    width: 200px !important;
  }
}
.m-slider-expertises .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  flex: 1;
  height: 0.2666666667vw;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 0;
  margin: 0 !important;
  opacity: 1;
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  .m-slider-expertises .swiper-pagination .swiper-pagination-bullet {
    height: 3px;
  }
}
.m-slider-expertises .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 2.6666666667vw;
  background: transparent;
  z-index: 2;
}
.m-slider-expertises .swiper-pagination .swiper-pagination-bullet .bullet-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: #fff;
}
.m-slider-expertises .swiper-pagination .swiper-pagination-bullet-active .bullet-progress {
  -webkit-animation: bulletProgress 5s linear forwards;
          animation: bulletProgress 5s linear forwards;
}
@-webkit-keyframes bulletProgress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes bulletProgress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.m-slider-expertises .labels-expertises {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  display: flex;
  flex-direction: column;
  padding: 10%;
  gap: 1vw;
  pointer-events: none;
}
.m-slider-expertises .labels-expertises .title {
  pointer-events: auto;
  color: #fff;
  text-decoration: none;
  font-size: var(--Body-Body-body-L);
  opacity: 0.5;
  transition: font-size 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.2;
  display: block;
}
.m-slider-expertises .labels-expertises .title .icon-up-right {
  display: inline-block;
  vertical-align: middle;
  width: 1.6vw;
  height: 1.6vw;
  margin-left: 0.6666666667vw;
  opacity: 0;
  transform: translateY(-0.1333333333vw);
}
.m-slider-expertises .labels-expertises .title .icon-up-right.is-visible {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.m-slider-expertises .labels-expertises .title.active {
  font-size: var(--Headline-Title-M);
  line-height: 120%;
  opacity: 1;
  margin-bottom: 2vw;
  white-space: normal;
  max-width: 85%;
}
.m-slider-expertises .labels-expertises .title:not(.active):hover {
  opacity: 0.8;
  transform: translateX(0.3333333333vw);
}

.m-slider-triple .swiper-container {
  width: 100%;
  height: 300px;
  margin: 20px auto;
  position: relative;
}
.m-slider-triple .swiper-slide-container {
  text-align: center;
  font-size: 18px;
  background: #fff;
  height: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-slider-triple .gallery-top {
  height: 200px;
  width: 100%;
}
.m-slider-triple .gallery-middle {
  height: 25%;
  box-sizing: border-box;
  padding: 10px 0;
  position: relative;
}
.m-slider-triple .gallery-middle .swiper-slide-container {
  max-width: 350px;
}
.m-slider-triple .gallery-middle .swiper-button-next,
.m-slider-triple .gallery-middle .swiper-button-prev {
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background-size: 30px 30px;
  opacity: 0.7;
}
.m-slider-triple .gallery-middle .swiper-button-next:hover,
.m-slider-triple .gallery-middle .swiper-button-prev:hover {
  opacity: 1;
}
.m-slider-triple .gallery-middle .swiper-slide {
  width: 20%;
  height: 100%;
  opacity: 0.7;
}
.m-slider-triple .gallery-bottom {
  height: 25%;
  box-sizing: border-box;
  padding: 10px 0;
  position: relative;
}
.m-slider-triple .gallery-bottom .swiper-slide-container {
  max-width: 350px;
}
.m-slider-triple .gallery-bottom .swiper-button-next,
.m-slider-triple .gallery-bottom .swiper-button-prev {
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background-size: 30px 30px;
  opacity: 0.7;
}
.m-slider-triple .gallery-bottom .swiper-button-next:hover,
.m-slider-triple .gallery-bottom .swiper-button-prev:hover {
  opacity: 1;
}
.m-slider-triple .gallery-bottom .swiper-slide {
  width: 20%;
  height: 100%;
  opacity: 0.5;
}

.m-flex-bloc-home-globe {
  background: var(--color-black);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 15.2671755725vw;
  padding-bottom: 15.2671755725vw;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe {
    padding-bottom: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
    padding-top: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe {
    display: grid;
  }
}
.m-flex-bloc-home-globe__globe {
  order: 1;
  width: 100%;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe__globe {
    order: 2;
    grid-column: 7/span 5;
    margin-bottom: 0;
  }
}
.m-flex-bloc-home-globe__globe canvas, .m-flex-bloc-home-globe__globe img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.m-flex-bloc-home-globe__content {
  order: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe__content {
    grid-column: 2/span 5;
    gap: 0;
  }
}
.m-flex-bloc-home-globe__content .title {
  font-size: var(--Headline-Caption-XL);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--color-white);
  margin-bottom: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe__content .title {
    margin-bottom: 1.3333333333vw;
  }
}
.m-flex-bloc-home-globe__content .a-boutton {
  margin-top: 5.0890585242vw;
  color: var(--color-white);
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe__content .a-boutton {
    margin-top: 2vw;
  }
}
.m-flex-bloc-home-globe__content .a-boutton svg path {
  fill: var(--color-white) !important;
}
.m-flex-bloc-home-globe__content .content {
  font-size: var(--Body-M);
  line-height: 1.5;
  color: var(--color-white);
}
.m-flex-bloc-home-globe__content .numbers {
  font-size: 2.7989821883vw;
  font-weight: 400;
  font-family: var(--font-mono);
  text-transform: uppercase;
  display: flex;
  flex-wrap: wrap;
  gap: 6.106870229vw;
  color: var(--color-white);
  margin-top: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe__content .numbers {
    font-size: 0.8vw;
    margin-top: 0;
    grid-column: 2/span 6;
    gap: 4.5333333333vw;
    flex-wrap: nowrap;
  }
}
.m-flex-bloc-home-globe__content .numbers .item {
  display: flex;
  align-items: center;
  gap: 2.0356234097vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-globe__content .numbers .item {
    gap: 0.5333333333vw;
  }
}

.m-globe-only {
  width: 100%;
  height: 40.9333333333vw;
  position: relative;
  background: #000;
}
@media (max-width: 1023px) {
  .m-globe-only {
    height: 40vh;
  }
}
.m-globe-only__container {
  width: 100%;
  height: 100%;
  cursor: default;
}
.m-globe-only__container canvas {
  outline: none;
}

.o-section-map {
  height: 49.2vw;
  background: var(--color-black);
  color: var(--color-white);
  overflow: hidden;
  margin: 0 var(--padding-global);
}
@media (max-width: 1023px) {
  .o-section-map {
    height: auto;
  }
}
.o-section-map.has-margin-bottom {
  margin-bottom: 6vw;
}
.o-section-map .a-boutton {
  margin-bottom: 0.8vw;
  color: var(--color-white);
}
.o-section-map .a-boutton svg path {
  fill: var(--color-white) !important;
}
.o-section-map__container {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
}
@media (max-width: 1023px) {
  .o-section-map__container {
    flex-direction: column-reverse;
  }
}
.o-section-map__panel {
  padding-top: 5.6666666667vw;
  padding-left: 8.2666666667vw;
  width: 33.3333333333vw;
  min-width: 26.6666666667vw;
  display: flex;
  flex-direction: column;
  z-index: 2;
  flex-shrink: 0;
}
.o-section-map__panel * {
  pointer-events: auto;
}
@media (max-width: 1023px) {
  .o-section-map__panel {
    width: 100%;
  }
}
.o-section-map__zone-title {
  font-size: var(--Headline-Caption-L);
  font-weight: 500;
  margin-bottom: 2.1333333333vw;
  line-height: 1.2;
  text-transform: uppercase;
}
.o-section-map__hq-indicator {
  display: flex;
  align-items: flex-start;
  gap: 0.8vw;
  margin-bottom: 2vw;
}
.o-section-map__hq-indicator span {
  font-size: 0.7333333333vw;
  letter-spacing: 0.1333333333vw;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}
.o-section-map__square {
  width: 0.5333333333vw;
  height: 0.5333333333vw;
  background-color: #FFFFFF;
  margin-top: 0.4vw;
}
.o-section-map__cities-grid {
  display: flex;
  gap: 2.6666666667vw;
}
.o-section-map__cities-column {
  flex: 1;
}
.o-section-map__cities-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3333333333vw;
}
.o-section-map__cities-grid .country-group {
  min-width: 9vw;
}
@media (max-width: 1023px) {
  .o-section-map__cities-grid {
    grid-template-columns: auto;
    margin-bottom: 50px;
  }
}
.o-section-map__zone-content {
  transition: opacity 0.3s ease;
}
.o-section-map__zone-content .grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.1333333333vw;
}
.o-section-map__zone-content .grid.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1023px) {
  .o-section-map__zone-content .grid.grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}
.o-section-map__cities-header {
  display: flex;
  gap: 2.1333333333vw;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 1.5333333333vw;
  margin-bottom: 2.1333333333vw;
}
.o-section-map__cities-header .a-title-label {
  margin-top: 0.5333333333vw;
}
.o-section-map .country-name {
  font-size: 0.7333333333vw;
  font-weight: 400;
  letter-spacing: 0.1333333333vw;
  margin-bottom: 0.5333333333vw;
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 0.2666666667vw;
}
.o-section-map .city-name {
  cursor: pointer;
  font-size: var(--Ui-Button-button-S);
  color: var(--color-white);
  font-family: var(--font-mono);
  text-transform: uppercase;
}
.o-section-map .city-name:hover {
  color: var(--color-blush-pink);
}
.o-section-map__globe {
  flex: 1;
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .o-section-map__globe {
    max-height: 40vh;
    min-width: 90vw;
  }
}
.o-section-map .legend {
  position: absolute;
  bottom: 2vw;
  right: 2vw;
  display: flex;
  flex-direction: column;
  gap: 0.6666666667vw;
  z-index: 10000;
}
.o-section-map .legend .legend-item {
  display: flex;
  align-items: center;
  gap: 0.6666666667vw;
}
.o-section-map .legend .legend-marker {
  width: 2vw;
  height: 2vw;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-right: 1vw;
}
@media (min-width: 1024px) {
  .o-section-map .legend .legend-marker {
    width: 1vw;
    height: 1vw;
    margin-right: 0;
  }
}
.o-section-map .legend .legend-marker.internal {
  /*background-color: #FB9C86;
  border: 2px solid #000000;*/
  outline: 1px solid #FFF;
  background: linear-gradient(135deg, black 52%, #FB9C86 48%);
}
.o-section-map .legend .legend-marker.partner {
  background-color: #FFFFFF;
  outline: 1px solid #000000;
  font-size: 5.0890585242vw;
  font-weight: bold;
  color: #000000;
  padding-top: 0.4vw;
}
@media (min-width: 1024px) {
  .o-section-map .legend .legend-marker.partner {
    font-size: 1.3333333333vw;
  }
}
.o-section-map .legend .legend-text {
  font-size: 2.2900763359vw;
  letter-spacing: 0.0666666667vw;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
}
@media (min-width: 1024px) {
  .o-section-map .legend .legend-text {
    font-size: 0.6666666667vw;
  }
}

.o-section-countries {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  padding: var(--padding-global);
}
.o-section-countries__content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-countries__content {
    grid-column: 2/span 10;
  }
}
.o-section-countries__content .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6.106870229vw;
}
@media (min-width: 1024px) {
  .o-section-countries__content .list {
    grid-template-columns: repeat(3, 1fr);
    gap: 4.3333333333vw;
  }
}
.o-section-countries__content .list .item {
  padding: 4.0712468193vw;
  background: var(--Primitives-Terciary-Soft-grey);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .o-section-countries__content .list .item {
    padding: 1.4666666667vw;
  }
}
.o-section-countries__content .list .item .item-thumb {
  width: 100%;
  aspect-ratio: 316/409;
  overflow: hidden;
  flex-grow: 0;
}
.o-section-countries__content .list .item .item-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-section-countries__content .list .item .item-content {
  padding: 5.0890585242vw;
  border: 1px solid var(--color-black);
  border-top: 0;
  position: relative;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  flex-grow: 1;
}
@media (min-width: 1024px) {
  .o-section-countries__content .list .item .item-content {
    padding: 1.6vw;
  }
}
.o-section-countries__content .list .item .item-content .icon {
  position: absolute;
  right: 5.0890585242vw;
  bottom: 5.0890585242vw;
  transform: rotate(0deg);
  opacity: 1;
  width: 4.0712468193vw;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 1024px) {
  .o-section-countries__content .list .item .item-content .icon {
    right: 0vw;
    bottom: 1.6vw;
    transform: rotate(90deg);
    opacity: 0;
    width: auto;
  }
}
.o-section-countries__content .list .item .item-content .a-boutton {
  margin-bottom: 3.0534351145vw;
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .o-section-countries__content .list .item .item-content .a-boutton {
    margin-bottom: 0.8vw;
  }
}
.o-section-countries__content .list .item .item-content .cities {
  display: flex;
  flex-direction: column;
  gap: 0.2666666667vw;
}
.o-section-countries__content .list .item .item-content .cities .city {
  font-size: var(--Ui-Button-button-S);
  font-weight: 500;
  font-family: var(--font-mono);
}
@media (min-width: 1024px) {
  .o-section-countries__content .list .item:hover {
    background: var(--color-blush-pink);
  }
  .o-section-countries__content .list .item:hover .item-content {
    padding: 1.6vw 2.9333333333vw;
  }
  .o-section-countries__content .list .item:hover .item-content .icon {
    opacity: 1;
    transform: translateY(-50%) rotate(0deg);
    right: 2.9333333333vw;
  }
}
.o-section-countries__content .list span.item:hover {
  background: none;
}
.o-section-countries__content .list span.item:hover .item-content {
  padding: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .o-section-countries__content .list span.item:hover .item-content {
    padding: 1.6vw;
  }
}
.o-section-countries__content .list span.item:hover .item-content .icon {
  display: none;
}

.o-section-location {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  padding: var(--padding-global);
}
.o-section-location__content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-location__content {
    grid-column: 2/span 10;
  }
}
.o-section-location__content .list {
  border: 1px solid var(--color-black);
}
.o-section-location__content .list .item {
  padding: 6.106870229vw;
  gap: 6.106870229vw;
  border-bottom: 1px solid var(--color-black);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item {
    padding: 1.4666666667vw;
    padding-right: 2.2vw;
    gap: 3.0666666667vw;
    flex-direction: row;
  }
}
.o-section-location__content .list .item .link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.o-section-location__content .list .item .icon {
  position: absolute;
  right: 4.0712468193vw;
  top: 8.1424936387vw;
  transform: rotate(0deg);
  opacity: 1;
  width: 4.5801526718vw;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item .icon {
    right: 0vw;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    opacity: 0;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item:hover {
    background: var(--color-blush-pink);
    padding: 1.4666666667vw 1.4666666667vw 1.4666666667vw 2.2vw;
  }
  .o-section-location__content .list .item:hover .icon {
    opacity: 1;
    transform: translateY(-50%) rotate(0deg);
    right: 2.9333333333vw;
  }
}
.o-section-location__content .list .item:last-child {
  border-bottom: none;
}
.o-section-location__content .list .item .location, .o-section-location__content .list .item .countries {
  flex: 1;
}
.o-section-location__content .list .item .location {
  text-transform: uppercase;
  font-size: 8.1424936387vw;
  font-weight: 500;
  line-height: 1.1;
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item .location {
    font-size: 4.2666666667vw;
  }
}
.o-section-location__content .list .item .countries {
  display: flex;
  flex-direction: column;
  gap: 4.0712468193vw;
  align-content: flex-start;
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item .countries {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.8vw;
    align-content: center;
  }
}
.o-section-location__content .list .item .countries .a-boutton {
  margin-bottom: 2.0356234097vw;
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item .countries .a-boutton {
    margin-bottom: 0.8vw;
  }
}
.o-section-location__content .list .item .countries .country {
  margin-bottom: 3.0534351145vw;
  flex: 1 1 100%;
  max-width: none;
}
@media (min-width: 1024px) {
  .o-section-location__content .list .item .countries .country {
    flex: 1 1 25%;
    max-width: 190px;
  }
}
.o-section-location__content .list .item .countries .cities {
  display: flex;
  flex-direction: column;
  gap: 0.2666666667vw;
}
.o-section-location__content .list .item .countries .cities .city {
  font-size: var(--Ui-Button-button-S);
  font-weight: 500;
  font-family: var(--font-mono);
}

.o-hero-case {
  padding: var(--padding-global);
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
}
.o-hero-case__visuel {
  grid-column: 1/-1;
  overflow: hidden;
  aspect-ratio: 1/1.1;
  position: relative;
  display: flex;
  align-items: flex-end;
  color: var(--color-white);
  padding: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-hero-case__visuel {
    grid-column: 1/span 12;
    aspect-ratio: 1452/640;
    padding: 1.3333333333vw;
  }
}
.o-hero-case__visuel::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0.8) 100%);
}
.o-hero-case__visuel .media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.o-hero-case__visuel .metas {
  border-top: 1px solid var(--color-white);
  padding: 3.0534351145vw;
  padding-bottom: 0;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3.0534351145vw;
  width: 100%;
}
@media (min-width: 1024px) {
  .o-hero-case__visuel .metas {
    flex-direction: row;
    justify-content: space-between;
    padding: 0.8vw;
    padding-bottom: 0;
    gap: 0;
  }
}
.o-hero-case__visuel .metas .agencies {
  display: flex;
  gap: 5.5979643766vw;
}
@media (min-width: 1024px) {
  .o-hero-case__visuel .metas .agencies {
    gap: 1.4666666667vw;
  }
}
.o-hero-case__visuel .metas .a-title-label {
  margin-bottom: 0;
}
.o-hero-case__visuel .metas .location {
  font-size: var(--Body-Description-Label);
  font-family: var(--font-mono);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2544529262vw;
}
@media (min-width: 1024px) {
  .o-hero-case__visuel .metas .location {
    letter-spacing: 0.1vw;
  }
}
.o-hero-case__visuel .metas .location > span:not(:last-child)::after {
  content: " - ";
  padding: 0 5px;
}
.o-hero-case__title {
  grid-column: 1/-1;
  padding: 8.1424936387vw 0;
}
@media (min-width: 1024px) {
  .o-hero-case__title {
    grid-column: 2/span 7;
    padding: 3.4666666667vw 0;
  }
}
.o-hero-case__title .title {
  font-size: var(--Headline-Title-XL);
  line-height: 1.05;
  margin-bottom: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-hero-case__title .title {
    margin-bottom: 0.8vw;
  }
}
.o-hero-case__title .customer {
  font-size: var(--Ui-Button-button-S);
  font-family: var(--font-mono);
  font-weight: 500;
  text-transform: uppercase;
}
.o-hero-case__expertises {
  grid-column: 1/-1;
  padding: 0;
  padding-bottom: 8.1424936387vw;
}
@media (min-width: 1024px) {
  .o-hero-case__expertises {
    grid-column: 9/span 3;
    padding: 4.9333333333vw 0;
  }
}

.m-flex-bloc-baseline-content {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  padding: var(--padding-global);
}
.m-flex-bloc-baseline-content__content {
  grid-column: 1/-1;
  padding-right: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-baseline-content__content {
    grid-column: 2/span 7;
    padding-right: 1.6vw;
  }
}

.o-section-cases {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-cases {
    padding-top: 6.2666666667vw;
  }
}
.o-section-cases__title {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-cases__title {
    grid-column: 2/span 10;
  }
}
.o-section-cases__filter {
  grid-column: 1/-1;
  margin-bottom: 8.1424936387vw;
  display: flex;
  flex-direction: column;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-section-cases__filter {
    grid-column: 2/span 10;
    flex-direction: row;
    margin-bottom: 4.2666666667vw;
    gap: 0.8vw;
  }
}
.o-section-cases__filter .filter {
  width: 100%;
  margin-bottom: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .o-section-cases__filter .filter {
    flex: 1;
    margin-bottom: 1.3333333333vw;
  }
}
.o-section-cases__filter .filter-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #000000;
  background-color: #FFFFFF;
  height: 12.7226463104vw;
}
@media (min-width: 1024px) {
  .o-section-cases__filter .filter-wrapper {
    height: 4vw;
  }
}
.o-section-cases__filter .filter-wrapper select {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  padding: 0 10.1781170483vw 0 11.4503816794vw;
  font-size: 4.0712468193vw;
  color: #000000;
  cursor: pointer;
  z-index: 2;
}
@media (min-width: 1024px) {
  .o-section-cases__filter .filter-wrapper select {
    padding: 0 3.3333333333vw 0 4vw;
    font-size: 1.2vw;
  }
}
.o-section-cases__filter .filter-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.o-section-cases__filter .filter-icon svg {
  width: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-section-cases__filter .filter-icon svg {
    width: 1.3333333333vw;
  }
}
.o-section-cases__filter .filter-icon.left {
  left: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-section-cases__filter .filter-icon.left {
    left: 1.3333333333vw;
  }
}
.o-section-cases__filter .filter-icon.right {
  right: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-section-cases__filter .filter-icon.right {
    right: 1.3333333333vw;
  }
}
.o-section-cases__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 10.1781170483vw;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-cases__content {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 5.6vw var(--grid-gap);
    margin-bottom: 4.2666666667vw;
  }
}
.o-section-cases__content .case {
  width: 100%;
  grid-column: auto;
}
@media (min-width: 1024px) {
  .o-section-cases__content .case:nth-child(7n+1) {
    grid-column: 1/span 3;
  }
  .o-section-cases__content .case:nth-child(7n+2) {
    grid-column: 5/span 6;
  }
  .o-section-cases__content .case:nth-child(7n+3) {
    grid-column: 1/span 6;
  }
  .o-section-cases__content .case:nth-child(7n+4) {
    grid-column: 8/span 3;
  }
  .o-section-cases__content .case:nth-child(7n+5) {
    grid-column: 5/span 6;
  }
  .o-section-cases__content .case:nth-child(7n+6) {
    grid-column: 1/span 3;
  }
  .o-section-cases__content .case:nth-child(7n+7) {
    grid-column: 5/span 3;
  }
  .o-section-cases__content .case:nth-child(7n+8) {
    grid-column: 1/span 6;
  }
  .o-section-cases__content .case:nth-child(7n+9) {
    grid-column: 1/span 6;
  }
  .o-section-cases__content .case:nth-child(7n+9) {
    grid-column: 8/span 3;
  }
}
.o-section-cases__content .link {
  grid-column: 1/-1;
  padding: 6.106870229vw 0;
}
@media (min-width: 1024px) {
  .o-section-cases__content .link {
    grid-column: 1/span 10;
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.o-section-cases__pagination {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  margin-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-cases__pagination {
    grid-column: 2/span 10;
    margin-bottom: 4.2666666667vw;
  }
}

.o-section-agences {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .o-section-agences {
    padding-top: 6.2666666667vw;
  }
}
.o-section-agences__title {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .o-section-agences__title {
    grid-column: 2/span 10;
  }
}
.o-section-agences__title .a-title-label {
  margin-bottom: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-section-agences__title .a-title-label {
    margin-bottom: 0.8vw;
  }
}
.o-section-agences__list {
  grid-column: 1/-1;
  display: grid;
  gap: 6.106870229vw;
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .o-section-agences__list {
    grid-column: 2/span 10;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6vw;
  }
}

.m-card-agency {
  padding: 4.0712468193vw;
  background: var(--Primitives-Terciary-Soft-grey);
  height: 100%;
}
@media (min-width: 1024px) {
  .m-card-agency {
    padding: 1.4666666667vw;
  }
}
.m-card-agency__content {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-black);
  height: 100%;
}
.m-card-agency__content .logo {
  width: 100%;
  aspect-ratio: 342/196;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.0890585242vw;
  border-bottom: 1px solid var(--color-black);
}
@media (min-width: 1024px) {
  .m-card-agency__content .logo {
    padding: 1.4666666667vw;
  }
}
.m-card-agency__content .logo img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.m-card-agency__content .info {
  padding: 5.0890585242vw;
  display: flex;
  flex-direction: column;
  gap: 3.0534351145vw;
  height: 100%;
}
@media (min-width: 1024px) {
  .m-card-agency__content .info {
    padding: 1.4666666667vw;
    gap: 0.8vw;
  }
}
.m-card-agency__content .info .short-title {
  font-size: var(--Headline-Title-XS);
  font-weight: 400;
}
.m-card-agency__content .info .short-description {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
  height: 100%;
}
.m-card-agency__content .info .icon {
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 1.7811704835vw;
  display: flex;
  justify-content: flex-end;
  padding-right: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .m-card-agency__content .info .icon {
    padding: 0.4666666667vw;
    padding-right: 0;
  }
}
@media (min-width: 1024px) {
  .m-card-agency:hover .icon {
    padding-right: 1.1333333333vw;
  }
}

.o-expetises-secteur {
  padding: 10.1781170483vw 0;
}
@media (min-width: 1024px) {
  .o-expetises-secteur {
    padding: 4.2666666667vw 0;
  }
}

.o-expetises-metier {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  margin: var(--padding-global);
  margin-bottom: 0;
  background: var(--Primitives-Terciary-Soft-grey);
}
.o-expetises-metier__content {
  grid-column: 1/-1;
  padding: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .o-expetises-metier__content {
    grid-column: 2/span 10;
    padding: 4.2666666667vw 0;
  }
}
.o-expetises-metier .list {
  --color-border: rgba(0, 0, 0, 0.20);
}
.o-expetises-metier .list .item {
  background: var(--Primitives-Terciary-Soft-grey);
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 5.0890585242vw;
}
.o-expetises-metier .list .item:first-child {
  border-top: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 0;
  }
}
.o-expetises-metier .list .item .item-part {
  padding: 0 0 2.5445292621vw 0;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item .item-part {
    padding: 2.1333333333vw;
  }
}
.o-expetises-metier .list .item .item-part.title {
  font-size: var(--Headline-Title-S);
  font-weight: 400;
  position: relative;
}
.o-expetises-metier .list .item .item-part.title .icon {
  position: absolute;
  right: 0;
  top: 12%;
  transform: translateY(-50%);
  opacity: 1;
  width: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item .item-part.title .icon {
    right: 0vw;
    transform: rotate(90deg);
    opacity: 0;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item .item-part.title {
    padding-left: 0;
  }
}
.o-expetises-metier .list .item .item-part.short-description {
  font-size: var(--Body-Body-body-XS);
  font-weight: 400;
  border: none;
  padding-top: 0;
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item .item-part.short-description {
    border-left: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
    padding-top: 2.1333333333vw;
  }
}
.o-expetises-metier .list .item .item-part.image {
  padding: 0;
  height: 55.9796437659vw;
  order: -1;
  margin-bottom: 3.8167938931vw;
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item .item-part.image {
    padding: 2.1333333333vw;
    padding-right: 0;
    height: auto;
    order: 0;
    margin-bottom: 0;
  }
}
.o-expetises-metier .list .item .item-part.image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1024px) {
  .o-expetises-metier .list .item:hover .item-part {
    background: var(--Primitives-Terciary-Lemon-chiffon);
  }
  .o-expetises-metier .list .item:hover .item-part.title {
    padding-left: 1.4666666667vw;
    padding-right: 0.6666666667vw;
  }
  .o-expetises-metier .list .item:hover .item-part.title .icon {
    opacity: 1;
    right: 2.1333333333vw;
    transform: rotate(0);
  }
  .o-expetises-metier .list .item:hover .item-part.image {
    padding-right: 2.1333333333vw;
  }
}

.o-tpl-hero {
  margin: var(--padding-global);
  margin-top: 0;
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 6.106870229vw;
  min-height: auto;
}
@media (min-width: 1024px) {
  .o-tpl-hero {
    flex-direction: row;
    margin-bottom: 1.6vw;
    min-height: 60vh;
  }
}
.o-tpl-hero--has-margin-bottom {
  margin-bottom: 14.2493638677vw;
}
@media (min-width: 1024px) {
  .o-tpl-hero--has-margin-bottom {
    margin-bottom: 3.7333333333vw;
  }
}
.o-tpl-hero__right {
  width: 100%;
  order: 1;
}
@media (min-width: 1024px) {
  .o-tpl-hero__right {
    width: 40.3333333333vw;
    flex-shrink: 0;
    order: 2;
  }
}
.o-tpl-hero__left {
  padding: 7.6335877863vw;
  flex-grow: 1;
  position: relative;
  order: 2;
}
@media (min-width: 1024px) {
  .o-tpl-hero__left {
    padding: 2.6666666667vw;
    order: 1;
  }
}
.o-tpl-hero__left .content {
  padding: 0;
  height: auto;
}
@media (min-width: 1024px) {
  .o-tpl-hero__left .content {
    padding-left: 5.6666666667vw;
    padding-right: 5.6666666667vw;
    padding-bottom: 3.0666666667vw;
    height: 100%;
  }
}
.o-tpl-hero__left .content .text {
  padding-top: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .o-tpl-hero__left .content .text {
    padding-right: 4vw;
    padding-top: 2.6666666667vw;
  }
}
.o-tpl-hero .breadcrumb {
  margin-bottom: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .o-tpl-hero .breadcrumb {
    margin-bottom: 1.3333333333vw;
  }
}
.o-tpl-hero .a-title-label {
  margin-top: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .o-tpl-hero .a-title-label {
    margin-top: 0.8vw;
    margin-left: 0.4vw;
  }
}
.o-tpl-hero .title {
  font-size: var(--Headline-Title-L);
  line-height: 1.05;
  font-weight: 500;
}
.o-tpl-hero .text {
  font-size: var(--Body-Body-body-M);
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  gap: 5.5979643766vw;
}
@media (min-width: 1024px) {
  .o-tpl-hero .text {
    gap: 1.4666666667vw;
  }
}
.o-tpl-hero--has-image .o-tpl-hero__left .content {
  padding-top: 7.6335877863vw;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .o-tpl-hero--has-image .o-tpl-hero__left .content {
    padding-top: 3.1333333333vw;
    justify-content: space-between;
  }
}
.o-tpl-hero--has-image .o-tpl-hero__right .media {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
}
@media (min-width: 1024px) {
  .o-tpl-hero--has-image .o-tpl-hero__right .media {
    aspect-ratio: 605/640;
  }
}
.o-tpl-hero--has-image .o-tpl-hero__right .media img, .o-tpl-hero--has-image .o-tpl-hero__right .media video {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-tpl-hero--has-image .o-tpl-hero__right .media .cta {
  bottom: 7.6335877863vw;
  left: 50%;
  transform: translate(-50%, 0);
  position: absolute;
  display: flex;
  align-items: center;
  gap: 2.0356234097vw;
  font-size: var(--Ui-Button-button-M);
  font-family: var(--font-mono);
  color: var(--color-white);
  text-transform: uppercase;
  z-index: 1;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 1024px) {
  .o-tpl-hero--has-image .o-tpl-hero__right .media .cta {
    bottom: 3vw;
    gap: 0.5333333333vw;
  }
}
@media (min-width: 1024px) {
  .o-tpl-hero--has-image .o-tpl-hero__right:hover .cta {
    bottom: 6.3333333333vw;
  }
}
.o-tpl-hero--no-image .o-tpl-hero__left .content {
  padding-bottom: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .o-tpl-hero--no-image .o-tpl-hero__left .content {
    padding-bottom: 0;
    padding-top: 2.4vw;
  }
}
.o-tpl-hero--no-image .o-tpl-hero__right {
  display: none;
}
@media (min-width: 1024px) {
  .o-tpl-hero--no-image .o-tpl-hero__right {
    display: block;
  }
  .o-tpl-hero--no-image .o-tpl-hero__right .content {
    padding: 5.0666666667vw 8.1333333333vw 5.0666666667vw 1.4666666667vw;
  }
  .o-tpl-hero--no-image .o-tpl-hero__right .content .text {
    font-size: var(--Body-Body-body-S);
  }
}

.m-news {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 0;
}
.m-news__header {
  grid-column: 1/-1;
  margin-bottom: 6.106870229vw;
  padding-top: 5.0890585242vw;
  padding-bottom: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .m-news__header {
    grid-column: 2/span 10;
    margin-bottom: 2.3333333333vw;
    padding-top: 1.6vw;
    padding-bottom: 0.8vw;
  }
}
.m-news__header .title {
  margin-bottom: 0;
}
.m-news__list {
  grid-column: 1/-1;
  display: grid;
  gap: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .m-news__list {
    grid-column: 2/span 10;
    gap: 0;
  }
}
.m-news.type-label .m-news__header {
  margin-bottom: 0;
}
.m-news.type-label .m-news__header .a-title-label {
  margin-bottom: 0;
}
.m-news.biggest .m-news__header .title {
  font-size: var(--Headline-Caption-XL);
  line-height: 1.1;
}

.m-card-news {
  padding: 3.0534351145vw;
  background: var(--Primitives-Terciary-Soft-grey);
}
@media (min-width: 1024px) {
  .m-card-news {
    padding: 0.8vw;
    margin-bottom: 0.8vw;
  }
}
.m-card-news__content {
  padding: 5.0890585242vw;
  border: 1px solid var(--color-black);
  display: flex;
  flex-direction: column;
  gap: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-card-news__content {
    padding: 1.6vw 1.6vw;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
.m-card-news__content .left {
  padding-right: 0;
  display: flex;
  flex-direction: column;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .m-card-news__content .left {
    padding-right: 5.4666666667vw;
    gap: 0.8vw;
  }
}
.m-card-news__content .left .title {
  font-size: var(--Headline-Title-S);
  line-height: 1.2;
  font-weight: 400;
}
.m-card-news__content .left .content-text {
  font-size: var(--Body-Body-body-S);
}
.m-card-news__content .left .a-title-label {
  padding: 2.5445292621vw 0;
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  .m-card-news__content .left .a-title-label {
    padding: 0.8vw 0;
  }
}
.m-card-news__content .left .metas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .m-card-news__content .left .metas {
    gap: 0.8vw;
  }
}
.m-card-news__content .left .metas .categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3333333333vw;
}
.m-card-news__content .left .metas .categories .category {
  font-size: var(--Ui-Button-button-S);
  text-transform: uppercase;
  font-family: var(--font-mono);
  padding: 1.272264631vw 3.0534351145vw;
  background: var(--Primitives-Terciary-Pale-ivory);
  border-radius: 2vw;
}
@media (min-width: 1024px) {
  .m-card-news__content .left .metas .categories .category {
    padding: 0.3333333333vw 1vw;
  }
}
.m-card-news__content .left .metas .date {
  font-size: 2.7989821883vw;
  color: #858585;
  display: flex;
  align-items: center;
  gap: 0.5333333333vw;
}
@media (min-width: 1024px) {
  .m-card-news__content .left .metas .date {
    font-size: 0.8vw;
  }
}
.m-card-news__content .left .metas .date .square {
  width: 3px;
  height: 3px;
  background: #858585;
}
.m-card-news__content .thumb {
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .m-card-news__content .thumb {
    width: 13.9333333333vw;
    aspect-ratio: auto;
  }
}
.m-card-news__content .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-card-case {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2.0356234097vw;
}
@media (min-width: 1024px) {
  .m-card-case {
    gap: 0.3333333333vw;
  }
}
.m-card-case .g-label--btn {
  opacity: 1;
  transition: all 0.3s ease;
}
@media (min-width: 1024px) {
  .m-card-case .g-label--btn {
    opacity: 0;
  }
}
.m-card-case__thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  flex-grow: 1;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .m-card-case__thumbnail {
    aspect-ratio: 16/12;
  }
}
.m-card-case__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1024px) {
  .m-card-case__thumbnail:hover .g-label--btn {
    opacity: 1;
  }
}
.m-card-case__categories {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.272264631vw;
}
@media (min-width: 1024px) {
  .m-card-case__categories {
    padding-top: 0.2vw;
  }
}
.m-card-case__categories .category {
  font-size: var(--Ui-Button-button-S);
  font-weight: 500;
  text-transform: uppercase;
  font-family: var(--font-mono);
  width: 50%;
}
.m-card-case__categories .locations {
  display: flex;
  gap: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .m-card-case__categories .locations {
    gap: 0.6666666667vw;
  }
}
.m-card-case__title {
  font-size: var(--Headline-Title-S);
  font-weight: 400;
  line-height: 1.2;
  margin-top: 1.0178117048vw;
}
@media (min-width: 1024px) {
  .m-card-case__title {
    margin-top: 0;
  }
}

.m-flex-bloc-home-last-news {
  background: var(--color-white);
}

.m-flex-bloc-home-last-case {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 8.1424936387vw;
  padding-bottom: 8.1424936387vw;
  background: var(--color-white);
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-last-case {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.m-flex-bloc-home-last-case__title {
  grid-column: 1/-1;
  font-size: var(--Headline-Title-L);
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 6.106870229vw;
  line-height: 1.1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-last-case__title {
    grid-column: 2/span 10;
    font-size: 4.9333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.m-flex-bloc-home-last-case__cases {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-last-case__cases {
    grid-column: 1/span 12;
  }
}
.m-flex-bloc-home-last-case__cases .list {
  padding: 0;
  width: 100%;
}

.m-flex-bloc-home-highlight-content {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  background: var(--color-white);
  padding-top: 10.1781170483vw;
  padding-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-highlight-content {
    padding-top: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid) / 2);
    padding-bottom: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid) / 2);
  }
}
.m-flex-bloc-home-highlight-content__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 15.2671755725vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-highlight-content__content {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: var(--grid-gap);
  }
}
.m-flex-bloc-home-highlight-content__content .item {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  gap: 7.1246819338vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-highlight-content__content .item {
    gap: 1.8666666667vw;
  }
}
.m-flex-bloc-home-highlight-content__content .item:last-child {
  padding-left: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-highlight-content__content .item:last-child {
    padding-left: 4.2666666667vw;
  }
}
.m-flex-bloc-home-highlight-content__content .item .item-content {
  display: flex;
  flex-direction: column;
  gap: 5.0890585242vw;
  padding-right: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-highlight-content__content .item .item-content {
    gap: 1.8666666667vw;
    padding-right: 4.2666666667vw;
  }
}
.m-flex-bloc-home-highlight-content__content .item .item-content .title {
  font-size: var(--Headline-Caption-XL);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.1;
}
.m-flex-bloc-home-highlight-content__content .item .item-content .content {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
  line-height: 1.5;
}
.m-flex-bloc-home-highlight-content__content .item .visuel {
  flex-grow: 1;
  display: flex;
  aspect-ratio: 4/3;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-highlight-content__content .item .visuel {
    aspect-ratio: auto;
  }
}
.m-flex-bloc-home-highlight-content__content .item .visuel img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-flex-bloc-home-numbers {
  background: var(--color-black);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  color: var(--color-white);
  font-size: 2.7989821883vw;
  font-weight: 400;
  font-family: var(--font-mono);
  text-transform: uppercase;
  padding-top: 10.1781170483vw;
  padding-bottom: 10.1781170483vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-numbers {
    font-size: 0.8vw;
    padding-top: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
    padding-bottom: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
  }
}
.m-flex-bloc-home-numbers__content {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 6.106870229vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-numbers__content {
    grid-column: 2/span 6;
    gap: 4.5333333333vw;
    flex-wrap: nowrap;
  }
}
.m-flex-bloc-home-numbers__content .item {
  display: flex;
  align-items: center;
  gap: 2.0356234097vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-numbers__content .item {
    gap: 0.5333333333vw;
  }
}

.m-flex-bloc-home-text {
  background: var(--color-black);
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 15.2671755725vw;
  padding-bottom: 15.2671755725vw;
  /*
  &.bloc-2 {
      background: transparent;
  }
  */
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-text {
    padding-bottom: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
    padding-top: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
  }
}
.m-flex-bloc-home-text.bloc-2 {
  background: linear-gradient(to top, black 0%, transparent 100%);
}
.m-flex-bloc-home-text .title {
  font-size: var(--Headline-Caption-XL);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--color-white);
  margin-bottom: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-text .title {
    margin-bottom: 1.3333333333vw;
  }
}
.m-flex-bloc-home-text .content {
  font-size: var(--Body-M);
  line-height: 1.5;
  color: var(--color-white);
}
.m-flex-bloc-home-text .a-boutton {
  margin-top: 7.6335877863vw;
  color: var(--color-white);
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-text .a-boutton {
    margin-top: 2vw;
  }
}
.m-flex-bloc-home-text .a-boutton svg path {
  fill: var(--color-white) !important;
}
.m-flex-bloc-home-text.size-large .content {
  font-size: var(--Body-L);
}
.m-flex-bloc-home-text.type-col-1 .title, .m-flex-bloc-home-text.type-col-1 .content, .m-flex-bloc-home-text.type-default .title, .m-flex-bloc-home-text.type-default .content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-text.type-col-1 .title, .m-flex-bloc-home-text.type-col-1 .content, .m-flex-bloc-home-text.type-default .title, .m-flex-bloc-home-text.type-default .content {
    grid-column: 2/span 6;
  }
}
.m-flex-bloc-home-text.type-cols-2 .title, .m-flex-bloc-home-text.type-cols-2 .content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-text.type-cols-2 .title, .m-flex-bloc-home-text.type-cols-2 .content {
    grid-column: 2/span 4;
  }
}
.m-flex-bloc-home-text.type-cols-2 .content {
  margin-top: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-text.type-cols-2 .content {
    grid-column: 7/span 5;
    margin-top: 0;
  }
}

.m-flex-bloc-home-hero {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  min-height: 75dvh;
  position: relative;
  padding: var(--padding-global);
  padding-bottom: 15.2671755725vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-hero {
    min-height: 70vh;
    padding-bottom: calc((100% - (var(--grid) - 1) * var(--grid-gap)) / var(--grid));
  }
}
.m-flex-bloc-home-hero * {
  color: var(--color-white);
}
.m-flex-bloc-home-hero a {
  color: var(--color-white);
}
.m-flex-bloc-home-hero a svg path {
  fill: var(--color-white) !important;
}
.m-flex-bloc-home-hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.m-flex-bloc-home-hero__video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-flex-bloc-home-hero__video::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.4) 100%);
}
.m-flex-bloc-home-hero__content {
  position: relative;
  z-index: 2;
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 89.058524173vw;
  gap: 6.106870229vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-hero__content {
    grid-column: 2/span 10;
    min-height: 31.2666666667vw;
    gap: 1.6vw;
  }
}
.m-flex-bloc-home-hero__content .title {
  font-size: var(--Headline-Caption-XL);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 110%;
}
@media (min-width: 1024px) {
  .m-flex-bloc-home-hero__content .title {
    line-height: 110%;
  }
}
.m-flex-bloc-home-hero__content span {
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
  text-transform: uppercase;
}

.m-menu {
  --color: var(--color-black);
}
.m-menu nav {
  display: flex;
  justify-content: space-between;
}
.m-menu.inverse {
  --color: var(--color-white);
}
.m-menu a {
  display: inline-block;
  font-size: 1.0666666667vw;
  font-family: var(--font-maison-neue);
  font-weight: 400;
  position: relative;
  text-transform: uppercase;
  overflow: hidden;
  padding-bottom: 3px;
  vertical-align: middle;
  color: var(--color);
}
.m-menu a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color);
  transition: transform 0.3s ease;
  transform: translateX(-100%);
}
.m-menu a:hover:after, .m-menu a.active:after {
  transform: translateX(0);
}
.m-menu a.active {
  font-weight: 400;
}

.m-popin-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--padding-global, 20px);
  /* État actif */
}
.m-popin-video.is-active {
  opacity: 1;
  visibility: visible;
}
.m-popin-video__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  cursor: pointer;
}
.m-popin-video__container {
  position: relative;
  width: 93.3333333333vw;
  height: calc(100vh - 6.6666666667vw);
  background: #000;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  z-index: 2;
  max-width: 100%;
  max-height: 100%;
}
.m-popin-video__player {
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 0;
  overflow: hidden;
}
.m-popin-video__player iframe,
.m-popin-video__player video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  /** * 'contain' : la vidéo est entière sans être coupée (bandes noires si besoin)
   * 'cover' : la vidéo remplit tout l'espace quitte à être un peu rognée
   */
  -o-object-fit: contain;
     object-fit: contain;
  background: #000;
}
.m-popin-video__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  background: none;
  border: none;
  color: white;
  font-size: 40px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}
.m-popin-video__close:hover {
  opacity: 0.7;
}

.m-flex-dev-info {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  margin: var(--padding-global) 0;
  border-bottom: 1px solid var(--color-text);
}
.m-flex-dev-info__content {
  grid-column: 2/span 10;
  font-size: var(--Headline-Title-S);
  padding: var(--padding-global) 0;
}

.m-flex-bloc-key-numbers-list {
  padding: var(--padding-global);
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--padding-global);
}
@media (min-width: 1024px) {
  .m-flex-bloc-key-numbers-list {
    padding: var(--padding-global) 9.6666666667vw;
    gap: var(--padding-global);
    grid-template-columns: repeat(auto-fit, minmax(max(200px, 30%), 1fr));
  }
}
.m-flex-bloc-key-numbers-list .item {
  padding: 6.106870229vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: var(--Primitives-Terciary-Soft-grey);
  gap: 3.0534351145vw;
  min-height: 50.8905852417vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-key-numbers-list .item {
    padding: 1.8666666667vw;
    gap: 1.2vw;
    min-height: 270px;
  }
}
.m-flex-bloc-key-numbers-list .item .item-number {
  font-size: var(--Headline-Title-L);
  font-weight: 400;
  line-height: 1;
}
.m-flex-bloc-key-numbers-list .item .item-caption {
  font-size: var(--Body-Body-body-M);
  line-height: 1.2;
  font-weight: 400;
}

.m-flex-bloc-highlights-list {
  padding: var(--padding-global);
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--grid-gap);
}
@media (min-width: 1024px) {
  .m-flex-bloc-highlights-list {
    grid-template-columns: repeat(auto-fit, minmax(max(200px, 30%), 1fr));
    gap: var(--padding-global);
  }
}
.m-flex-bloc-highlights-list .item {
  padding: 4.0712468193vw;
  background: var(--Primitives-Terciary-Soft-grey);
  min-height: 55.9796437659vw;
  display: flex;
}
@media (min-width: 1024px) {
  .m-flex-bloc-highlights-list .item {
    padding: 1.4666666667vw;
    min-height: 270px;
  }
}
.m-flex-bloc-highlights-list .item .content {
  padding: 5.0890585242vw;
  border: 1px solid var(--color-text);
  display: flex;
  gap: 3.5623409669vw;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
@media (min-width: 1024px) {
  .m-flex-bloc-highlights-list .item .content {
    padding: 1.4666666667vw;
    gap: 1.2vw;
  }
}
.m-flex-bloc-highlights-list .item .item-title {
  font-size: var(--Headline-Title-S);
  font-weight: 400;
  line-height: 1.1;
}
.m-flex-bloc-highlights-list .item .item-caption {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
  line-height: 1.4;
}

.m-flex-bloc-informations-list {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  isolation: isolate;
  padding: var(--padding-global);
  padding-top: 0;
  margin-bottom: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list {
    margin-bottom: 1.3333333333vw;
  }
}
.m-flex-bloc-informations-list__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-text);
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__content {
    grid-column: 2/span 10;
  }
}
.m-flex-bloc-informations-list__content .item {
  padding: 5.0890585242vw;
  border-bottom: 1px solid var(--color-text);
  font-size: var(--Body-Body-body-M);
  line-height: 1.4;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__content .item {
    padding: 1.4666666667vw;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--grid-gap);
  }
}
.m-flex-bloc-informations-list__content .item:last-child {
  border-bottom: none;
}
.m-flex-bloc-informations-list__content .item .content {
  width: 100%;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__content .item .content {
    width: 36.6666666667vw;
  }
}
.m-flex-bloc-informations-list__content .item .content .title {
  font-size: var(--Headline-Title-XS);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 2.0356234097vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__content .item .content .title {
    margin-bottom: 0.8vw;
  }
}
.m-flex-bloc-informations-list__content .item .content .description {
  font-size: 3.5623409669vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__content .item .content .description {
    font-size: 0.9333333333vw;
  }
}
.m-flex-bloc-informations-list__content .item .a-button, .m-flex-bloc-informations-list__content .item .icon, .m-flex-bloc-informations-list__content .item > a {
  align-self: flex-start;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__content .item .a-button, .m-flex-bloc-informations-list__content .item .icon, .m-flex-bloc-informations-list__content .item > a {
    align-self: center;
  }
}
.m-flex-bloc-informations-list__global-contact {
  grid-column: 1/-1;
  margin-top: 5.0890585242vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-informations-list__global-contact {
    grid-column: 2/span 10;
    margin-top: 1.8666666667vw;
    flex-direction: row;
    align-items: center;
    gap: 1.4666666667vw;
  }
}
.m-flex-bloc-informations-list__global-contact .label {
  font-size: var(--Body-Body-body-S);
  font-weight: 400;
}

.m-flex-bloc-text-media {
  padding: var(--padding-global);
  padding-top: 0;
  margin: 10.1781170483vw 0;
  --title: var(--Headline-Title-M);
  --content: var(--Body-Body-body-M);
}
@media (min-width: 1024px) {
  .m-flex-bloc-text-media {
    margin: 4vw 0;
  }
}
.m-flex-bloc-text-media__content {
  display: flex;
  flex-direction: column;
  gap: 0vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-text-media__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: var(--grid-gap);
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-text-media__content.position-right .content {
    grid-column: 1;
    grid-row: 1;
  }
  .m-flex-bloc-text-media__content.position-right .media {
    grid-column: 2;
    grid-row: 1;
  }
}
.m-flex-bloc-text-media__content.size-small {
  --content: var(--Body-Body-body-S);
  --title: var(--Headline-Title-S);
}
.m-flex-bloc-text-media__content .media {
  order: 1;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media (min-width: 1024px) {
  .m-flex-bloc-text-media__content .media {
    aspect-ratio: 640/599;
    order: initial;
  }
}
.m-flex-bloc-text-media__content .media.media-color {
  padding: 7.6335877863vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-text-media__content .media.media-color {
    padding: 2.6666666667vw;
  }
}
.m-flex-bloc-text-media__content .media img, .m-flex-bloc-text-media__content .media video, .m-flex-bloc-text-media__content .media a {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.m-flex-bloc-text-media__content .media .text {
  font-weight: 500;
  font-size: var(--Headline-Caption-L);
  padding: var(--padding-global);
  text-transform: uppercase;
  line-height: 1.2;
}
.m-flex-bloc-text-media__content .content {
  order: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  padding-top: 2.5445292621vw;
  gap: 5.0890585242vw;
  font-size: var(--content);
  font-weight: 400;
}
.m-flex-bloc-text-media__content .content .g-content {
  font-size: var(--content);
}
@media (min-width: 1024px) {
  .m-flex-bloc-text-media__content .content {
    padding: 0 8.1333333333vw;
    gap: 2vw;
    order: initial;
  }
}
.m-flex-bloc-text-media__content .content .title {
  font-size: var(--title);
  line-height: 1.2;
}

.m-flex-bloc-highlight-text {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  position: relative;
  isolation: isolate;
  margin: var(--padding-global);
  margin-top: 0;
}
.m-flex-bloc-highlight-text svg path {
  fill: var(--color-text) !important;
}
.m-flex-bloc-highlight-text__content {
  grid-column: 1/-1;
  padding: 10.1781170483vw 6.106870229vw;
  display: flex;
  flex-direction: column;
  gap: 6.106870229vw;
  font-size: var(--Headline-Title-S);
  line-height: 1.2;
}
@media (min-width: 1024px) {
  .m-flex-bloc-highlight-text__content {
    grid-column: 2/span 10;
    padding: 4.2666666667vw 0;
    padding-right: 27.3333333333vw;
    gap: 2.5333333333vw;
  }
}
.m-flex-bloc-highlight-text__content h3 {
  margin-bottom: 0;
}

.m-flex-bloc-drop-down-list {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 0;
  margin-bottom: 7.6335877863vw;
  margin-top: 3.0534351145vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list {
    margin-bottom: 2.6666666667vw;
    margin-top: 2.6666666667vw;
  }
}
.m-flex-bloc-drop-down-list__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: var(--grid-gap);
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content {
    grid-column: 2/span 10;
  }
}
.m-flex-bloc-drop-down-list__content .item {
  display: flex;
  flex-direction: column;
  gap: 5.0890585242vw;
  font-weight: 400;
  padding-top: 5.0890585242vw;
  padding-bottom: 7.6335877863vw;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .item {
    flex-direction: row;
    gap: var(--grid-gap);
    padding-top: 0.9333333333vw;
    padding-bottom: 2.6666666667vw;
  }
}
.m-flex-bloc-drop-down-list__content .item .title {
  flex: 1;
  font-size: var(--Headline-Title-S);
  padding-right: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .item .title {
    padding-right: 2vw;
  }
}
.m-flex-bloc-drop-down-list__content .item .content {
  flex: 1;
  font-size: var(--Body-Body-body-M);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .item .content {
    gap: 2vw;
  }
}
.m-flex-bloc-drop-down-list__content .item .content-expendable p {
  overflow: hidden;
}
.m-flex-bloc-drop-down-list__content .item .content-expendable img.alignnone {
  float: left;
  margin: 10px;
}
.m-flex-bloc-drop-down-list__content .action {
  display: flex;
  justify-content: flex-start;
  width: 100%;
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .action.aligne-right {
    justify-content: flex-end;
  }
}
.m-flex-bloc-drop-down-list__content .read-more {
  display: inline-block;
  text-transform: uppercase;
  font-size: var(--Ui-Button-button-S);
  cursor: pointer;
  overflow: hidden;
  position: relative;
  letter-spacing: 0.2544529262vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .read-more {
    font-size: var(--Ui-Button-button-M);
    letter-spacing: 0.1vw;
  }
}
.m-flex-bloc-drop-down-list__content .read-more .read-more-wrapper {
  display: grid;
  grid-template-areas: "stack";
  align-items: center;
}
.m-flex-bloc-drop-down-list__content .read-more .read-more-state {
  grid-area: stack;
  display: flex;
  align-items: center;
  gap: 2.0356234097vw;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .read-more .read-more-state {
    gap: 0.5333333333vw;
  }
}
.m-flex-bloc-drop-down-list__content .read-more .read-more-state svg {
  width: 3.5623409669vw;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (min-width: 1024px) {
  .m-flex-bloc-drop-down-list__content .read-more .read-more-state svg {
    width: 1.2vw;
  }
}
.m-flex-bloc-drop-down-list__content .read-more .read-more-open {
  transform: translateY(0%);
}
.m-flex-bloc-drop-down-list__content .read-more .read-more-close {
  transform: translateY(100%);
}
.m-flex-bloc-drop-down-list__content .item.is-expanded .read-more .read-more-open {
  transform: translateY(-100%);
}
.m-flex-bloc-drop-down-list__content .item.is-expanded .read-more .read-more-close {
  transform: translateY(0%);
}
.m-flex-bloc-drop-down-list__content--size-extra-small .item .title {
  font-size: var(--Headline-Title-XS);
}
.m-flex-bloc-drop-down-list__content--size-extra-small .item .content {
  font-size: var(--Body-Body-body-S);
}

.m-flex-bloc-expertises {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  padding-top: 0;
  margin-bottom: var(--padding-global);
}
.m-flex-bloc-expertises__content {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content {
    grid-column: 2/span 10;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: var(--grid-gap);
    flex-direction: row;
  }
}
.m-flex-bloc-expertises__content .content {
  grid-column: 1/span 4;
  padding-top: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content .content {
    padding-top: 2.9333333333vw;
  }
}
.m-flex-bloc-expertises__content .content .description {
  font-size: var(--Body-Body-body-S);
  line-height: 1.4;
  font-weight: 400;
}
.m-flex-bloc-expertises__content .expertises {
  grid-column: 6/span 5;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.m-flex-bloc-expertises__content.columns .content {
  padding-bottom: 0;
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content.columns .content {
    padding-bottom: var(--padding-global);
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content.columns .expertises {
    grid-column: span 5;
  }
}
.m-flex-bloc-expertises__content .expertise {
  padding: 5.0890585242vw 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--Headline-Title-S);
  font-weight: 400;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  position: relative;
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content .expertise {
    padding: 1.6666666667vw 0;
  }
}
.m-flex-bloc-expertises__content .expertise .icon {
  opacity: 1;
  position: relative;
  right: 0;
  top: auto;
  transform: none;
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content .expertise .icon {
    opacity: 0;
    position: absolute;
    right: 0vw;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises__content .expertise:hover {
    background-color: var(--Primitives-Terciary-Lemon-chiffon);
    padding: 1.6666666667vw 1.4666666667vw;
  }
  .m-flex-bloc-expertises__content .expertise:hover .icon {
    opacity: 1;
    right: 1.6666666667vw;
  }
}
.m-flex-bloc-expertises.variation--small {
  padding: 0;
  display: block;
}
.m-flex-bloc-expertises.variation--small .m-flex-bloc-expertises__content {
  display: block;
  width: 100%;
}
.m-flex-bloc-expertises.variation--small .expertises {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0356234097vw;
  flex-direction: row;
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises.variation--small .expertises {
    gap: 0.8vw;
  }
}
.m-flex-bloc-expertises.variation--small .expertise {
  width: auto;
  font-size: var(--Ui-Button-button-M);
  font-family: var(--font-mono);
  padding: 3.0534351145vw 3.5623409669vw;
  padding-right: 5.0890585242vw;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 2.0356234097vw;
  border-top: none;
  background: rgba(0, 0, 0, 0.05);
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  position: relative;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises.variation--small .expertise {
    padding: 1.0666666667vw 1.3333333333vw;
    background: transparent;
    gap: 0.6666666667vw;
  }
}
.m-flex-bloc-expertises.variation--small .expertise .icon {
  filter: none;
  position: static;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 1;
  transform: none;
}
.m-flex-bloc-expertises.variation--small .expertise:hover {
  color: var(--color-black) !important;
  background-color: var(--Primitives-Terciary-Lemon-chiffon);
  gap: 4.0712468193vw;
  padding-right: 3.5623409669vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-expertises.variation--small .expertise:hover {
    gap: 1.0666666667vw;
    padding-right: 0.9333333333vw;
  }
}
.m-flex-bloc-expertises.variation--small .expertise.nolink:hover {
  background-color: transparent;
}
.m-flex-bloc-expertises.white {
  color: var(--color-white) !important;
}
.m-flex-bloc-expertises.white .expertise {
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.m-flex-bloc-expertises.white .expertise .icon {
  filter: invert(1) brightness(200%);
}
.m-flex-bloc-expertises.white .expertise:hover {
  background-color: var(--Primitives-Terciary-Lemon-chiffon);
  color: var(--color-black) !important;
}
.m-flex-bloc-expertises.white .expertise:hover .icon {
  filter: none;
}

.m-flex-bloc-body-text {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  font-size: var(--Body-Body-body-M);
  font-weight: 400;
  line-height: 1.4;
  padding: var(--padding-global);
  padding-top: 0;
  margin-bottom: 5.0890585242vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-body-text {
    margin-bottom: 1.3333333333vw;
  }
}
.m-flex-bloc-body-text .content {
  grid-column: 1/-1;
  display: block;
}
@media (min-width: 1024px) {
  .m-flex-bloc-body-text .content {
    grid-column: 2/span 10;
    display: grid;
    gap: var(--grid-gap);
  }
}
@media (min-width: 1024px) {
  .m-flex-bloc-body-text--1-col .content {
    grid-column: 2/span 8;
    grid-template-columns: 1fr;
  }
}
.m-flex-bloc-body-text--2-col .content {
  -moz-column-count: 1;
       column-count: 1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-body-text--2-col .content {
    display: block;
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: calc(var(--grid-gap) + 32px);
         column-gap: calc(var(--grid-gap) + 32px);
    -moz-column-fill: balance;
         column-fill: balance;
    orphans: 2;
    widows: 2;
  }
  .m-flex-bloc-body-text--2-col .content p, .m-flex-bloc-body-text--2-col .content h2, .m-flex-bloc-body-text--2-col .content h3, .m-flex-bloc-body-text--2-col .content h4, .m-flex-bloc-body-text--2-col .content ul, .m-flex-bloc-body-text--2-col .content li, .m-flex-bloc-body-text--2-col .content figure {
    -moz-column-break-inside: auto;
         break-inside: auto;
    margin-top: 0;
    margin-bottom: 1rem;
  }
}
.m-flex-bloc-body-text p, .m-flex-bloc-body-text ul, .m-flex-bloc-body-text ol {
  margin-bottom: 4.0712468193vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-body-text p, .m-flex-bloc-body-text ul, .m-flex-bloc-body-text ol {
    margin-bottom: 1rem;
  }
}

.a-title-label {
  font-size: var(--Body-Description-Label);
  font-family: var(--font-mono);
  font-weight: 500;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  margin-bottom: 6.106870229vw;
  gap: 2.5445292621vw;
  letter-spacing: 0.2544529262vw;
  align-items: baseline;
}
@media (min-width: 1024px) {
  .a-title-label {
    margin-bottom: 2.9333333333vw;
    gap: 0.8vw;
    letter-spacing: 0.1vw;
  }
}
.a-title-label span {
  display: block;
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  background-color: var(--color-text);
}
.a-title-label.label--white {
  color: var(--color-white);
}
.a-title-label.label--white span {
  background-color: var(--color-white);
}

.o-flex-blocs .bloc-space {
  display: grid;
  margin: 2.9333333333vw;
}

.m-flex-bloc-introducing {
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
  padding: var(--padding-global);
  margin-bottom: var(--padding-global);
  margin-top: var(--padding-global);
}
.m-flex-bloc-introducing .content {
  text-transform: uppercase;
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-introducing .content {
    grid-column-start: 2;
  }
}
.m-flex-bloc-introducing--size-extra-large .content {
  font-size: var(--Headline-Title-L);
  line-height: 1.1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-introducing--size-extra-large .content {
    grid-column: 2/span 10;
    line-height: 1;
  }
}
.m-flex-bloc-introducing--size-large .content {
  font-size: var(--Headline-Caption-L);
  line-height: 1.3;
}
@media (min-width: 1024px) {
  .m-flex-bloc-introducing--size-large .content {
    grid-column: 2/span 9;
    line-height: 1.2;
  }
}

.m-flex-bloc-title-baseline {
  padding: var(--padding-global);
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(var(--grid), 1fr);
  gap: var(--grid-gap);
}
.m-flex-bloc-title-baseline__content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-title-baseline__content {
    grid-column: 2/span 10;
  }
}
.m-flex-bloc-title-baseline__title {
  font-size: var(--Headline-Title-L);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 2.5445292621vw;
}
@media (min-width: 1024px) {
  .m-flex-bloc-title-baseline__title {
    margin-bottom: 0.8vw;
  }
}
.m-flex-bloc-title-baseline .a-title-label {
  margin-bottom: 0;
}

.m-flex-bloc-visual {
  padding: var(--padding-global);
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--grid-gap);
  /* --- PLACEMENT SUR LA GRILLE --- */
  /* --- RATIOS ADAPTATIFS --- */
}
.m-flex-bloc-visual__content {
  display: flex;
  flex-direction: column;
  gap: var(--grid-gap);
  width: 100%;
}
@media (min-width: 1024px) {
  .m-flex-bloc-visual__content {
    flex-direction: row;
    gap: var(--padding-global);
  }
}
.m-flex-bloc-visual .media, .m-flex-bloc-visual a {
  flex: 1;
  overflow: hidden;
}
.m-flex-bloc-visual .media img, .m-flex-bloc-visual .media video, .m-flex-bloc-visual a img, .m-flex-bloc-visual a video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.m-flex-bloc-visual__content {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .m-flex-bloc-visual__content {
    /* Portrait & Square Desktop Centrage */
  }
  .type-portrait.count-1 .m-flex-bloc-visual__content, .type-square.count-1 .m-flex-bloc-visual__content {
    grid-column: 4/span 6;
  }
  .type-portrait.count-2 .m-flex-bloc-visual__content, .type-square.count-2 .m-flex-bloc-visual__content {
    grid-column: 2/span 10;
  }
  .type-portrait.count-3 .m-flex-bloc-visual__content, .type-square.count-3 .m-flex-bloc-visual__content {
    grid-column: 2/span 10;
  }
}
.m-flex-bloc-visual.type-landscape .media, .m-flex-bloc-visual.type-landscape a {
  aspect-ratio: 350/200;
}
.m-flex-bloc-visual.type-portrait .media, .m-flex-bloc-visual.type-portrait a {
  aspect-ratio: 350/450;
}
.m-flex-bloc-visual.type-square .media, .m-flex-bloc-visual.type-square a {
  aspect-ratio: 1/1;
}
/*# sourceMappingURL=main.css.map */
