:root {
  --rqz-consent-black: #1b1c1d;
  --rqz-consent-blue: #27659a;
  --rqz-consent-blue-hover: #285c88;
  --rqz-consent-light-blue: #edf5fc;
  --rqz-consent-white: #fbfbfb;
  --rqz-consent-lime: #cef558;
  --rqz-consent-focus: #27659a;
}

/* The Webflow Finsweet component stays in the project for rollback, but its
   inactive markup must not create a second visible consent interface. */
[fs-cc="banner"],
[fs-cc="manager"],
[fs-cc="preferences"] {
  display: none !important;
}

#tarteaucitronRoot,
#tarteaucitronRoot button,
#cmp-failsafe {
  font-family: aktiv-grotesk, Arial, sans-serif !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
  background:
    radial-gradient(circle at 96% 8%, rgb(206 245 88 / 36%) 0 3.5rem, transparent 3.6rem),
    linear-gradient(135deg, var(--rqz-consent-white) 0%, var(--rqz-consent-light-blue) 100%) !important;
  border: 1px solid rgb(39 101 154 / 24%) !important;
  border-top: 4px solid var(--rqz-consent-lime) !important;
  border-radius: 24px !important;
  bottom: 24px !important;
  box-shadow: 0 24px 72px rgb(39 101 154 / 20%) !important;
  box-sizing: border-box !important;
  color: var(--rqz-consent-black) !important;
  gap: 0.75rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  left: 50% !important;
  margin: 0 !important;
  max-width: 1180px !important;
  padding: 1.5rem !important;
  right: auto !important;
  text-align: left !important;
  transform: translateX(-50%) !important;
  width: calc(100vw - 48px) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig[style*="display: block"] {
  display: grid !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig[style*="display: none"] {
  display: none !important;
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
  color: var(--rqz-consent-black) !important;
  font-size: 16px !important;
  grid-column: 1 / -1 !important;
  line-height: 1.55 !important;
  margin: 0 4.5rem 0.35rem 0 !important;
  max-height: none !important;
  padding: 0 !important;
  text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
  color: var(--rqz-consent-blue) !important;
  display: block !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
  margin-bottom: 0.35rem !important;
}

#tarteaucitronRoot #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronCloseAlert {
  align-items: center !important;
  background: var(--rqz-consent-white) !important;
  border: 1.5px solid var(--rqz-consent-blue) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  box-shadow: 0 3px 0 rgb(39 101 154 / 10%) !important;
  color: var(--rqz-consent-blue) !important;
  display: inline-flex !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  min-height: 50px !important;
  opacity: 1 !important;
  padding: 0.8rem 1rem !important;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
  width: 100% !important;
}

#tarteaucitronRoot #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAllDenied2:hover,
#tarteaucitronRoot #tarteaucitronCloseAlert:hover {
  background: var(--rqz-consent-light-blue) !important;
  box-shadow: 0 6px 16px rgb(39 101 154 / 18%) !important;
  color: var(--rqz-consent-blue) !important;
  transform: translateY(-1px) !important;
}

#tarteaucitronRoot:not(.rqz-consent-ready) #tarteaucitronPersonalize2,
#tarteaucitronRoot:not(.rqz-consent-ready) #tarteaucitronAllDenied2,
#tarteaucitronRoot:not(.rqz-consent-ready) #tarteaucitronCloseAlert {
  cursor: wait !important;
}

#tarteaucitronRoot #tarteaucitronPrivacyUrl {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--rqz-consent-blue) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  min-height: 44px !important;
  padding: 0.35rem 0 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  width: auto !important;
}

#tarteaucitronRoot button:focus-visible,
[data-reqruitz-consent-settings]:focus-visible {
  outline: 3px solid var(--rqz-consent-focus) !important;
  outline-offset: 3px !important;
}

/* Preferences panel: one contained, brand-aligned surface with clear sections. */
#tarteaucitronRoot #tarteaucitron {
  background: var(--rqz-consent-white) !important;
  border: 1px solid rgb(39 101 154 / 22%) !important;
  border-top: 4px solid var(--rqz-consent-lime) !important;
  border-radius: 22px !important;
  box-shadow: 0 28px 80px rgb(17 38 56 / 28%) !important;
  box-sizing: border-box !important;
  max-height: calc(100vh - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
  overflow: hidden !important;
  width: min(860px, calc(100vw - 48px)) !important;
}

#tarteaucitronRoot #tarteaucitronServices {
  background: #f5f9fc !important;
  box-sizing: border-box !important;
  height: 100% !important;
  margin: 0 !important;
  max-height: calc(100vh - 52px) !important;
  max-height: calc(100dvh - 52px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset {
  background:
    radial-gradient(circle at 96% 4%, rgb(206 245 88 / 30%) 0 4rem, transparent 4.1rem),
    linear-gradient(135deg, var(--rqz-consent-white) 0%, var(--rqz-consent-light-blue) 100%) !important;
  border: 0 !important;
  border-bottom: 1px solid rgb(39 101 154 / 18%) !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 0.9rem 1.5rem !important;
  grid-template-areas:
    "title title"
    "info info"
    "preference actions" !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding: 2rem !important;
}

#tarteaucitronRoot #dialogTitle {
  color: var(--rqz-consent-black) !important;
  font-size: clamp(25px, 3vw, 30px) !important;
  font-weight: 600 !important;
  grid-area: title !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  margin: 0 4rem 0 0 !important;
  text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronInfo {
  background: transparent !important;
  border: 0 !important;
  color: #39444d !important;
  font-size: 16px !important;
  grid-area: info !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  max-width: 66ch !important;
  padding: 0 !important;
  position: static !important;
  text-align: left !important;
  width: auto !important;
}

#tarteaucitronRoot #tarteaucitronInfo br {
  display: none !important;
}

#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  border: 0 !important;
  color: var(--rqz-consent-blue) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 0.45rem 0 0 !important;
  min-height: 44px !important;
  padding: 0 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset > .tarteaucitronName {
  align-self: center !important;
  float: none !important;
  grid-area: preference !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset > .tarteaucitronName .tarteaucitronH2 {
  color: var(--rqz-consent-black) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

#tarteaucitronRoot #tarteaucitronScrollbarAdjust {
  align-items: center !important;
  display: flex !important;
  float: none !important;
  gap: 0.75rem !important;
  grid-area: actions !important;
  margin: 0 !important;
}

#tarteaucitronRoot #tarteaucitronScrollbarAdjust .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronScrollbarAdjust .tarteaucitronDeny {
  min-width: 148px !important;
}

#tarteaucitronRoot .tarteaucitronBorder {
  background: transparent !important;
  border: 0 !important;
  padding: 1rem 1.25rem 0 !important;
}

#tarteaucitronRoot #tarteaucitronServicesTitle_mandatory > .tarteaucitronLine,
#tarteaucitronRoot #tarteaucitronServicesTitle_analytic > .tarteaucitronLine {
  background: var(--rqz-consent-white) !important;
  border: 1px solid rgb(39 101 154 / 16%) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgb(39 101 154 / 8%) !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 1rem 1.5rem !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  margin: 0 0 1rem !important;
  padding: 1.25rem !important;
}

#tarteaucitronRoot #tarteaucitronServicesTitle_mandatory > .tarteaucitronLine {
  grid-template-columns: 1fr !important;
}

#tarteaucitronRoot #tarteaucitronServicesTitle_mandatory .tarteaucitronName,
#tarteaucitronRoot #tarteaucitronServicesTitle_analytic > .tarteaucitronLine > .tarteaucitronName {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

#tarteaucitronRoot #tarteaucitronServicesTitle_analytic > .tarteaucitronLine > .tarteaucitronAsk {
  align-items: center !important;
  display: flex !important;
  float: none !important;
  gap: 0.65rem !important;
  margin: 0 !important;
}

#tarteaucitronRoot .tarteaucitronH3 {
  color: var(--rqz-consent-black) !important;
  display: block !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin-bottom: 0.3rem !important;
}

#tarteaucitronRoot .rqz-necessary-list {
  display: grid !important;
  gap: 0.75rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  list-style: none !important;
  margin: 1rem 0 0 !important;
  padding: 0 !important;
}

#tarteaucitronRoot .rqz-necessary-list li {
  background: var(--rqz-consent-light-blue) !important;
  border: 1px solid rgb(39 101 154 / 14%) !important;
  border-radius: 12px !important;
  margin: 0 !important;
  min-height: 100% !important;
  padding: 0.85rem 0.9rem 0.85rem 2.15rem !important;
  position: relative !important;
}

#tarteaucitronRoot .rqz-necessary-list li::before {
  align-items: center !important;
  background: var(--rqz-consent-blue) !important;
  border-radius: 50% !important;
  color: var(--rqz-consent-white) !important;
  content: "\2713" !important;
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  height: 18px !important;
  justify-content: center !important;
  left: 0.8rem !important;
  position: absolute !important;
  top: 0.9rem !important;
  width: 18px !important;
}

#tarteaucitronRoot #tarteaucitronSave {
  background: rgb(251 251 251 / 96%) !important;
  border-top: 1px solid rgb(39 101 154 / 16%) !important;
  bottom: 0 !important;
  box-sizing: border-box !important;
  padding: 0.9rem 1.25rem !important;
  position: sticky !important;
  z-index: 1 !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel,
#tarteaucitronRoot #tarteaucitronSaveButton,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny {
  background: var(--rqz-consent-white) !important;
  border: 1.5px solid var(--rqz-consent-blue) !important;
  border-radius: 999px !important;
  color: var(--rqz-consent-blue) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  min-height: 44px !important;
  min-width: 44px !important;
  padding: 0.65rem 0.85rem !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-size: 30px !important;
  height: 44px !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  background: var(--rqz-consent-white) !important;
  box-shadow: 0 4px 14px rgb(39 101 154 / 14%) !important;
  right: 18px !important;
  top: 18px !important;
  width: 44px !important;
  z-index: 2 !important;
}

#tarteaucitronRoot #tarteaucitronSaveButton {
  background: var(--rqz-consent-blue) !important;
  color: var(--rqz-consent-white) !important;
}

#tarteaucitronRoot .tarteaucitronAllow:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronClosePanel:hover {
  background: var(--rqz-consent-light-blue) !important;
  color: var(--rqz-consent-blue) !important;
}

#tarteaucitronRoot #tarteaucitronSaveButton:hover {
  background: var(--rqz-consent-blue-hover) !important;
  color: var(--rqz-consent-white) !important;
}

#tarteaucitronRoot .rqz-necessary-list {
  color: var(--rqz-consent-black) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

#tarteaucitronIcon {
  display: none !important;
}

#cmp-failsafe {
  background: var(--rqz-consent-light-blue);
  border: 1px solid rgb(39 101 154 / 24%);
  border-top: 4px solid var(--rqz-consent-lime);
  border-radius: 20px 20px 0 0;
  bottom: 0;
  box-shadow: 0 24px 72px rgb(39 101 154 / 20%);
  color: var(--rqz-consent-black);
  left: 50%;
  max-width: 1180px;
  padding: 1rem 1.25rem;
  position: fixed;
  transform: translateX(-50%);
  width: calc(100vw - 48px);
  z-index: 2147483647;
}

@media (max-width: 640px) {
  #tarteaucitronRoot #tarteaucitron {
    border-radius: 18px !important;
    left: 12px !important;
    margin: 0 !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    right: auto !important;
    top: 12px !important;
    width: calc(100vw - 24px) !important;
  }

  #tarteaucitronRoot #tarteaucitronServices {
    max-height: calc(100vh - 28px) !important;
    max-height: calc(100dvh - 28px) !important;
  }

  #tarteaucitronRoot #tarteaucitronMainLineOffset {
    gap: 0.75rem !important;
    grid-template-areas:
      "title"
      "info"
      "preference"
      "actions" !important;
    grid-template-columns: 1fr !important;
    padding: 1.5rem 1.25rem 1.25rem !important;
  }

  #tarteaucitronRoot #dialogTitle {
    font-size: 24px !important;
    margin-right: 3rem !important;
  }

  html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset > div.tarteaucitronName {
    display: block !important;
    margin-bottom: 0 !important;
    width: auto !important;
  }

  html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronScrollbarAdjust {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
  }

  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust .tarteaucitronAllow,
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust .tarteaucitronDeny {
    align-items: center !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 56px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  #tarteaucitronRoot .tarteaucitronBorder {
    padding: 0.75rem 0.75rem 0 !important;
  }

  #tarteaucitronRoot #tarteaucitronServicesTitle_mandatory > .tarteaucitronLine,
  #tarteaucitronRoot #tarteaucitronServicesTitle_analytic > .tarteaucitronLine {
    gap: 0.9rem !important;
    grid-template-columns: 1fr !important;
    padding: 1rem !important;
  }

  #tarteaucitronRoot #tarteaucitronServicesTitle_analytic > .tarteaucitronLine > .tarteaucitronAsk {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  #tarteaucitronRoot .rqz-necessary-list {
    grid-template-columns: 1fr !important;
  }

  #tarteaucitronRoot #tarteaucitronServicesTitle_mandatory .rqz-necessary-list > li {
    min-height: 0 !important;
  }

  #tarteaucitronRoot #tarteaucitronClosePanel {
    right: 12px !important;
    top: 12px !important;
  }

  #tarteaucitronRoot #tarteaucitronAlertBig {
    background:
      radial-gradient(circle at 100% 0%, rgb(206 245 88 / 34%) 0 2.75rem, transparent 2.85rem),
      linear-gradient(145deg, var(--rqz-consent-white) 0%, var(--rqz-consent-light-blue) 100%) !important;
    border-radius: 20px !important;
    bottom: 12px !important;
    gap: 0.625rem !important;
    grid-template-columns: 1fr !important;
    max-height: calc(100vh - 24px) !important;
    overflow-y: auto !important;
    padding: 1.25rem !important;
    width: calc(100vw - 24px) !important;
  }

  #tarteaucitronRoot #tarteaucitronDisclaimerAlert,
  #tarteaucitronRoot #tarteaucitronPrivacyUrl {
    grid-column: 1 !important;
  }

  #tarteaucitronRoot #tarteaucitronDisclaimerAlert {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin-right: 2.75rem !important;
  }

  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    font-size: 19px !important;
  }

  #tarteaucitronRoot #tarteaucitronPersonalize2,
  #tarteaucitronRoot #tarteaucitronAllDenied2,
  #tarteaucitronRoot #tarteaucitronCloseAlert {
    min-height: 48px !important;
  }

  #cmp-failsafe {
    width: calc(100vw - 24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  #tarteaucitronRoot #tarteaucitronPersonalize2,
  #tarteaucitronRoot #tarteaucitronAllDenied2,
  #tarteaucitronRoot #tarteaucitronCloseAlert {
    transition: none !important;
  }
}
