.elementor-7344 .elementor-element.elementor-element-fc9f435{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-7344 .elementor-element.elementor-element-fc9f435:not(.elementor-motion-effects-element-type-background), .elementor-7344 .elementor-element.elementor-element-fc9f435 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7344 .elementor-element.elementor-element-65040a1 > .elementor-widget-container{margin:50px 0px 0px 0px;}.elementor-7344 .elementor-element.elementor-element-651e2c9{--display:flex;}.elementor-7344 .elementor-element.elementor-element-651e2c9:not(.elementor-motion-effects-element-type-background), .elementor-7344 .elementor-element.elementor-element-651e2c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7344 .elementor-element.elementor-element-651e2c9.e-con{--align-self:center;}.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-type-html{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.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{--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-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-group.recaptcha_v3-bottomleft, .elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-html{padding-bottom:0px;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-button[type="submit"]{color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-7344 .elementor-element.elementor-element-3fac9bc{--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-7344 .elementor-element.elementor-element-651e2c9{--content-width:1410px;}}/* Start custom CSS for text-editor, class: .elementor-element-65040a1 */.faded-highlight {
  color: #9A9A9A; /* replace with your brand colour */
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-3fac9bc *//* Turn checkbox list into a grid */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-subgroup {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Mobile: 1 column */
@media (max-width: 800px){
  .elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-subgroup {
    grid-template-columns: 1fr;
  }
}

/* Each option wrapper */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option {
  position: relative;
  margin: 0 !important;
}

/* Make the actual checkbox cover the entire tile (clickable) */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option input[type="checkbox"]{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

/* Tile base style (visual only) */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option label{
  display: block;
  text-align: center;
  border: 1px solid #7a7a7a;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  color: #7a7a7a;
  padding: 20px 0;
  font-family: inherit;
  pointer-events: none; /* let clicks go to the invisible input */
}

/* Selected state */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option:has(input:checked) label{
  background: #202020;
  border-color: #202020;
  color: #fff;
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-checkbox{
  padding-left: 0 !important;
  margin-left: 0 !important;
}
/* FORCE radio (budget) to behave like the checkbox grid */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-radio .elementor-field-subgroup{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
}

/* Make each option fill the grid cell */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-radio .elementor-field-option{
  width: 100% !important;
}

/* Make the label fill the grid cell (prevents shrink-wrap) */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-radio .elementor-field-option label{
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 800px){
  .elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-radio .elementor-field-subgroup{
    grid-template-columns: 1fr !important;
  }
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-radio input[type="radio"]{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-type-radio{
  padding-left: 0 !important;
  margin-left: 0 !important;
}
/* Make ALL tiles (checkbox + radio) exactly equal width */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-subgroup{
  width: 100% !important;
}

.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option{
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}

.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option label{
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Specifically tighten RADIO options so none can “grow” */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-subgroup:has(input[type="radio"]) .elementor-field-option{
  display: block !important;
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .form-section-title{
  margin: 30px 0 20px;
  font-size: 24px;
  font-weight: 400;
  text-transform: uppercase;
  font-family: inherit;
}

.elementor-7344 .elementor-element.elementor-element-3fac9bc .form-asterisk{
  color: #cb0000;
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .form-section-title{
  margin: 30px 0 20px;
  font-size: 24px;
  font-weight: 400;
  text-transform: uppercase;
  font-family: inherit;
}

.elementor-7344 .elementor-element.elementor-element-3fac9bc .form-subtext{ color:#9a9a9a; }
.elementor-7344 .elementor-element.elementor-element-3fac9bc .form-asterisk{ color:#cb0000; }
.elementor-7344 .elementor-element.elementor-element-3fac9bc .budget-title{
  margin-top: 50px;
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .contact-title{
  margin-top: 50px;
}
.elementor-7344 .elementor-element.elementor-element-3fac9bc .help-title{
  margin-top: 50px;
}
/* Text inputs + textarea styling */
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="text"],
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="email"],
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="tel"],
.elementor-7344 .elementor-element.elementor-element-3fac9bc textarea{
  width: 100%;
  font-family: inherit;
  font-size: 18px;
  color: #202020;
  border: 1px solid #7a7a7a;
  border-radius: 0;
  padding: 16px 14px;
  box-sizing: border-box;
  background: transparent;
}

/* Textarea height */
.elementor-7344 .elementor-element.elementor-element-3fac9bc textarea{
  min-height: 160px;
  resize: vertical;
}

/* Placeholder */
.elementor-7344 .elementor-element.elementor-element-3fac9bc ::placeholder{
  color: #7a7a7a;
  opacity: 1;
}

/* Focus state */
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="text"]:focus,
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="email"]:focus,
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="tel"]:focus,
.elementor-7344 .elementor-element.elementor-element-3fac9bc textarea:focus{
  outline: none;
  border-color: #202020;
}
/* Slightly rounded corners for tiles + inputs + button */
.elementor-7344 .elementor-element.elementor-element-3fac9bc .elementor-field-option label,
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="text"],
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="email"],
.elementor-7344 .elementor-element.elementor-element-3fac9bc input[type="tel"],
.elementor-7344 .elementor-element.elementor-element-3fac9bc textarea,
.elementor-7344 .elementor-element.elementor-element-3fac9bc button[type="submit"]{
  border-radius: 6px;
}/* End custom CSS */