.elementor-21842 .elementor-element.elementor-element-e960ab4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21842 .elementor-element.elementor-element-b2fe538{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-field-group.recaptcha_v3-bottomleft, .elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-field-type-html{padding-bottom:0px;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-button[type="submit"]{color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-21842 .elementor-element.elementor-element-2623c5b{--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;}/* Start custom CSS for html, class: .elementor-element-6a81767 */#mf-company-contact-page {
  --mf-contact-page: #f4f4f1;
  --mf-contact-surface: #ffffff;
  --mf-contact-surface-soft: #efefeb;
  --mf-contact-surface-muted: #f8f8f5;

  --mf-contact-green: #005f41;
  --mf-contact-green-deep: #004a35;
  --mf-contact-green-dark: #063e35;
  --mf-contact-lime: #a6e52b;
  --mf-contact-lime-hover: #b8ed4d;

  --mf-contact-text: #103d35;
  --mf-contact-copy: #66736e;
  --mf-contact-muted: #89928e;

  --mf-contact-border: rgba(8, 48, 39, 0.1);
  --mf-contact-border-strong: rgba(8, 48, 39, 0.16);
  --mf-contact-white-line: rgba(255, 255, 255, 0.14);

  width: 100%;
  overflow: hidden;
  background: var(--mf-contact-page);
  color: var(--mf-contact-text);
  font-family: "Poppins", sans-serif;
}

#mf-company-contact-page,
#mf-company-contact-page * {
  box-sizing: border-box;
}

#mf-company-contact-page a,
#mf-company-contact-page button,
#mf-company-contact-page input,
#mf-company-contact-page select,
#mf-company-contact-page textarea {
  font: inherit;
}

#mf-company-contact-page button,
#mf-company-contact-page input,
#mf-company-contact-page select,
#mf-company-contact-page textarea {
  margin: 0;
}

#mf-company-contact-page .mf-contact__container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

/* =========================================================
   HERO
   ========================================================= */

#mf-company-contact-page .mf-contact-hero {
  padding: 82px 24px 72px !important;
}

#mf-company-contact-page .mf-contact__header {
  max-width: 880px;
  margin: 0 auto 40px;
  text-align: center;
}

#mf-company-contact-page .mf-contact__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  margin: 0 0 17px;
  padding: 6px 14px 6px 7px;
  border: 1px solid rgba(0, 95, 65, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--mf-contact-green);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

#mf-company-contact-page .mf-contact__eyebrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  background: var(--mf-contact-lime);
  color: var(--mf-contact-green-deep);
}

#mf-company-contact-page .mf-contact__eyebrow-icon svg {
  display: block;
  width: 13px;
  height: 13px;
}

#mf-company-contact-page .mf-contact__title {
  max-width: 820px;
  margin: 0 auto;
  color: var(--mf-contact-text);
  font-size: 35px;
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

#mf-company-contact-page .mf-contact__intro {
  max-width: 750px;
  margin: 18px auto 0;
  color: var(--mf-contact-copy);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}

/* =========================================================
   CONTACT STAGE
   ========================================================= */

#mf-company-contact-page .mf-contact__stage {
  display: grid;
  grid-template-columns:
    minmax(340px, 0.82fr)
    minmax(0, 1.38fr);
  overflow: hidden;
  border: 1px solid rgba(0, 95, 65, 0.08);
  border-radius: 24px;
  background: var(--mf-contact-surface);
  box-shadow: 0 24px 58px rgba(23, 38, 32, 0.07);
}

/* =========================================================
   LEFT INFO
   ========================================================= */

#mf-company-contact-page .mf-contact__info {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 42px 38px 34px;
  background:
    radial-gradient(
      circle at 15% 5%,
      rgba(166, 229, 43, 0.13) 0%,
      rgba(166, 229, 43, 0) 32%
    ),
    linear-gradient(
      145deg,
      var(--mf-contact-green) 0%,
      var(--mf-contact-green-deep) 100%
    );
  color: #ffffff;
}

#mf-company-contact-page .mf-contact__info-kicker {
  display: inline-block;
  color: var(--mf-contact-lime);
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

#mf-company-contact-page .mf-contact__info-title {
  max-width: 390px;
  margin: 16px 0 0;
  color: #ffffff;
  font-size: 29px;
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -0.025em;
}

#mf-company-contact-page .mf-contact__info-copy {
  max-width: 400px;
  margin: 17px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.66;
}

#mf-company-contact-page .mf-contact__response {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  margin-top: 20px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

#mf-company-contact-page .mf-contact__response-dot {
  display: block;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--mf-contact-lime);
  box-shadow: 0 0 0 5px rgba(166, 229, 43, 0.09);
}

#mf-company-contact-page .mf-contact__channels {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  border-top: 1px solid var(--mf-contact-white-line);
}

#mf-company-contact-page .mf-contact__channel {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 17px;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 17px 0;
  border-bottom: 1px solid var(--mf-contact-white-line);
  color: #ffffff;
  text-decoration: none;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

#mf-company-contact-page .mf-contact__channel:hover {
  opacity: 0.86;
  transform: translateX(3px);
}

#mf-company-contact-page .mf-contact__channel-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  color: var(--mf-contact-lime);
}

#mf-company-contact-page .mf-contact__channel-icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

#mf-company-contact-page .mf-contact__channel-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

#mf-company-contact-page .mf-contact__channel-copy small {
  color: rgba(255, 255, 255, 0.48);
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#mf-company-contact-page .mf-contact__channel-copy strong {
  overflow-wrap: anywhere;
  color: rgba(255, 255, 255, 0.94);
  font-size: 12px;
  font-weight: 550;
  line-height: 1.4;
}

#mf-company-contact-page .mf-contact__channel-arrow {
  display: inline-flex;
  color: rgba(255, 255, 255, 0.5);
}

#mf-company-contact-page .mf-contact__channel-arrow svg {
  display: block;
  width: 17px;
  height: 17px;
}

#mf-company-contact-page .mf-contact__availability {
  display: grid;
  grid-template-columns: 39px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  margin-top: 22px;
}

#mf-company-contact-page .mf-contact__availability-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 39px;
  border-radius: 50%;
  background: var(--mf-contact-lime);
  color: var(--mf-contact-green-deep);
}

#mf-company-contact-page .mf-contact__availability-icon svg {
  display: block;
  width: 19px;
  height: 19px;
}

#mf-company-contact-page .mf-contact__availability div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#mf-company-contact-page .mf-contact__availability strong {
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

#mf-company-contact-page .mf-contact__availability span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.55;
}

#mf-company-contact-page .mf-contact__team {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 25px;
  padding-top: 24px;
  border-top: 1px solid var(--mf-contact-white-line);
}

#mf-company-contact-page .mf-contact__team img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: cover;
  object-position: center top;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}

#mf-company-contact-page .mf-contact__team div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#mf-company-contact-page .mf-contact__team strong {
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

#mf-company-contact-page .mf-contact__team span {
  color: rgba(255, 255, 255, 0.58);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
}

#mf-company-contact-page .mf-contact__trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: auto;
  padding-top: 26px;
}

#mf-company-contact-page .mf-contact__trust > div {
  min-width: 0;
  padding: 0 12px;
  border-left: 1px solid var(--mf-contact-white-line);
}

#mf-company-contact-page .mf-contact__trust > div:first-child {
  padding-left: 0;
  border-left: 0;
}

#mf-company-contact-page .mf-contact__trust strong,
#mf-company-contact-page .mf-contact__trust span {
  display: block;
}

#mf-company-contact-page .mf-contact__trust strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
}

#mf-company-contact-page .mf-contact__trust span {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 8px;
  font-weight: 550;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* =========================================================
   RIGHT FORM AREA
   ========================================================= */

#mf-company-contact-page .mf-contact__form-area {
  min-width: 0;
  padding: 41px 42px 38px;
  background: var(--mf-contact-surface);
}

#mf-company-contact-page .mf-contact__form-head {
  max-width: 620px;
}

#mf-company-contact-page .mf-contact__form-kicker {
  display: inline-block;
  color: var(--mf-contact-green);
  font-size: 10px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

#mf-company-contact-page .mf-contact__form-head h2 {
  margin: 12px 0 0;
  color: var(--mf-contact-text);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -0.025em;
}

#mf-company-contact-page .mf-contact__form-head p {
  margin: 12px 0 0;
  color: var(--mf-contact-copy);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.62;
}

#mf-company-contact-page .mf-contact__form-slot {
  min-height: 430px;
  margin-top: 27px;
}

#mf-company-contact-page .mf-contact__form-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 190px;
  border: 1px dashed var(--mf-contact-border);
  border-radius: 14px;
  color: var(--mf-contact-muted);
  font-size: 12px;
  font-weight: 500;
}

/* Elementor-Widget auf volle Breite */
#mf-company-contact-page .mf-company-form,
#mf-company-contact-page .mf-company-form .elementor-widget-container,
#mf-company-contact-page .mf-company-form .elementor-form {
  width: 100% !important;
  max-width: none !important;
}

/* Elementor-Standardabstände entfernen */
#mf-company-contact-page
  .mf-company-form
  .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 17px 16px !important;
  margin: 0 !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-field-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
  Elementor setzt bei seinen nativen Feldern eigene Flex-Breiten.
  Diese Regeln halten Label und Eingabe garantiert untereinander.
*/
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-name,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-email,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-message {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  flex-basis: auto !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-elementor-name > .elementor-field-label,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-email > .elementor-field-label,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-message > .elementor-field-label,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-name > .elementor-field,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-email > .elementor-field,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-message > .elementor-field {
  position: static !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  margin: 0 !important;
  transform: none !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-elementor-message,
#mf-company-contact-page
  .mf-company-form
  .mf-elementor-submit,
#mf-company-contact-page
  .mf-company-form
  .elementor-message,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-fields,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-privacy {
  grid-column: 1 / -1 !important;
}

/* Labels */
#mf-company-contact-page
  .mf-company-form
  .elementor-field-label,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field > span,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason legend {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--mf-contact-text) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

/* Eingaben inklusive dynamisch ergänzter Felder */
#mf-company-contact-page
  .mf-company-form
  .elementor-field,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field input,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field select {
  width: 100% !important;
  height: 47px !important;
  min-height: 47px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 1px solid var(--mf-contact-border) !important;
  border-radius: 11px !important;
  background-color: #ffffff !important;
  color: var(--mf-contact-text) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
  outline: 0 !important;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease !important;
}

#mf-company-contact-page
  .mf-company-form
  textarea.elementor-field {
  min-height: 124px !important;
  height: auto !important;
  padding: 13px !important;
  resize: vertical !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-field::placeholder,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field input::placeholder {
  color: #a0a8a4 !important;
  opacity: 1 !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-field:hover,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field input:hover,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field select:hover {
  border-color: var(--mf-contact-border-strong) !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-field:focus,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field input:focus,
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field select:focus {
  border-color: rgba(0, 95, 65, 0.36) !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 65, 0.06) !important;
}

/* Select-Pfeil */
#mf-company-contact-page
  .mf-company-form
  .mf-extra-field select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 38px !important;
  background-image:
    linear-gradient(
      45deg,
      transparent 50%,
      var(--mf-contact-copy) 50%
    ),
    linear-gradient(
      135deg,
      var(--mf-contact-copy) 50%,
      transparent 50%
    ) !important;
  background-position:
    calc(100% - 17px) 20px,
    calc(100% - 12px) 20px !important;
  background-size:
    5px 5px,
    5px 5px !important;
  background-repeat: no-repeat !important;
}

/* Dynamische Zusatzfelder */
#mf-company-contact-page
  .mf-company-form
  .mf-extra-fields {
  display: block !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason {
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason legend {
  margin-bottom: 10px !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid label {
  position: relative !important;
  display: block !important;
  cursor: pointer !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid label > span {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 74px !important;
  padding: 13px 15px 13px 50px !important;
  border: 1px solid var(--mf-contact-border) !important;
  border-radius: 14px !important;
  background: var(--mf-contact-surface-muted) !important;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid label > span::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 15px !important;
  width: 23px !important;
  height: 23px !important;
  border: 1px solid rgba(0, 95, 65, 0.17) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  transform: translateY(-50%) !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid label > span::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 21px !important;
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
  background: var(--mf-contact-lime) !important;
  opacity: 0 !important;
  transform:
    translateY(-50%)
    scale(0.45) !important;
  transition:
    opacity 180ms ease,
    transform 180ms ease !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid label:hover > span {
  border-color: rgba(0, 95, 65, 0.19) !important;
  transform: translateY(-1px) !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid input:checked + span {
  border-color: rgba(0, 95, 65, 0.27) !important;
  background: rgba(166, 229, 43, 0.08) !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid input:checked + span::after {
  opacity: 1 !important;
  transform:
    translateY(-50%)
    scale(1) !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid input:focus-visible + span {
  outline: 2px solid var(--mf-contact-green) !important;
  outline-offset: 3px !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid strong {
  color: var(--mf-contact-text) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-reason__grid small {
  margin-top: 4px !important;
  color: var(--mf-contact-copy) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 17px 16px !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0 !important;
}

/* Datenschutz */
#mf-company-contact-page
  .mf-company-form
  .mf-extra-privacy {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  margin-top: 1px !important;
  cursor: pointer !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-privacy input {
  width: 17px !important;
  height: 17px !important;
  margin-top: 1px !important;
  accent-color: var(--mf-contact-green) !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-privacy span {
  color: var(--mf-contact-copy) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-extra-privacy a {
  color: var(--mf-contact-green) !important;
  font-weight: 550 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}


#mf-company-contact-page
  .mf-company-form
  .mf-elementor-submit {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#mf-company-contact-page
  .mf-company-form
  .mf-elementor-submit .elementor-button {
  margin-right: auto !important;
  margin-left: 0 !important;
}

/* Elementor-Button */
#mf-company-contact-page
  .mf-company-form
  .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 49px !important;
  padding: 13px 18px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--mf-contact-lime) !important;
  color: var(--mf-contact-green-deep) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-button:hover {
  background: var(--mf-contact-lime-hover) !important;
  box-shadow: 0 10px 24px rgba(24, 54, 41, 0.12) !important;
  transform: translateY(-2px) !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-button:focus-visible {
  outline: 2px solid var(--mf-contact-green) !important;
  outline-offset: 4px !important;
}

/* Elementor-Fehler und Erfolg */
#mf-company-contact-page
  .mf-company-form
  .elementor-error {
  margin-top: 5px !important;
  color: #a83c30 !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-message {
  margin: 14px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 11px !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-message-success {
  border: 1px solid rgba(0, 95, 65, 0.16) !important;
  background: rgba(166, 229, 43, 0.1) !important;
  color: var(--mf-contact-green) !important;
}

#mf-company-contact-page
  .mf-company-form
  .elementor-message-danger {
  border: 1px solid rgba(168, 60, 48, 0.16) !important;
  background: rgba(168, 60, 48, 0.06) !important;
  color: #8c3028 !important;
}

#mf-company-contact-page .mf-contact__microcopy {
  margin: 14px 0 0;
  color: var(--mf-contact-muted);
  font-size: 8px;
  font-weight: 500;
  line-height: 1.55;
}

#mf-company-contact-page .mf-contact__microcopy span {
  padding: 0 2px;
  color: var(--mf-contact-green);
}

/* =========================================================
   AGENDA
   ========================================================= */

#mf-company-contact-page .mf-contact-agenda {
  padding: 74px 24px 70px !important;
  border-top: 1px solid rgba(0, 95, 65, 0.06);
  background: var(--mf-contact-surface);
}

#mf-company-contact-page .mf-contact-agenda__header {
  display: grid;
  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(320px, 0.7fr);
  gap: 70px;
  align-items: end;
}

#mf-company-contact-page .mf-contact-agenda__kicker,
#mf-company-contact-page .mf-contact-next__kicker,
#mf-company-contact-page .mf-contact-faq__kicker {
  display: inline-block;
  color: var(--mf-contact-green);
  font-size: 10px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

#mf-company-contact-page .mf-contact-agenda__header h2,
#mf-company-contact-page .mf-contact-next__intro h2,
#mf-company-contact-page .mf-contact-faq__intro h2 {
  margin: 13px 0 0;
  color: var(--mf-contact-text);
  font-size: 31px;
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -0.027em;
  text-wrap: balance;
}

#mf-company-contact-page .mf-contact-agenda__header > p {
  margin: 0;
  color: var(--mf-contact-copy);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.68;
}

#mf-company-contact-page .mf-contact-agenda__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 42px;
  border-top: 1px solid var(--mf-contact-border);
}

#mf-company-contact-page .mf-contact-agenda__item {
  min-width: 0;
  padding: 25px 24px 2px;
  border-left: 1px solid var(--mf-contact-border);
}

#mf-company-contact-page .mf-contact-agenda__item:first-child {
  padding-left: 0;
  border-left: 0;
}

#mf-company-contact-page .mf-contact-agenda__number {
  color: var(--mf-contact-green);
  font-size: 10px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.08em;
}

#mf-company-contact-page .mf-contact-agenda__item h3 {
  margin: 18px 0 0;
  color: var(--mf-contact-text);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

#mf-company-contact-page .mf-contact-agenda__item p {
  margin: 11px 0 0;
  color: var(--mf-contact-copy);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.65;
}

/* =========================================================
   NEXT STEPS
   ========================================================= */

#mf-company-contact-page .mf-contact-next {
  padding: 70px 24px !important;
  background: var(--mf-contact-page);
}

#mf-company-contact-page .mf-contact-next__stage {
  display: grid;
  grid-template-columns:
    minmax(0, 0.78fr)
    minmax(0, 1.12fr);
  gap: 75px;
  align-items: start;
  padding: 48px 50px;
  border: 1px solid rgba(0, 95, 65, 0.08);
  border-radius: 22px;
  background: var(--mf-contact-surface);
}

#mf-company-contact-page .mf-contact-next__intro p {
  max-width: 450px;
  margin: 15px 0 0;
  color: var(--mf-contact-copy);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.68;
}

#mf-company-contact-page .mf-contact-next__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--mf-contact-border);
}

#mf-company-contact-page .mf-contact-next__steps li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  padding: 21px 0;
  border-bottom: 1px solid var(--mf-contact-border);
}

#mf-company-contact-page .mf-contact-next__steps li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(0, 95, 65, 0.11);
  border-radius: 50%;
  background: rgba(166, 229, 43, 0.12);
  color: var(--mf-contact-green);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

#mf-company-contact-page .mf-contact-next__steps strong {
  color: var(--mf-contact-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

#mf-company-contact-page .mf-contact-next__steps p {
  margin: 6px 0 0;
  color: var(--mf-contact-copy);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.6;
}

/* =========================================================
   FAQ
   ========================================================= */

#mf-company-contact-page .mf-contact-faq {
  padding: 72px 24px 84px !important;
  background: var(--mf-contact-surface);
}

#mf-company-contact-page .mf-contact-faq__layout {
  display: grid;
  grid-template-columns:
    minmax(270px, 0.62fr)
    minmax(0, 1.38fr);
  gap: 80px;
  align-items: start;
}

#mf-company-contact-page .mf-contact-faq__intro {
  position: sticky;
  top: 100px;
}

#mf-company-contact-page .mf-contact-faq__intro p {
  margin: 13px 0 0;
  color: var(--mf-contact-copy);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}

#mf-company-contact-page .mf-contact-faq__phone {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: fit-content;
  margin-top: 25px;
  color: var(--mf-contact-green);
  text-decoration: none;
}

#mf-company-contact-page .mf-contact-faq__phone span {
  color: var(--mf-contact-muted);
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#mf-company-contact-page .mf-contact-faq__phone strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

#mf-company-contact-page .mf-contact-faq__list {
  border-top: 1px solid var(--mf-contact-border);
}

#mf-company-contact-page .mf-contact-faq__item {
  border-bottom: 1px solid var(--mf-contact-border);
}

#mf-company-contact-page .mf-contact-faq__question {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 20px;
  align-items: center;
  width: 100%;
  padding: 22px 0;
  border: 0;
  background: transparent;
  color: var(--mf-contact-text);
  text-align: left;
  cursor: pointer;
}

#mf-company-contact-page .mf-contact-faq__question > span:first-child {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

#mf-company-contact-page .mf-contact-faq__toggle {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  border: 1px solid var(--mf-contact-border-strong);
  border-radius: 50%;
}

#mf-company-contact-page .mf-contact-faq__toggle::before,
#mf-company-contact-page .mf-contact-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: var(--mf-contact-green);
  transform: translate(-50%, -50%);
  transition: transform 180ms ease;
}

#mf-company-contact-page .mf-contact-faq__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

#mf-company-contact-page
  .mf-contact-faq__question[aria-expanded="true"]
  .mf-contact-faq__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

#mf-company-contact-page .mf-contact-faq__question:focus-visible {
  outline: 2px solid var(--mf-contact-green);
  outline-offset: 4px;
}

#mf-company-contact-page .mf-contact-faq__answer[hidden] {
  display: none !important;
}

#mf-company-contact-page .mf-contact-faq__answer > div {
  max-width: 720px;
  padding: 0 50px 22px 0;
}

#mf-company-contact-page .mf-contact-faq__answer p {
  margin: 0;
  color: var(--mf-contact-copy);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {
  #mf-company-contact-page .mf-contact__stage {
    grid-template-columns:
      minmax(310px, 0.76fr)
      minmax(0, 1.24fr);
  }

  #mf-company-contact-page .mf-contact__info {
    padding: 36px 30px 30px;
  }

  #mf-company-contact-page .mf-contact__form-area {
    padding: 36px 32px 34px;
  }

  #mf-company-contact-page
    .mf-company-form
    .mf-extra-reason__grid {
    grid-template-columns: 1fr !important;
  }

  #mf-company-contact-page .mf-contact-agenda__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }

  #mf-company-contact-page .mf-contact-agenda__item:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }

  #mf-company-contact-page .mf-contact-next__stage {
    gap: 50px;
    padding: 42px;
  }
}

/* =========================================================
   STACKED
   ========================================================= */

@media (max-width: 860px) {
  #mf-company-contact-page .mf-contact__stage {
    grid-template-columns: 1fr;
  }

  #mf-company-contact-page .mf-contact__info-title,
  #mf-company-contact-page .mf-contact__info-copy {
    max-width: 620px;
  }

  #mf-company-contact-page .mf-contact__trust {
    margin-top: 28px;
  }

  #mf-company-contact-page .mf-contact-agenda__header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  #mf-company-contact-page .mf-contact-next__stage {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  #mf-company-contact-page .mf-contact-faq__layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  #mf-company-contact-page .mf-contact-faq__intro {
    position: static;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  #mf-company-contact-page .mf-contact-hero {
    padding: 58px 16px 52px !important;
  }

  #mf-company-contact-page .mf-contact__header {
    margin-bottom: 30px;
  }

  #mf-company-contact-page .mf-contact__title {
    font-size: 29px;
    line-height: 1.21;
  }

  #mf-company-contact-page .mf-contact__intro {
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.63;
  }

  #mf-company-contact-page .mf-contact__stage {
    border-radius: 19px;
  }

  #mf-company-contact-page .mf-contact__info {
    padding: 30px 22px 27px;
  }

  #mf-company-contact-page .mf-contact__info-title {
    font-size: 26px;
  }

  #mf-company-contact-page .mf-contact__trust > div {
    padding: 0 8px;
  }

  #mf-company-contact-page .mf-contact__form-area {
    padding: 30px 20px 27px;
  }

  #mf-company-contact-page .mf-contact__form-head h2 {
    font-size: 25px;
  }

  #mf-company-contact-page
    .mf-company-form
    .elementor-form-fields-wrapper {
    grid-template-columns: 1fr !important;
  }

  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-name,
  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-email,
  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-message,
  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-submit,
  #mf-company-contact-page
    .mf-company-form
    .mf-extra-fields,
  #mf-company-contact-page
    .mf-company-form
    .mf-extra-privacy {
    grid-column: 1 !important;
  }

  #mf-company-contact-page
    .mf-company-form
    .mf-extra-grid,
  #mf-company-contact-page
    .mf-company-form
    .mf-extra-reason__grid {
    grid-template-columns: 1fr !important;
  }


  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-name,
  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-email,
  #mf-company-contact-page
    .mf-company-form
    .mf-elementor-message {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  #mf-company-contact-page
    .mf-company-form
    .elementor-button {
    width: 100% !important;
  }

  #mf-company-contact-page .mf-contact__microcopy {
    text-align: center;
  }

  #mf-company-contact-page .mf-contact-agenda {
    padding: 56px 16px 52px !important;
  }

  #mf-company-contact-page .mf-contact-agenda__header h2,
  #mf-company-contact-page .mf-contact-next__intro h2,
  #mf-company-contact-page .mf-contact-faq__intro h2 {
    font-size: 27px;
  }

  #mf-company-contact-page .mf-contact-agenda__grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 30px;
  }

  #mf-company-contact-page .mf-contact-agenda__item,
  #mf-company-contact-page .mf-contact-agenda__item:nth-child(3) {
    padding: 21px 0;
    border-bottom: 1px solid var(--mf-contact-border);
    border-left: 0;
  }

  #mf-company-contact-page .mf-contact-next {
    padding: 52px 16px !important;
  }

  #mf-company-contact-page .mf-contact-next__stage {
    padding: 30px 22px;
    border-radius: 18px;
  }

  #mf-company-contact-page .mf-contact-faq {
    padding: 56px 16px 64px !important;
  }

  #mf-company-contact-page .mf-contact-faq__question {
    gap: 15px;
    padding: 19px 0;
  }

  #mf-company-contact-page .mf-contact-faq__answer > div {
    padding-right: 36px;
  }
}

/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 390px) {
  #mf-company-contact-page .mf-contact__title {
    font-size: 27px;
  }

  #mf-company-contact-page .mf-contact__info,
  #mf-company-contact-page .mf-contact__form-area {
    padding-right: 18px;
    padding-left: 18px;
  }

  #mf-company-contact-page .mf-contact__trust strong {
    font-size: 18px;
  }

  #mf-company-contact-page .mf-contact__trust span {
    font-size: 7px;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  #mf-company-contact-page .mf-contact__channel,
  #mf-company-contact-page .mf-company-form *,
  #mf-company-contact-page .mf-contact-faq__toggle::after {
    transition: none !important;
  }
}/* End custom CSS */