.elementor-4887 .elementor-element.elementor-element-2f05f2b{--display:flex;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4887 .elementor-element.elementor-element-2f05f2b.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-4887 .elementor-element.elementor-element-a8b35da{--display:flex;}.elementor-4887 .elementor-element.elementor-element-ae8dcd1{--display:flex;}.elementor-4887 .elementor-element.elementor-element-38ce707{width:100%;max-width:100%;}.elementor-4887 .elementor-element.elementor-element-38ce707.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-4887 .elementor-element.elementor-element-0579858 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-4887 .elementor-element.elementor-element-0579858 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-4887 .elementor-element.elementor-element-0579858 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-4887 .elementor-element.elementor-element-0579858 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-field-type-html{padding-bottom:0px;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-button[type="submit"]{color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-4887 .elementor-element.elementor-element-0579858{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-4887 .elementor-element.elementor-element-2f05f2b{--width:102.917%;}}/* Start custom CSS for form, class: .elementor-element-0579858 *//* Elementor select field */
.proton-contact-form select,
.proton-contact-form .elementor-field-type-select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  width: 100% !important;
  min-height: 58px;
  padding: 0 42px 16px 0 !important;

  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 0 !important;

  background-color: transparent !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #fff 50%),
    linear-gradient(135deg, #fff 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 44%,
    calc(100% - 10px) 44%;
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;

  color: #fff !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
}

.proton-contact-form select:focus,
.proton-contact-form .elementor-field-type-select select:focus {
  border-bottom-color: #fff !important;
}

/* Dropdown options: marche selon navigateur, mais pas toujours à 100% */
.proton-contact-form select option {
  background: #0b0b0b !important;
  color: #fff !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
}

.proton-contact-form select option:checked,
.proton-contact-form select option:hover {
  background: #1c1c1c !important;
  color: #fff !important;
}/* End custom CSS */
/* Start custom CSS *//* FORCE ELEMENTOR WIDTH TO MATCH HOME */
.proton-contact-section.e-con,
.proton-contact-section.elementor-section,
.elementor .proton-contact-section {
  --content-width: 1840px !important;
  --container-max-width: 1840px !important;
  --width: 100% !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box !important;
}

.proton-contact-section > .e-con-inner,
.proton-contact-section > .elementor-container,
.proton-contact-section .proton-section-inner {
  width: min(100%, 1840px) !important;
  max-width: 1840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* CONTACT PAGE - CLEAN HOME WIDTH */
.proton-contact-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 72px 14px 96px !important;
  background: #050505;
  color: #fff;
  font-family: Helvetica, Arial, sans-serif;
  box-sizing: border-box;
}

.proton-contact-section .proton-section-inner {
  width: min(100%, 1840px) !important;
  max-width: 1840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.proton-contact-head {
  display: grid !important;
  grid-template-columns: minmax(120px, 220px) minmax(0, 1fr);
  gap: 24px;
  margin-bottom: 42px;
}

.proton-contact-kicker {
  margin: 8px 0 0 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.52) !important;
}

.proton-contact-title {
  margin: 0 !important;
  max-width: 980px;
  font-size: clamp(40px, 5.2vw, 88px) !important;
  line-height: 0.94 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
}

.proton-contact-layout {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.proton-contact-copy,
.proton-contact-form {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 620px;
  padding: 34px;
  background: #0b0b0b;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-sizing: border-box;
}

.proton-contact-copy {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
}

.proton-contact-copy p {
  margin: 0;
  max-width: 720px;
  font-size: clamp(25px, 0.95vw, 19px);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.78);
}

.proton-contact-info {
  display: grid;
  gap: 28px;
}

.proton-contact-info div {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.proton-contact-info__label {
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.46);
}

.proton-contact-info a,
.proton-contact-info span:not(.proton-contact-info__label) {
  max-width: 100%;
  font-size: clamp(18px, 1.25vw, 26px);
  line-height: 1.05;
  font-weight: 800;
  color: #fff;
  text-decoration: none;
  overflow-wrap: anywhere;
}

/* ELEMENTOR FORM */
.proton-contact-form,
.proton-contact-form * {
  box-sizing: border-box;
}

.proton-contact-form form {
  height: 100%;
}

.proton-contact-form .elementor-form-fields-wrapper {
  height: 100%;
  display: flex !important;
  flex-direction: column;
  gap: 22px;
}

.proton-contact-form .elementor-field-group {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.proton-contact-form .elementor-field-label {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.48) !important;
}

.proton-contact-form input,
.proton-contact-form select,
.proton-contact-form textarea,
.proton-contact-form .elementor-field {
  width: 100% !important;
  max-width: none !important;
  min-height: 58px;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  outline: none !important;
}

.proton-contact-form textarea,
.proton-contact-form textarea.elementor-field {
  min-height: 190px !important;
  resize: vertical;
}

.proton-contact-form input::placeholder,
.proton-contact-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.34) !important;
  opacity: 1 !important;
}

.proton-contact-form input:focus,
.proton-contact-form select:focus,
.proton-contact-form textarea:focus,
.proton-contact-form .elementor-field:focus {
  border-bottom-color: #fff !important;
}

.proton-contact-form .elementor-field-type-submit {
  margin-top: auto !important;
}

.proton-contact-form .elementor-button {
  width: auto !important;
  min-width: 210px;
  padding: 18px 24px !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #050505 !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.proton-contact-form .elementor-button:hover,
.proton-contact-form .elementor-button:focus-visible {
  background: transparent !important;
  color: #fff !important;
}

/* TABLET */
@media (max-width: 1080px) {
  .proton-contact-layout {
    grid-template-columns: 1fr !important;
  }

  .proton-contact-copy,
  .proton-contact-form {
    min-height: auto;
  }

  .proton-contact-copy {
    gap: 80px;
  }
}

/* MOBILE */
@media (max-width: 760px) {
  .proton-contact-section {
    padding: 52px 10px 64px !important;
  }

  .proton-contact-head {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 28px;
  }

  .proton-contact-kicker {
    font-size: 14px !important;
  }

  .proton-contact-title {
    font-size: clamp(38px, 13vw, 64px) !important;
  }

  .proton-contact-copy,
  .proton-contact-form {
    padding: 24px;
  }

  .proton-contact-copy p {
    font-size: 16px;
    line-height: 1.4;
  }

  .proton-contact-info a,
  .proton-contact-info span:not(.proton-contact-info__label) {
    font-size: 20px;
  }

  .proton-contact-form input,
  .proton-contact-form select,
  .proton-contact-form textarea,
  .proton-contact-form .elementor-field {
    font-size: 16px !important;
  }

  .proton-contact-form .elementor-button {
    width: 100% !important;
  }
}
.proton-contact-form .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: stretch !important;
}

.proton-contact-form .elementor-field-group {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
}

.proton-contact-form .elementor-field-type-submit {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  justify-self: stretch !important;
  align-self: end !important;
  margin-top: auto !important;
}

.proton-contact-form .elementor-field-type-submit .elementor-button,
.proton-contact-form .elementor-field-type-submit button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform: none !important;
}/* End custom CSS */