.elementor-948 .elementor-element.elementor-element-6604a72{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-89828e1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-5fa552b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-7417411{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-3b794ca{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-17c99a7{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-47c8e46{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-65c446f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-field-type-html{padding-bottom:0px;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-button[type="submit"]{color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-948 .elementor-element.elementor-element-6d7de27{--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;}.elementor-948 .elementor-element.elementor-element-81b6432{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-d2c4a0e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-afa7ae8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}body.elementor-page-948{margin:60px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}@media(max-width:767px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}/* Start custom CSS *//* ==========================================
   CANFX START A PROJECT PAGE — V2.0
   Clean structure:
   S1: Contact Hero
   S2: Project Form
   S3: Direct Contact
========================================== */


/* ==========================================
   GLOBAL
========================================== */

.canfx-contact-hero,
.canfx-contact-form-section,
.canfx-direct-contact {
  font-family: "sofia-pro", sans-serif !important;
}

.canfx-section {
  width: min(1280px, calc(100% - 64px)) !important;
  margin-inline: auto !important;
}


/* ==========================================
   S1 — CONTACT HERO
========================================== */

.canfx-contact-hero,
.elementor-element.canfx-contact-hero {
  width: 100% !important;
  max-width: none !important;

  background: #111827 !important;
  color: #ffffff !important;

  padding: 150px 0 210px !important;
  overflow: hidden !important;
}

.canfx-contact-hero-inner {
  width: 100% !important;
  margin: 0 auto !important;
}

.canfx-contact-kicker {
  margin-bottom: 28px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;

  color: #9FBF3B !important;
}

.canfx-contact-title {
  max-width: 980px !important;
  margin: 0 !important;

  font-size: clamp(52px, 7vw, 96px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;

  color: #ffffff !important;
}

.canfx-contact-title span {
  color: #9FBF3B !important;
}

.canfx-contact-intro {
  max-width: 650px !important;
  margin: 38px 0 0 !important;

  font-size: 20px !important;
  line-height: 1.65 !important;

  color: #D1D5DB !important;
}


/* ==========================================
   S2 — CONTACT FORM SECTION
========================================== */

.canfx-contact-form-section,
.elementor-element.canfx-contact-form-section {
  background: linear-gradient(180deg, #F8FAF7 0%, #ffffff 100%) !important;
  color: #111827 !important;

  padding: 0 0 70px !important;
  overflow: visible !important;
}

.canfx-contact-form-inner {
  width: 100% !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: 0.78fr 1.22fr !important;
  gap: 96px !important;
  align-items: start !important;
}


/* LEFT COPY */

.canfx-contact-form-copy {
  padding-top: 100px !important;
}

.canfx-form-kicker {
  margin-bottom: 24px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;

  color: #9FBF3B !important;
}

.canfx-form-title {
  margin: 0 !important;

  font-size: clamp(38px, 4.2vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;

  color: #111827 !important;
}

.canfx-form-title span {
  color: #9FBF3B !important;
}

.canfx-form-text {
  max-width: 460px !important;
  margin: 48px 0 0 !important;

  font-size: 18px !important;
  line-height: 1.65 !important;

  color: #374151 !important;
}

.canfx-form-note {
  margin: 28px 0 0 !important;

  font-size: 15px !important;
  line-height: 1.6 !important;

  color: #6B7280 !important;
}

/* ==========================================
   FORM CARD
========================================== */

.canfx-contact-form-card {
  position: relative !important;
  transform: translateY(-90px) !important;
}

.canfx-contact-form-card .elementor-widget-form,
.canfx-contact-form-card .elementor-widget-container {
  width: 100% !important;
}

.canfx-contact-form-card .elementor-form {
  font-family: "sofia-pro", sans-serif !important;

  background: #ffffff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 28px !important;
  padding: 48px !important;

  box-shadow:
    0 24px 70px rgba(17,24,39,.10),
    0 8px 22px rgba(17,24,39,.06) !important;

  transition:
    opacity .35s ease,
    transform .35s ease,
    visibility .35s ease !important;
}

/* Hide form after successful submit */
.canfx-form-submitted > .elementor-widget-form {

  opacity: 0 !important;

  transform: translateY(-18px) scale(.98) !important;

  pointer-events: none !important;

  visibility: hidden !important;

  max-height: 0 !important;

  overflow: hidden !important;

  margin: 0 !important;

  transition:

    opacity .35s ease,

    transform .35s ease,

    max-height .6s ease,

    visibility .35s ease !important;

}


/* ==========================================
   FORM BASE
========================================== */

.canfx-contact-form-card .elementor-field-group {
  margin-bottom: 22px !important;
}

.canfx-contact-form-card label {
  margin-bottom: 8px !important;

  font-family: "sofia-pro", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;

  color: #111827 !important;
}

/* Hide labels on normal input fields */
.canfx-contact-form-card .elementor-field-type-text label,
.canfx-contact-form-card .elementor-field-type-email label,
.canfx-contact-form-card .elementor-field-type-textarea label {
  display: none !important;
}


/* ==========================================
   INPUTS / TEXTAREA / SELECT
========================================== */

.canfx-contact-form-card input,
.canfx-contact-form-card textarea,
.canfx-contact-form-card select {
  font-family: "sofia-pro", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;

  background: #F8FAF7 !important;
  color: #111827 !important;

  border: 1px solid #E5E7EB !important;
  border-radius: 14px !important;

  padding: 16px 18px !important;
  box-shadow: none !important;

  transition:
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease !important;
}

.canfx-contact-form-card textarea {
  min-height: 170px !important;
  resize: vertical !important;
}

.canfx-contact-form-card input::placeholder,
.canfx-contact-form-card textarea::placeholder {
  color: #9CA3AF !important;
}

.canfx-contact-form-card input:focus,
.canfx-contact-form-card textarea:focus,
.canfx-contact-form-card select:focus {
  outline: none !important;
  background: #ffffff !important;
  border-color: rgba(159,191,59,.75) !important;
  box-shadow: 0 0 0 4px rgba(159,191,59,.12) !important;
}


/* ==========================================
   CHECKBOX PILLS
========================================== */

.canfx-contact-form-card .elementor-field-type-checkbox .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px 12px !important;
  align-items: stretch !important;
}

.canfx-contact-form-card .elementor-field-type-checkbox .elementor-field-option {
  position: relative !important;
  display: inline-flex !important;
  width: 100% !important;
  margin: 0 !important;
}

.canfx-contact-form-card .elementor-field-type-checkbox input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.canfx-contact-form-card .elementor-field-type-checkbox label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  text-align: center !important;
  white-space: nowrap !important;

  padding: 5px 10px !important;

  border: 1px solid #E5E7EB !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: #374151 !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;

  cursor: pointer !important;

  transition:
    background .25s ease,
    border-color .25s ease,
    color .25s ease !important;
}

.canfx-contact-form-card
.elementor-field-type-checkbox
input[type="checkbox"]:checked + label {
  background: #9FBF3B !important;
  border-color: #9FBF3B !important;
  color: #111827 !important;
}

.canfx-contact-form-card
.elementor-field-type-checkbox
label:hover {
  border-color: rgba(159,191,59,.65) !important;
}

/* Checkbox heading */
.canfx-contact-form-card .elementor-field-type-checkbox > label {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;

  text-align: left !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;

  color: #9FBF3B !important;
}

/* ==========================================
   SELECT FIELD
========================================== */

.canfx-contact-form-card .elementor-field-type-select label {
  display: block !important;

  margin: 0 !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;

  color: #9FBF3B !important;
}

.canfx-contact-form-card select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  padding-right: 50px !important;

  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 14px 8px !important;

  background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
}

.canfx-contact-form-card .elementor-field-type-select::after,
.canfx-contact-form-card .select-caret-down-wrapper {
  display: none !important;
}


/* ==========================================
   SUBMIT BUTTON
========================================== */

.canfx-contact-form-card .elementor-button {
  width: 100% !important;

  padding: 16px 24px !important;

  border: 1px solid #9FBF3B !important;
  border-radius: 14px !important;

  background: #9FBF3B !important;
  color: #111827 !important;

  font-family: "sofia-pro", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;

  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease !important;
}

.canfx-contact-form-card .elementor-button:hover {
  background: #7E9E2E !important;
  border-color: #7E9E2E !important;
  transform: translateY(-2px);
}


/* ==========================================
   MESSAGES
========================================== */

.canfx-contact-form-card .elementor-message {
  margin-top: 20px !important;
  padding: 14px 16px !important;

  border-radius: 14px !important;

  font-family: "sofia-pro", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.canfx-contact-form-card .elementor-message-success {
  display: none !important;
}

.canfx-contact-form-card .elementor-message-danger {
  background: rgba(220,38,38,.08) !important;
  color: #991B1B !important;
}


/* ==========================================
   SUCCESS STATE
========================================== */

.canfx-contact-form-card .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.canfx-form-success-state {
  background: #ffffff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 28px !important;
  padding: 48px !important;

  box-shadow:
    0 24px 70px rgba(17,24,39,.10),
    0 8px 22px rgba(17,24,39,.06) !important;

  opacity: 0 !important;
  transform: translateY(18px) !important;
  pointer-events: none !important;

  transition:
    opacity .55s ease,
    transform .55s ease !important;
}

.canfx-form-submitted .canfx-form-success-state {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.canfx-success-icon {
  width: 46px !important;
  height: 46px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-bottom: 30px !important;

  border-radius: 50% !important;

  background: #9FBF3B !important;
  color: #111827 !important;

  font-size: 24px !important;
  font-weight: 700 !important;
}

.canfx-form-success-state h3 {
  margin: 0 !important;

  font-family: "sofia-pro", sans-serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;

  color: #111827 !important;
}

.canfx-form-success-state p {
  margin: 22px 0 0 !important;
  max-width: 430px !important;

  font-family: "sofia-pro", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;

  color: #374151 !important;
}

.canfx-success-divider {
  width: 100% !important;
  height: 1px !important;
  margin: 38px 0 28px !important;

  background: #E5E7EB !important;
}

.canfx-success-link {
  display: inline-flex !important;
  margin-top: 34px !important;

  border-bottom: 1px solid #9FBF3B !important;
  padding-bottom: 4px !important;

  font-family: "sofia-pro", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;

  color: #111827 !important;
  text-decoration: none !important;
}

.canfx-success-link:hover {
  color: #9FBF3B !important;
}

/* ==========================================
   S3 DIRECT CONTACT
========================================== */

.canfx-direct-contact,
.elementor-element.canfx-direct-contact {
  background: #111827 !important;
  color: #ffffff !important;

  padding: 150px 0 135px !important;
  margin-top: -70px !important;
}

.canfx-direct-contact-inner {
  width: 100% !important;
  max-width: 900px !important;

  margin: 0 auto !important;
  text-align: center !important;
}

.canfx-direct-line {
  width: 160px !important;
  height: 1px !important;

  margin: 0 auto 64px !important;

  background: rgba(255,255,255,.12) !important;
}

.canfx-direct-kicker {
  margin-bottom: 24px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;

  color: #9FBF3B !important;
}

.canfx-direct-title {
  margin: 0 !important;

  font-size: clamp(42px,5vw,72px) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;

  color: #ffffff !important;
}

.canfx-direct-title span{
  color:#9FBF3B !important;
}

.canfx-direct-text{
  max-width:580px !important;
  margin:30px auto 0 !important;

  font-size:18px !important;
  line-height:1.65 !important;

  color:#D1D5DB !important;
}

.canfx-direct-mail{
  display:inline-block !important;

  margin-top:42px !important;

  font-size:clamp(26px,4vw,46px) !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;

  color:#ffffff !important;
  text-decoration:none !important;

  transition:
    color .25s ease,
    transform .25s ease !important;
}

.canfx-direct-mail:hover{
  color:#9FBF3B !important;
  transform:translateY(-2px);
}


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

@media (max-width:1024px){

  .canfx-contact-form-inner{
    grid-template-columns:1fr !important;
    gap:42px !important;
  }

  .canfx-contact-form-copy{
    padding-top:70px !important;
  }

  .canfx-contact-form-card{
    transform:translateY(-70px) !important;
  }

}


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

@media (max-width:767px){

  .canfx-section{
    width:calc(100% - 40px) !important;
  }

  .canfx-contact-hero,
  .elementor-element.canfx-contact-hero{
    padding:105px 0 145px !important;
  }

  .canfx-contact-title{
    font-size:44px !important;
    line-height:1.07 !important;
  }

  .canfx-contact-intro{
    font-size:17px !important;
    margin-top:28px !important;
  }

  .canfx-contact-form-section,
  .elementor-element.canfx-contact-form-section{
    padding-bottom:90px !important;
  }

  .canfx-contact-form-copy{
    padding-top:48px !important;
  }

  .canfx-contact-form-card{
    transform:translateY(0px) !important;
  }

  .canfx-contact-form-card .elementor-form{
    padding:28px !important;
    border-radius:22px !important;
  }

  .canfx-form-title{
    font-size:38px !important;
  }

  .canfx-form-text{
    font-size:16px !important;
  }

  .canfx-contact-form-card
  .elementor-field-type-checkbox
  .elementor-field-subgroup{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .canfx-contact-form-card
  .elementor-field-type-checkbox
  label{
    font-size:12px !important;
    padding:9px 13px !important;
  }

  .canfx-form-success-state{
    padding:32px !important;
    border-radius:22px !important;
  }

  .canfx-form-success-state h3{
    font-size:38px !important;
  }

  .canfx-form-success-state p{
    font-size:16px !important;
  }

  .canfx-direct-contact,
  .elementor-element.canfx-direct-contact{
    padding:90px 0 100px !important;
    margin-top:-40px !important;
  }

  .canfx-direct-title{
    font-size:40px !important;
  }

  .canfx-direct-text{
    font-size:16px !important;
  }

  .canfx-direct-mail{
    font-size:28px !important;
  }

}

/* ==========================================
   FINAL SUCCESS LAYOUT — CLEAN
========================================== */

.canfx-contact-form-section {
  position: relative !important;
  z-index: 3 !important;
}

.canfx-direct-contact {
  position: relative !important;
  z-index: 1 !important;
}

/* Hide full form widget after submit */
.canfx-contact-form-card.canfx-form-submitted > .elementor-widget-form {
  opacity: 0 !important;
  transform: translateY(-18px) scale(.98) !important;
  pointer-events: none !important;
  visibility: hidden !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

/* Success widget: override old absolute positioning */
.canfx-contact-form-card > .elementor-widget-html {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transform: translateY(24px) scale(.98) !important;
  transition:
    opacity .55s ease,
    transform .55s ease,
    max-height .65s ease,
    visibility .55s ease !important;
}

/* Show success widget */
.canfx-contact-form-card.canfx-form-submitted > .elementor-widget-html {
  max-height: 700px !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
}

/* Success card itself */
.canfx-contact-form-card.canfx-form-submitted .canfx-form-success-state {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* After submit: center success card */
.canfx-contact-form-section:has(.canfx-form-submitted) .canfx-contact-form-inner {
  grid-template-columns: 1fr !important;
  max-width: 720px !important;
  gap: 0 !important;
}

/* Hide left copy after submit */
.canfx-contact-form-section:has(.canfx-form-submitted) .canfx-contact-form-copy {
  display: none !important;
}

/* Restore white breathing room */
.canfx-contact-form-section:has(.canfx-form-submitted) {
  padding-bottom: 130px !important;
}

/* Keep card overlapping hero */
.canfx-contact-form-section:has(.canfx-form-submitted) .canfx-contact-form-card {
  transform: translateY(-100px) !important;
  z-index: 10 !important;
}

/* Pull S3 up, but not over the card */
.canfx-contact-form-section:has(.canfx-form-submitted) + .canfx-direct-contact {
  margin-top: -90px !important;
  padding-top: 165px !important;
}/* End custom CSS */