@charset "UTF-8";
/* Design tokens (extend as needed). */
/* SCSS entry: import partials and set global states. */
/* Mobile menu — overlay, layout and accessibility
   - Works inside .header-mobile
   - Uses --vh (set by JS) to match real mobile viewport height
   - Keeps desktop mega-menu untouched (scoped to .header-mobile) */
/* Fullscreen overlay state */
.header-mobile.menu-open {
  position: fixed; /* lock header-mobile to viewport */
  inset: 0; /* top/right/bottom/left = 0 */
  z-index: 9999; /* above site content */
}

/* Visible overlay container */
.header-mobile.menu-open .nav-open {
  display: flex !important; /* override inline display:none */
  opacity: 1 !important; /* override inline opacity:0 */
  position: fixed !important; /* overlay covers viewport */
  inset: 0 !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

/* Inner panel sizing/scrollability */
.header-mobile.menu-open .div-menu {
  opacity: 1 !important; /* ensure visible */
  flex: 1 1 auto;
  width: 100% !important;
  height: 100% !important;
  overflow: auto !important; /* scrolling content inside overlay */
}

/* Base structure */
.header-mobile {
  /* Hide siblings of .nav-open when menu is open (visual focus) */
  /* Sticky top bar inside the overlay */
  /* Wrapper column (avoid transforms to prevent Safari paint issues) */
  /* The only scroll container */
  /* Footer languages: last row, in-flow (not fixed) */
  /* Accordion visibility */
  /* Closed header fade/shift */
}
.header-mobile .nav-open {
  display: none;
  flex-direction: column;
  /* Real mobile viewport height; falls back to 100vh if JS not applied */
  min-height: calc(var(--vh, 1vh) * 100);
}
.header-mobile .navigation-3,
.header-mobile .nav-opened {
  max-width: none;
  width: 100%;
}
.header-mobile.menu-open > *:not(.nav-open) {
  visibility: hidden;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0;
}
.header-mobile .nav-open .navbar-mobile {
  position: sticky;
  top: 0;
  z-index: 1;
  flex: 0 0 auto;
}
.header-mobile .nav-open .div-menu {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transform: none !important; /* neutralize inline translateY(...) */
}
.header-mobile .nav-opened {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0; /* allow child to scroll */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  /* Avoid overlap with iOS home indicator/toolbars */
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  scroll-padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}
.header-mobile .nav-opened > * {
  flex-shrink: 0; /* prevent frame compression */
}
.header-mobile .lang-mobile {
  order: 9999; /* ensure last inside .nav-opened */
  margin-top: auto; /* push to bottom when content is short */
  align-self: flex-start; /* bottom-left alignment */
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  position: static;
  padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px));
  padding-left: 32px;
  padding-right: 32px;
}
.header-mobile .item-content {
  display: none;
}
.header-mobile .item-content.is-open {
  display: block;
}
.header-mobile .nav-close {
  transition: opacity 180ms ease, transform 180ms ease;
}
.header-mobile.menu-open .nav-close {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}

/* Reduced motion: disable transitions/scroll effects */
@media (prefers-reduced-motion: reduce) {
  .header-mobile .nav-open,
  .header-mobile .nav-open .div-menu,
  .header-mobile .nav-open .nav-opened {
    transition: none;
    scroll-behavior: auto;
  }
}
/* Normalize UA margins for consistent overlay fit */
html, body {
  margin: 0;
}

/* Accordion styles (from style.html). */
.nav-opened .item-content {
  max-height: 0; /* baseline collapsed */
  overflow: hidden;
  display: flex;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height 280ms cubic-bezier(0.25, 1, 0.5, 1), opacity 220ms ease, transform 220ms ease;
  will-change: max-height, opacity, transform;
  /* If authoring exported inline max-height:0 while open, JS sets .is-open + inline none.
     Force visibility precedence to avoid flash when switching states. */
}
.nav-opened .item-content.is-open {
  opacity: 1;
  transform: translateY(0);
  display: flex;
}
.nav-opened .item-content[style*="max-height: 0"][aria-hidden=false].is-open {
  /* JS will soon set max-height. Keep animated state consistent. */
  opacity: 1;
}
.nav-opened .item-openable .chevron {
  transition: transform 220ms ease, opacity 200ms ease;
  transform: rotate(0deg);
}
.nav-opened .item-openable.is-open .chevron {
  opacity: 1;
  transform: rotate(180deg);
}

/* Chevron color trick for an <img> chevron (base white → green when open). */
.item-openable img.chevron {
  transition: filter 0.3s ease, transform 0.3s ease;
  filter: brightness(0) saturate(100%) invert(100%); /* base = white */
}

.item-openable.is-open img.chevron {
  transform: rotate(180deg);
  /* target color ~ #DDF9AC */
  filter: brightness(0) saturate(100%) invert(82%) sepia(43%) saturate(232%) hue-rotate(39deg) brightness(103%) contrast(103%);
}

.item-openable .menu-item {
  transition: filter 0.3s ease;
}

.item-openable.is-open .menu-item {
  color: #DDF9AC;
}

@media (prefers-reduced-motion: reduce) {
  .nav-opened .item-content,
  .nav-opened .item-openable .chevron {
    transition: none;
    transform: none;
  }
}
/* Narrow desktop tweak from original CSS */
@media screen and (max-width: 1180px) and (min-width: 991px) {
  .menu-block {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
  .demo-btn {
    display: none;
  }
  .demo-btn.desktop-low {
    display: block;
  }
}
/* Mobile slider: one card per viewport, horizontal snap */
@media (max-width: 768px) {
  /* Wrapper: prevents page horizontal growth while clipping overflow */
  .section-how-works {
    position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  /* Horizontal scroller (mobile behavior applied globally) */
  .slide-frame {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding: 0 16px;
    scroll-padding-left: 16px;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  /* Slides: one card per viewport width (inside padded track) */
  .slide-frame > .slider {
    flex: 0 0 calc(100% - 32px);
    min-width: calc(100% - 32px);
    max-width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  /* Cosmetic scrollbar hiding (optional) */
  .slide-frame::-webkit-scrollbar {
    display: none;
  }
  .rectangle-1237 {
    display: none;
  }
  .slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
  }
  .slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #DDF9AC;
    opacity: 1;
    cursor: pointer;
    transition: transform 0.2s ease;
  }
  .slider-dot[aria-current=true] {
    background: #0B2239;
    transform: scale(1.1);
  }
  /* Dots generated by JS */
  .slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
  }
  .slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cfd5dc;
    opacity: 0.7;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease;
  }
  .slider-dot[aria-current=true] {
    background: #0b2239;
    opacity: 1;
    transform: scale(1.1);
  }
}
/* Desktop: keep your current layout; no override needed */
/* =========================
Mega menu (desktop only) — scoped & deconflicted
========================= */
/* Default hidden panels (desktop) */
.header .mega-dropdown,
.header .w-layout-vflex.menu-open,
.header .mega-dropdown--ressources,
.header .w-layout-vflex.menu-open-ressources {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.header .frame-59 {
  overflow: visible;
}

/* =========================
Generic hover for menu blocks
========================= */
.header .menu-block {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  background-color: transparent;
  transition: background-color 0.3s ease;
}
.header .menu-block .caretdown img,
.header .menu-block .carretdown {
  display: block;
  transition: transform 0.3s ease;
}
.header .menu-block .menu-a {
  padding: 0.5rem 1rem;
  border-radius: 6px;
}
.header .menu-block .menu-a:hover {
  background-color: #DDF9AC;
}
.header .menu-block .menu-hover {
  background-color: #DDF9AC;
}
.header .menu-block .menu-hover .caretdown img,
.header .menu-block .menu-hover .carretdown {
  transform: rotate(180deg);
}

/* =========================
Solutions (desktop)
========================= */
.header .solutions.menu-hover .mega-dropdown,
.header .solutions.menu-hover .w-layout-vflex.menu-open {
  display: flex;
  opacity: 1;
  transform: translateY(0);
}

/* =========================
Ressources (desktop)
========================= */
.header .ressources.menu-hover .mega-dropdown--ressources,
.header .ressources.menu-hover .w-layout-vflex.menu-open-ressources {
  display: flex;
  opacity: 1;
  transform: translateY(0);
  inset: 72px -189px auto auto;
}

/* =========================
Safety guards (mobile)
========================= */
.header-mobile.menu-open {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 1200px) {
  .header .menu-block,
  .header .menu-block .menu-a {
    padding: 0.5rem 0.3rem;
  }
}
.clients .swiper.w-dyn-list {
  width: 100%;
  overflow: hidden;
}
.clients .swiper.w-dyn-list .swiper-wrapper {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center;
  transition-timing-function: linear !important;
}
.clients .swiper.w-dyn-list .swiper-slide {
  width: auto !important;
  flex: 0 0 auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
}
.clients .swiper.w-dyn-list img, .clients .swiper.w-dyn-list img.image-45 {
  max-height: 36px;
  height: 36px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.clients .swiper.w-dyn-list img:hover, .clients .swiper.w-dyn-list img.image-45:hover {
  opacity: 0.85;
}

.collection-list-2 {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 16px;
}

.cat-btn-selected, .cat-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 15px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.cat-btn {
  background-color: #ddf9ac;
}
.cat-btn:has(.cat-input:checked) {
  background-color: #05142d;
}
.cat-btn:has(.cat-input:checked) .text-204 {
  color: #fff;
}
.cat-btn:not(:has(.cat-input:checked)) .text-204 {
  color: #505b6c;
}

.cat-btn-selected {
  background-color: #05142d;
}
.cat-btn-selected .text-205 {
  color: #fff;
}

.text-204 {
  font-family: var(--ff-baseline);
  color: #505b6c;
  text-transform: uppercase;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
}

.text-205 {
  font-family: var(--ff-baseline);
  color: #fff;
  text-transform: uppercase;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
}

.cat-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.cat-input:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}

@media (max-width: 450px) {
  .w-dyn-item {
    width: 100%;
  }
  .cat-btn, .cat-btn-selected {
    width: 100%;
  }
}
.div-form {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

form,
.div-block-14 {
  max-width: 100%;
  display: flex;
}

.w-form .w-input,
.w-form .w-select,
.text-field,
.phone-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.text-field.w-input:focus, .text-field.w-input:focus-visible {
  border: 1px solid #263A4A;
  outline: none;
}
.text-field.w-input:user-invalid {
  border-color: #E83301;
}

textarea.w-input,
textarea.w-select {
  height: 189px;
}

.textarea.w-input:user-invalid {
  border-color: #E83301;
}

.w-form.w-submitted .text-field.w-input:invalid,
.w-form.w-submitted .textarea.w-input:invalid,
.w-form.w-submitted select.w-select:invalid {
  border-color: #E83301;
}
.w-form.w-submitted .div-form:has(.text-field.w-input:invalid) .text-213,
.w-form.w-submitted .div-form:has(.textarea.w-input:invalid) .text-213,
.w-form.w-submitted .div-form:has(select.w-select:invalid) .text-213 {
  color: #E83301;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: var(--staple-colors--dark-blue-scale--main);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path fill='%23DDF9AC' d='M5.3 10.3 2.7 7.7 1.3 9.1 5.3 13.1 13 5.4 11.6 4z'/></svg>");
  background-size: 12px 12px;
  background-repeat: no-repeat;
  background-position: center center;
}

.checkbox-label.w-form-label a {
  color: #05142D;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.iti {
  width: 100% !important;
}

.iti .phone-input {
  width: 100% !important;
  color: #A4A9AA;
}
.iti .phone-input::-moz-placeholder {
  color: #A4A9AA;
  opacity: 1;
}
.iti .phone-input::placeholder {
  color: #A4A9AA;
  opacity: 1;
}

.iti .iti__selected-flag {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 6px;
}
.iti .iti__selected-flag .iti__arrow {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #A2A1A0;
  margin: 0;
}
.iti .iti__selected-flag .iti__arrow.iti__arrow--up {
  border-top: 0;
  border-bottom: 6px solid #A2A1A0;
}

.iti .iti__country-list {
  max-width: 394px;
  font-family: "Suisse Int'l", sans-serif;
  font-size: 16px;
}
.iti .iti__country-list .iti__country-name,
.iti .iti__country-list .iti__dial-code {
  color: #A4A9AA;
}

.choices,
.choices[data-type=select-one],
.choices__inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.choices .choices__inner {
  font-family: "Suisse Int'l", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #263A4A;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  padding: 10px 36px 10px 12px;
  background-color: #fff;
  box-shadow: none;
}

.choices__item--placeholder {
  color: #A4A9AA;
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
  border: 1px solid #D1D5DB;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.choices__list--dropdown .choices__item--selectable,
.choices__list[aria-expanded] .choices__item--selectable {
  font-family: "Suisse Int'l", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #263A4A;
}

.choices .choices__list--dropdown .choices__item--selectable.is-highlighted,
.choices .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background-color: #263A4A;
  color: #fff;
}

select.w-select::-ms-expand {
  display: none;
}

@media (min-width: 400px) {
  .choices {
    width: 394px !important;
    min-width: 394px !important;
    max-width: 394px !important;
  }
  .choices__list--dropdown,
  .choices__list[aria-expanded] {
    width: 394px !important;
    min-width: 394px !important;
    max-width: 394px !important;
  }
}
@media (max-width: 1230px) and (min-width: 992px) {
  .section-contact {
    padding: 80px 40px;
  }
}
@media (max-width: 640px) {
  .submit-button {
    padding: 12px 10px;
  }
}
/* Sticky under the header; top is set from JS via --header-offset */
.toggle-bloc {
  position: sticky;
  top: var(--header-offset, 0px);
  z-index: var(--toggle-sticky-z, 50);
}

/* Visuals only when the toggle is stuck */
.toggle-bloc.is-sticky {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background-color: rgba(255, 255, 255, 0.8);
  border: 0 solid rgba(164, 169, 170, 0.5);
  border-bottom-width: 1px;
  box-shadow: 0 4px 32px rgba(5, 20, 45, 0.06);
  padding: 13px 0;
}

.toggle-client,
.toggle-advisor {
  transition: background-color 0.2s ease, color 0.2s ease;
  cursor: pointer;
}

.toggle-client.is-active,
.toggle-advisor.is-active {
  background-color: #f3f4f6;
  color: #05142d;
}

.toggle-client:not(.is-active),
.toggle-advisor:not(.is-active) {
  background-color: #ffffff;
  color: #05142d;
}

/* Smooth height transition on the whole card */
.pricing-case, .pricing-case-premium {
  transition: height 260ms ease;
  overflow: hidden; /* ensure no overflow during animation */
}

.pricing-case .pricing-case__content {
  transition: max-height 260ms ease;
}

.pricing-case.is-expanded .vector-18 {
  transform: rotate(180deg);
  transition: transform 200ms ease;
}

.accordeon .accordeon-item {
  border-bottom: 1px solid #ddd;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.accordeon .accordeon-item .closed-zone {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  padding: 0 20px;
  box-sizing: border-box;
  width: 100%;
}
.accordeon .accordeon-item .closed-zone .accordeon-title {
  min-width: 0;
  flex: 1;
  height: 100%;
  display: flex;
  align-items: center;
  white-space: normal;
  line-height: 1.35;
  margin: 0;
  padding-right: 16px;
}
.accordeon .accordeon-item .closed-zone .vector-29 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
  transform: rotate(-180deg);
}
.accordeon .accordeon-item .closed-zone .vector-29 img, .accordeon .accordeon-item .closed-zone .vector-29 {
  vertical-align: middle;
}
.accordeon .accordeon-item .accordeon-internal-text {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  opacity: 0;
  transition: grid-template-rows 600ms cubic-bezier(0.4, 0, 0.2, 1), opacity 500ms cubic-bezier(0.4, 0, 0.2, 1), padding 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.accordeon .accordeon-item .accordeon-internal-text > * {
  min-height: 0;
}
.accordeon .accordeon-item.item-open .accordeon-internal-text {
  grid-template-rows: 1fr;
  opacity: 1;
  padding-top: 8px;
}
.accordeon .accordeon-item.item-open .closed-zone .vector-29 {
  transform: rotate(0deg);
}
@media (prefers-reduced-motion: reduce) {
  .accordeon .accordeon-item .accordeon-internal-text,
  .accordeon .accordeon-item .closed-zone .vector-29 {
    transition: none;
  }
}

/* Global lock when menu is open (optional if you prefer body class only) */
body.menu-open {
  overflow: hidden;
}

.header.scrolled {
  box-shadow: 0 4px 32px rgba(5, 20, 45, 0.0588235294);
  border: 1px solid rgba(164, 169, 170, 0.5019607843);
  background-color: #fff;
}

.cta-home-hero:hover, .demo-btn:hover, .black-btn:hover {
  background-color: black;
}

.green-btn:hover {
  background-color: #BBDA84;
}

/* Visually hide Weglot switcher but keep it in the accessibility tree. */
.weglot_switcher.country-selector {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

[data-lottie-en][data-lottie-fr] svg:nth-of-type(2) {
  display: none !important;
}

@media (max-width: 1280px) {
  .flag-right {
    display: none;
  }
  .guys-with-phone {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-43%);
    height: 90%;
    width: auto;
    max-width: none;
  }
  .col-3-al-left {
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: none;
    align-items: flex-start;
  }
  .col-3-al-left .t-col-left {
    align-self: start;
  }
  .reverse-logo.w--current {
    width: auto;
  }
}
@media (max-width: 1080px) {
  .guys-with-phone {
    transform: translateX(-39%);
  }
  .menu-open-cms.menu-open {
    left: -30%;
  }
}
@media screen and (max-width: 479px) {
  .chatbot-ia-mobile {
    max-width: 276px;
  }
}
@media screen and (max-width: 375px) {
  section.section-service-help-mobile,
  .bloc-2 {
    max-width: 100vw;
    overflow-x: hidden;
  }
}/*# sourceMappingURL=main.css.map */