/*
 * Sections — layout of the landing page.
 * Mobile-first from the 390 px maquette (30:342, y in comments = Figma y), then desktop
 * from the 1728 px maquette (30:86) at ≥ 1024 px. Spacing values are Figma distances.
 */

/* =========================== Header (Nav-hover) =========================== */
.site-header {
  /* Mobile : barre collante (30:439 « sticky top-0 »), sans fond dans la maquette. */
  position: sticky;
  top: 0;
  z-index: var(--z-header);
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * var(--m));
  padding: calc(24 * var(--m));
}

.nav__logo {
  display: block;
  flex: none;
}

.nav__logo img {
  width: calc(89.02 * var(--m));
  height: calc(32 * var(--m));
}

.nav__menu,
.nav__actions {
  display: none;
}

@media (min-width: 1024px) {
  .site-header {
    position: relative;
    padding: calc(40 * var(--u)) calc(73 * var(--u));
    border-radius: 0 0 calc(40 * var(--u)) calc(40 * var(--u));
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }

  .nav {
    height: calc(57 * var(--u));
    padding: 0;
    gap: 0;
  }

  .nav__logo {
    width: calc(271 * var(--u));
  }

  .nav__logo img {
    width: calc(111.275 * var(--u));
    height: calc(40 * var(--u));
  }

  .nav__menu {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: calc(80 * var(--u));
    padding: 0 calc(80 * var(--u));
    border-radius: calc(60 * var(--u));
    background: var(--c-cream);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .nav__actions {
    display: flex;
    align-items: center;
    gap: calc(60 * var(--u));
  }

  .menu-btn {
    display: none;
  }
}

/* ================================ Hero ================================ */
.hero {
  position: relative;
  min-height: calc(656 * var(--m));            /* 95 → 751 */
  padding: calc(100 * var(--m)) calc(32 * var(--m)) 0; /* slogan y = 195 */
}

.hero__numbers .num--1 {
  left: calc(99 * var(--m));
  top: calc(67 * var(--m));
}

.hero__numbers .num--2 {
  left: calc(229 * var(--m));
  top: calc(117 * var(--m));
}

.hero__numbers .num--3 {
  left: calc(54 * var(--m));
  top: calc(152 * var(--m));
}

.tag--1 {
  left: calc(30 * var(--m));
  top: calc(250 * var(--m));
}

.tag--2 {
  left: calc(44 * var(--m));
  top: calc(300 * var(--m));
}

.tag--3 {
  left: calc(24 * var(--m));
  top: calc(330 * var(--m));
}

/*
 * Slogan « Un monde de … » — Animation header 30:232 / texte mobile 30:354.
 * Mobile : « Un monde » sur la 1re ligne, puis « de » + mot animé sur la 2e (« de solutions. »).
 * Desktop : une seule ligne. 0.256em = chasse de l'espace d'Unbounded Medium (256/1000).
 */
.tagline {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: calc(326 * var(--m));
  font-family: var(--font-display);
  font-weight: 500;
  font-size: calc(28 * var(--m));
  line-height: 1.2;
  color: var(--c-deep-black);
}

.tagline__lead {
  flex: 0 0 100%;
  white-space: nowrap;
}

.tagline__de {
  flex: none;
  white-space: nowrap;
}

.tagline__window {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  overflow: clip visible;                     /* coupe à droite sans rogner accents ni jambages */
  padding-left: 0.256em;
}

.tagline__track {
  display: flex;
  gap: 0.333em;
  width: max-content;
  white-space: nowrap;
  transform: translateX(var(--tagline-shift, 0));
  transition: transform 700ms var(--ease-out);
}

.tagline__word {
  color: var(--c-cream-c50);
  transition: color 500ms ease;
}

.tagline__dot {
  color: var(--c-cream);
  transition: color 500ms ease;
}

.tagline.is-final .tagline__dot {
  color: inherit;
}

.tagline__word.is-active {
  color: var(--c-deep-black);
}

/* Maquette mobile (état statique) : « Un monde / de solutions. » */
.no-js .tagline__word:not(.tagline__word--last) {
  display: none;
}

.no-js .tagline__word--last,
.no-js .tagline__dot {
  color: inherit;
}

.hero__lead {
  width: calc(318 * var(--m));
  margin-top: calc(54.8 * var(--m));
  font-family: var(--font-text);
  font-size: calc(20 * var(--m));
  line-height: 1.4;
  color: var(--c-blue-b70);
}

.hero__lead strong {
  font-weight: 700;
}

@media (min-width: 1024px) {
  .hero {
    min-height: calc(798 * var(--u));        /* 137 → 935 */
    padding: calc(201 * var(--u)) 0 0 calc(291 * var(--u));
  }

  .hero__numbers .num--1 {
    left: calc(374 * var(--u));
    top: calc(142 * var(--u));
  }

  .hero__numbers .num--2 {
    left: calc(789 * var(--u));
    top: calc(142 * var(--u));
  }

  .hero__numbers .num--3 {
    left: calc(1090 * var(--u));
    top: calc(142 * var(--u));
  }

  .tag--1 {
    left: calc(300 * var(--u));
    top: calc(410 * var(--u));
  }

  .tag--2 {
    left: calc(560 * var(--u));
    top: calc(440 * var(--u));
  }

  .tag--3 {
    left: calc(900 * var(--u));
    top: calc(410 * var(--u));
  }

  .tagline {
    flex-wrap: nowrap;
    width: calc(1441 * var(--u));
    margin-left: calc(-4 * var(--u));
    font-size: calc(60 * var(--u));
    line-height: 1.1;
    color: var(--c-dark);
  }

  .tagline__lead {
    flex: none;
  }

  .tagline__de {
    margin-left: 0.256em;
  }

  .tagline__window {
    padding-left: calc(20 * var(--u));        /* « développement » à x = 596 (Figma) */
  }

  .tagline__track {
    gap: calc(20 * var(--u));
  }

  .tagline__word.is-active {
    color: var(--c-dark);
  }

  /* Maquette desktop (état statique) : tous les mots en Cream/C50. */
  .no-js .tagline__word:not(.tagline__word--last) {
    display: inline;
  }

  .no-js .tagline__word--last {
    color: var(--c-cream-c50);
  }

  .no-js .tagline__dot {
    color: var(--c-cream);
  }

  .hero__lead {
    width: calc(1146 * var(--u));
    margin-top: calc(60 * var(--u));
    font-size: calc(32 * var(--u));
    line-height: 1.2;
  }
}

/* ============================== Expertises ============================== */
.expertises .eyebrow {
  margin-left: calc(40 * var(--m));          /* y = 751 */
}

.bento {
  display: grid;
  grid-template-columns: calc(183 * var(--m)) calc(183 * var(--m));
  grid-template-rows: minmax(calc(240 * var(--m)), auto) calc(283 * var(--m)) minmax(calc(248 * var(--m)), auto) calc(308 * var(--m));
  grid-template-areas:
    "s1 pro"
    "team team"
    "s3 s2"
    "nov nov";
  column-gap: calc(8 * var(--m));
  margin-top: calc(23.8 * var(--m));          /* y = 794 */
  padding-left: calc(8 * var(--m));
}

.bento__cell--svc1 {
  grid-area: s1;
}

.bento__cell--proactifs {
  grid-area: pro;
}

.bento__cell--team {
  grid-area: team;
  height: calc(300 * var(--m));
  margin-top: calc(-17 * var(--m));          /* y = 1017 */
}

.bento__cell--svc3 {
  grid-area: s3;
  margin-top: calc(8 * var(--m));            /* y = 1325 */
}

.bento__cell--svc2 {
  grid-area: s2;
  margin-top: calc(8 * var(--m));
}

.bento__cell--novateurs {
  grid-area: nov;
  margin-top: calc(8 * var(--m));            /* y = 1573 */
}

/* Photo « Team » + mot défilant (note 30:561) */
.team {
  overflow: hidden;
  border-radius: calc(300 * var(--m)) calc(300 * var(--m)) calc(20 * var(--m)) calc(20 * var(--m));
  background: var(--c-dark);
}

.team__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team__marquee {
  --word-gap: calc(23.8 * var(--m));
  --word-period: calc(316 * var(--m));
  position: absolute;
  left: calc(102 * var(--m) - 2 * var(--word-period));
  top: calc(230.27 * var(--m));
  display: flex;
  gap: var(--word-gap);
  white-space: nowrap;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: calc(40 * var(--m));
  line-height: 1;
  color: var(--c-white);
  animation: marquee-right 11s linear infinite;
}

@keyframes marquee-right {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--word-period));
  }
}

/* Cercle « proactifs » (note 30:557 : rotation lente et constante) */
.proactifs {
  width: calc(240 * var(--m));
  height: calc(240 * var(--m));
  border-radius: 50%;
  background: var(--c-white);
}

/*
 * Mobile (30:395) : groupe 139.23 × 163.47 en (231.27, 836.56), tourné de 180° autour de SON centre C.
 * La rotation continue se fait autour du centre O du cercle (319, 914) → origine = O.
 * Avec l'origine en O : rotation de 180° autour de C = translate(2·(C − O)) rotate(180deg),
 * soit C − O = (69.61 − 87.73, 81.73 − 77.44). La propriété `rotate` (animée) s'applique avant `transform`.
 */
.proactifs__word {
  position: absolute;
  left: calc(32.27 * var(--m));
  top: calc(42.56 * var(--m));
  width: calc(139.23 * var(--m));
  height: calc(163.47 * var(--m));
  transform-origin: calc(87.73 * var(--m)) calc(77.44 * var(--m));
  transform: translate(calc(-36.23 * var(--m)), calc(8.59 * var(--m))) rotate(180deg);
  animation: turn 48s linear infinite;
}

@keyframes turn {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}

/* Carte « novateurs » */
.novateurs img,
.novateurs svg {
  width: 100%;
  height: 100%;
}

.novateurs__text {
  font-family: var(--font-display);
  font-weight: 700;
  fill: var(--c-pear);
}

.novateurs__text--d {
  font-size: 80px;
}

.novateurs__text--m {
  font-size: 52px;
}

@media (min-width: 1024px) {
  .expertises {
    padding-left: calc(73 * var(--u));
  }

  .expertises .eyebrow {
    margin-left: 0;                          /* y = 935, x = 73 */
  }

  .bento {
    grid-template-columns: calc(490 * var(--u)) calc(635 * var(--u)) calc(417 * var(--u));
    grid-template-rows:
      minmax(calc(400 * var(--u)), auto) calc(20 * var(--u)) minmax(calc(180 * var(--u)), auto) calc(20 * var(--u))
      minmax(calc(100 * var(--u)), auto) calc(20 * var(--u)) minmax(calc(480 * var(--u)), auto);
    grid-template-areas:
      "s1  team pro"
      "s1  team ."
      "s1  team s3"
      ".   team s3"
      "nov team s3"
      "nov .    s3"
      "nov s2   s3";
    column-gap: calc(20 * var(--u));
    margin-top: calc(40.2 * var(--u));        /* y = 1004 */
    padding-left: 0;
  }

  .bento__cell--team,
  .bento__cell--svc3,
  .bento__cell--svc2,
  .bento__cell--novateurs {
    height: auto;
    margin-top: 0;
  }

  .bento__cell--svc1 {
    left: calc(3.11 * var(--u));              /* Service 1 (30:137) à x = 3.11 dans le groupe 30:98 */
  }

  .team {
    border-radius: calc(300 * var(--u)) calc(300 * var(--u)) calc(80 * var(--u)) calc(80 * var(--u));
  }

  .team__marquee {
    --word-gap: calc(22.5 * var(--u));
    --word-period: calc(607 * var(--u));
    left: calc(68 * var(--u) - 2 * var(--word-period));
    top: calc(558 * var(--u));
    font-size: calc(80 * var(--u));
    line-height: 1.4;
  }

  .proactifs {
    width: 100%;
    height: 100%;
    border-radius: calc(400 * var(--u));
  }

  .proactifs__word {
    left: calc(119 * var(--u));
    top: calc(57 * var(--u));
    width: calc(241.91 * var(--u));
    height: calc(272.45 * var(--u));
    transform: none;
    transform-origin: calc(92.52 * var(--u)) calc(143.92 * var(--u));
  }
}

@media (prefers-reduced-motion: reduce) {
  .team__marquee,
  .proactifs__word {
    animation: none;
  }
}

/* ============================== Services ============================== */
.services {
  padding-top: calc(200 * var(--m));          /* y = 2073 */
}

.services .eyebrow {
  margin-left: calc(40 * var(--m));
}

.carousel__viewport {
  margin-top: calc(23.8 * var(--m));          /* y = 2116 */
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.carousel__viewport::-webkit-scrollbar {
  display: none;
}

.carousel__viewport:focus-visible {
  outline-offset: -3px;
}

.carousel__track {
  display: flex;
  gap: calc(20 * var(--m));
  width: max-content;
  margin-left: calc(-24 * var(--m));          /* x = -24 (sans JS) */
}

.js .carousel__track {
  margin-left: 0;
}

.carousel__dots {
  display: flex;
  gap: calc(16 * var(--m));
  margin: calc(24 * var(--m)) 0 0 calc(40 * var(--m)); /* y = 2184 */
}

@media (min-width: 1024px) {
  .services {
    padding-top: calc(431 * var(--u));        /* 2224 → 2655 */
  }

  .services .eyebrow {
    margin-left: calc(291 * var(--u));
  }

  .carousel__viewport {
    margin-top: calc(40.2 * var(--u));        /* y = 2724 */
  }

  .carousel__track {
    gap: calc(80 * var(--u));
    margin-left: calc(23 * var(--u));
  }

  .js .carousel__track {
    margin-left: 0;
  }

  .carousel__dots {
    gap: calc(12 * var(--u));
    margin: calc(80 * var(--u)) 0 0 calc(291 * var(--u)); /* y = 2914 */
  }
}

/* V4 About: mission first, static public photo, natural reading order. */
.about {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 36px;
  max-width: 1248px;
  margin-inline: auto;
  padding: 96px 24px 88px;
  scroll-margin-top: 120px;
}
.about .eyebrow {
  margin: 0;
  font-size: 14px;
  letter-spacing: .08em;
}
.about__block { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.about__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 5.8vw, 32px);
  line-height: 1.25;
  color: var(--c-dark);
  overflow-wrap: break-word;
}
.about__text {
  max-width: 60ch;
  font-size: 18px;
  line-height: 1.6;
  color: var(--c-blue-b70);
}
.about__circle {
  width: min(100%, 280px);
  aspect-ratio: 1;
  justify-self: center;
  margin: 4px 0;
  overflow: hidden;
  border-radius: 50%;
}
.about__circle img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }
.about__block--perspective { padding-top: 32px; border-top: 1px solid var(--c-cream-c100); }

/* V4 Culture: keep the Figma Pear silhouette, let its words set its height. */
.values {
  position: relative;
  z-index: 1;
  margin-top: 0;
  padding: 136px 24px 40px;
  background: url("../assets/figma/mobile/yellow-subtract.svg") no-repeat 0 0 / 100% 100%;
}
.values__content { display: flex; flex-direction: column; gap: 24px; max-width: 960px; margin-inline: auto; }
.values__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.3;
  color: var(--c-indigo);
  overflow-wrap: break-word;
}
.values__text {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--c-dark);
  overflow-wrap: anywhere;
}
.values__words {
  display: flex;
  gap: 28px;
  width: calc(100% + 48px);
  margin: 56px -24px 0;
  padding: 4px 0 12px;
  overflow: hidden;
  white-space: nowrap;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.15;
  color: var(--c-cream);
}
@media (min-width: 1024px) {
  .about {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    column-gap: 80px;
    row-gap: 40px;
    padding: 144px 64px 128px;
  }
  .about .eyebrow { grid-column: 1 / -1; font-size: 16px; }
  .about__block--mission { grid-column: 1; grid-row: 2; }
  .about__title { font-size: clamp(30px, 2.6vw, 42px); }
  .about__text { font-size: 20px; }
  .about__circle { grid-column: 2; grid-row: 2; align-self: center; width: min(100%, 400px); }
  .about__block--perspective {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    gap: 64px;
    margin-top: 32px;
    padding-top: 48px;
  }
  .about__block--perspective .about__title { font-size: clamp(26px, 2vw, 34px); }
  .values { padding: 160px 8.4% 56px; background-image: url("../assets/figma/yellow-subtract.svg"); }
  .values__title { font-size: 26px; }
  .values__text { font-size: clamp(24px, 2vw, 32px); line-height: 1.5; }
  .values__words { width: auto; margin: 72px -10.1% 0; gap: 56px; font-size: clamp(48px, 5vw, 80px); }
}

/* ============================ Contact (collant) ============================ */
.contact-track {
  position: relative;
  margin-top: calc(200 * var(--m));           /* y = 5526 */
}

.contact {
  /*
   * Notes 30:500 et 30:349 : le formulaire colle, le pied de page glisse par-dessus.
   * Hauteur Figma = hauteur de la fenêtre de conception (844 mobile, 1117 desktop) : la section
   * remplit l'écran et ne descend jamais sous la hauteur de la maquette.
   */
  position: sticky;
  top: min(0px, calc(100svh - var(--contact-h, 0px)));
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: max(100svh, calc(844 * var(--m)));
  padding: calc(120 * var(--m)) calc(40 * var(--m));
  border-radius: calc(80 * var(--m)) calc(80 * var(--m)) 0 0;
  background: var(--c-cream);
}

.contact__inner {
  display: flex;
  flex-direction: column;
  gap: calc(40 * var(--m));
}

.contact__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: calc(24 * var(--m));
  line-height: 1.1;
  color: var(--c-dark);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--m));
}

.contact-form__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: calc(32 * var(--m));
}

.contact-form__status {
  align-self: flex-end;
  max-width: 100%;
  margin-top: calc(8 * var(--m));
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--c-cream-c40);
  font-family: var(--font-text);
  font-size: max(14px, calc(14 * var(--m)));
  line-height: 1.4;
  color: var(--c-dark);
}

.contact-track__spacer {
  height: calc((200 + 749) * var(--m));       /* 6370 → 7319 */
}

@media (min-width: 1024px) {
  .contact-track {
    margin-top: calc(200 * var(--u));         /* y = 7167 */
  }

  .contact {
    justify-content: flex-end;
    min-height: max(100svh, calc(1117 * var(--u)));
    padding: calc(120 * var(--u)) calc(291 * var(--u));
    border-radius: calc(80 * var(--u)) calc(80 * var(--u)) 0 0;
  }

  .contact__inner {
    gap: calc(40 * var(--u));
  }

  .contact__title {
    font-size: calc(60 * var(--u));
  }

  .contact-form {
    gap: calc(20 * var(--u));
  }

  .contact-form__actions {
    margin-top: calc(20 * var(--u));
  }

  .contact-form__status {
    margin-top: 0;
    font-size: max(14px, calc(20 * var(--u)));
  }

  .contact-track__spacer {
    height: calc((443 + 964) * var(--u));     /* 8284 → 9691 */
  }
}

/* V4 footer: named public destinations, natural height, original assets. */
.site-footer {
  position: relative;
  z-index: 2;
  margin-top: 0;
  border-radius: 40px 40px 0 0;
  background: var(--c-dark);
  color: var(--c-cream);
}
.footer__rings { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.footer__ring { position: absolute; height: auto; transform-origin: 50% 50%; }
.footer__ring--m { right: -64px; bottom: 168px; width: 452px; }
.footer__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "contact" "public" "logo" "lang" "legal";
  gap: 40px;
  align-items: start;
  padding: 72px 24px 40px;
}
.footer__contact { grid-area: contact; display: flex; flex-direction: column; gap: 24px; }
.footer__title { font-family: var(--font-display); font-weight: 500; font-size: 24px; line-height: 1.35; color: var(--c-cream); }
.footer__lines { display: flex; flex-direction: column; font-family: var(--font-display); font-weight: 300; font-size: 16px; line-height: 1.5; }
.footer__lines a { display: flex; align-items: center; min-height: 44px; width: fit-content; max-width: 100%; overflow-wrap: anywhere; }
.footer__lines a, .footer__public-list a { text-decoration: underline; text-underline-position: from-font; text-decoration-thickness: 1px; }
.footer__public { grid-area: public; min-width: 0; }
.footer__public-note { margin-bottom: 12px; font-size: 13px; line-height: 1.5; color: var(--c-cream); }
.footer__public-list { display: flex; flex-direction: column; gap: 2px; }
.footer__public-list a { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; min-height: 44px; padding: 10px 0; font-size: 16px; line-height: 1.5; color: var(--c-cream); }
.footer__public-label { min-width: 0; overflow-wrap: break-word; }
.footer__public-list a > [aria-hidden] { flex-shrink: 0; }
.footer__lines a:hover, .footer__public-list a:hover { color: var(--c-pear); }
.footer__lines a:focus-visible, .footer__public-list a:focus-visible, .lang--footer .lang__btn:focus-visible { outline-color: var(--c-pear); }
.lang--footer { grid-area: lang; justify-self: start; }
.footer__logo { grid-area: logo; width: 100%; height: auto; margin: 12px 0; }
.footer__legal { grid-area: legal; display: flex; flex-direction: column; gap: 20px; font-family: var(--font-display); font-weight: 400; font-size: 12px; line-height: 1.6; color: var(--c-cream); }
.footer__year { order: 2; }
.footer__credit { order: 3; }
/* Original target-ring motion remains; it never controls text or link availability. */
.site-footer.rings-armed .footer__ring { opacity: 0; transform: scale(.15); }
.site-footer.rings-armed.is-visible .footer__ring { opacity: 1; transform: none; transition: transform 700ms cubic-bezier(.34, 1.56, .64, 1), opacity 250ms ease; }
.site-footer.rings-armed.is-visible .footer__ring--lg { transition-delay: 140ms; }
@media (min-width: 1024px) {
  .site-footer { border-radius: 64px 64px 0 0; }
  .footer__inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto;
    grid-template-areas: "contact public lang" "logo logo logo" "legal legal legal";
    column-gap: 64px;
    row-gap: 56px;
    padding: 112px 8.4% 40px;
  }
  .footer__title { font-size: clamp(24px, 2vw, 30px); }
  .footer__lines { font-size: 18px; }
  .footer__public-note { font-size: 14px; }
  .footer__public-list a { font-size: 18px; }
  .footer__ring--lg { right: -3%; bottom: 0; width: 65%; }
  .footer__ring--sm { right: 13%; bottom: 18%; width: 34%; }
  .footer__legal { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; font-size: 13px; }
  .footer__year { order: 3; }
  .footer__credit { order: 2; }
}

.contact-form__status:empty {
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: none;
}

.carousel__viewport {
  position: relative;
}

.novateurs.is-animated .novateurs__static {
  display: none !important;
}
