.elementor-73 .elementor-element.elementor-element-f201f0d{--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;--border-radius:12px 12px 12px 12px;--padding-top:5%;--padding-bottom:10%;--padding-left:05%;--padding-right:05%;}.elementor-73 .elementor-element.elementor-element-f201f0d:not(.elementor-motion-effects-element-type-background), .elementor-73 .elementor-element.elementor-element-f201f0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F1113;}.elementor-73 .elementor-element.elementor-element-7afa72d{--display:flex;}.elementor-73 .elementor-element.elementor-element-0caceb9{--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-73 .elementor-element.elementor-element-3f5a036{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 5%) 0%;text-align:center;}.elementor-73 .elementor-element.elementor-element-3f5a036 .elementor-heading-title{font-family:"ivybodoni", Sans-serif;font-size:40px;font-weight:400;color:var( --e-global-color-b0bdf4d );}.elementor-73 .elementor-element.elementor-element-c659ff7{width:var( --container-widget-width, 540px );max-width:540px;margin:0% 30% calc(var(--kit-widget-spacing, 0px) + 0%) 30%;--container-widget-width:540px;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:22px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-0954c91 );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:var( --e-global-color-0954c91 );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-73 .elementor-element.elementor-element-c659ff7.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:24px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-24px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-labels-inline .elementor-field-group > label{padding-left:8px;}body:not(.rtl) .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-labels-inline .elementor-field-group > label{padding-right:8px;}body .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-labels-above .elementor-field-group > label{padding-bottom:8px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group > label, .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-subgroup label{color:#333333;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group > label{font-size:14px;font-weight:600;letter-spacing:0.5px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-type-html{padding-bottom:8px;color:#333333;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group .elementor-field{color:#333333;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group .elementor-field, .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-subgroup label{font-size:16px;letter-spacing:0.6px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF14;border-color:var( --e-global-color-accent );border-width:01px 01px 01px 01px;border-radius:4px 4px 4px 4px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF14;border-color:var( --e-global-color-accent );border-width:01px 01px 01px 01px;border-radius:4px 4px 4px 4px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper__button-next{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button[type="submit"]{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper__button-previous{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper__button-next:hover{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button[type="submit"]:hover{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper__button-previous:hover{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button{border-radius:4px 4px 4px 4px;padding:014px 48px 14px 048px;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-message.elementor-message-success{color:var( --e-global-color-0954c91 );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-message.elementor-message-danger{color:var( --e-global-color-0954c91 );}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-message.elementor-help-inline{color:var( --e-global-color-0954c91 );}.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__indicators__indicator, .elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__indicators__indicator__label{font-size:13px;text-transform:uppercase;}.elementor-73 .elementor-element.elementor-element-f612375{width:var( --container-widget-width, 540px );max-width:540px;margin:0% 30% calc(var(--kit-widget-spacing, 0px) + 0%) 30%;--container-widget-width:540px;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:22px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-0954c91 );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:var( --e-global-color-0954c91 );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-73 .elementor-element.elementor-element-f612375.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:24px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-24px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-73 .elementor-element.elementor-element-f612375 .elementor-labels-inline .elementor-field-group > label{padding-left:8px;}body:not(.rtl) .elementor-73 .elementor-element.elementor-element-f612375 .elementor-labels-inline .elementor-field-group > label{padding-right:8px;}body .elementor-73 .elementor-element.elementor-element-f612375 .elementor-labels-above .elementor-field-group > label{padding-bottom:8px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group > label, .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-subgroup label{color:#333333;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group > label{font-size:14px;font-weight:600;letter-spacing:0.5px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-type-html{padding-bottom:8px;color:#333333;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group .elementor-field{color:#333333;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group .elementor-field, .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-subgroup label{font-size:16px;letter-spacing:0.6px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF14;border-color:var( --e-global-color-accent );border-width:01px 01px 01px 01px;border-radius:4px 4px 4px 4px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF14;border-color:var( --e-global-color-accent );border-width:01px 01px 01px 01px;border-radius:4px 4px 4px 4px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper__button-next{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button[type="submit"]{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper__button-previous{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper__button-next:hover{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button[type="submit"]:hover{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper__button-previous:hover{color:var( --e-global-color-accent );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button{border-radius:4px 4px 4px 4px;padding:014px 48px 14px 048px;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-message.elementor-message-success{color:var( --e-global-color-0954c91 );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-message.elementor-message-danger{color:var( --e-global-color-0954c91 );}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-message.elementor-help-inline{color:var( --e-global-color-0954c91 );}.elementor-73 .elementor-element.elementor-element-f612375 .e-form__indicators__indicator, .elementor-73 .elementor-element.elementor-element-f612375 .e-form__indicators__indicator__label{font-size:13px;text-transform:uppercase;}#elementor-popup-modal-73 .dialog-widget-content{animation-duration:1s;background-color:#F6F4F1;border-style:none;border-radius:12px 12px 12px 12px;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-73{background-color:var( --e-global-color-accent );justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-73 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-73 .dialog-close-button{display:flex;font-size:20px;}#elementor-popup-modal-73 .dialog-close-button i{color:var( --e-global-color-text );}#elementor-popup-modal-73 .dialog-close-button svg{fill:var( --e-global-color-text );}@media(min-width:768px){.elementor-73 .elementor-element.elementor-element-0caceb9{--width:100%;}}@media(max-width:767px){.elementor-73 .elementor-element.elementor-element-f201f0d{--content-width:420px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-73 .elementor-element.elementor-element-0caceb9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-73 .elementor-element.elementor-element-3f5a036{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;text-align:start;}.elementor-73 .elementor-element.elementor-element-3f5a036 .elementor-heading-title{font-size:35px;}.elementor-73 .elementor-element.elementor-element-c659ff7{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:20px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-73 .elementor-element.elementor-element-c659ff7.elementor-element{--align-self:center;}.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-message{font-size:16px;}.elementor-73 .elementor-element.elementor-element-f612375{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:20px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-73 .elementor-element.elementor-element-f612375.elementor-element{--align-self:center;}.elementor-73 .elementor-element.elementor-element-f612375 .elementor-message{font-size:16px;}#elementor-popup-modal-73 .dialog-message{width:92vw;padding:0px 0px 0px 0px;}#elementor-popup-modal-73 .dialog-widget-content{margin:20px 20px 20px 20px;}}/* Start custom CSS for form, class: .elementor-element-c659ff7 *//* ---------- FORM PANEL (PAPER) ---------- */


/* Hide native radios & checkboxes */
.elementor-73 .elementor-element.elementor-element-c659ff7 input[type="radio"],
.elementor-73 .elementor-element.elementor-element-c659ff7 input[type="checkbox"] {
    display: none !important;
}

/* Base chip style */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-option label {
    background: transparent;
    padding: 10px 16px;
    border-radius: 22px;
    display: inline-block;
    font-size: 15px;
    cursor: pointer;

    border: 1px solid rgba(0,0,0,0.18);
    color: rgba(0,0,0,0.75);

    transition: all 0.25s ease;
    white-space: nowrap;
    line-height: 1.4;

    margin-right: 10px;
    margin-bottom: 12px;
}

/* Hover */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-option label:hover {
    background: rgba(0,0,0,0.04);
    border-color: rgba(0,0,0,0.28);
}

/* Active */
.elementor-73 .elementor-element.elementor-element-c659ff7 input:checked + label {
    background: rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0.45);
    color: #111;
}

.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-option {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 12px;
}

/******************************************
  INPUT FIELD PADDING
******************************************/

.elementor-73 .elementor-element.elementor-element-c659ff7 input,
.elementor-73 .elementor-element.elementor-element-c659ff7 select,
.elementor-73 .elementor-element.elementor-element-c659ff7 textarea {
    padding: 10px 16px !important;
}

/******************************************
  GLOBAL FORM ROW GAP — PRIMARY FIX
******************************************/

.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form-fields-wrapper {
    --e-form-rows-gap: 16px !important;   /* perfect for desktop + mobile */
}

/******************************************
  STEP TITLE — PINEAPPLE
******************************************/

.elementor-73 .elementor-element.elementor-element-c659ff7 .form-step-title {
    display: block;
    margin: 0 0 24px 0;

    font-family: "Ivybodoni", serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.1;

    color: #111;
}

/* Underline (subtle editorial rule) */
.elementor-73 .elementor-element.elementor-element-c659ff7 .form-step-title:after {
    content: "";
    display: block;
    width: 36px;
    height: 1px;

    background: rgba(0,0,0,0.15);
    margin-top: 10px;

    border-radius: 1px;
}

/* Keep Elementor HTML block clean */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-type-html {
    margin: 0 !important;
    padding: 0 !important;
}
/******************************************
  FIELD-SPECIFIC SPACING (AGE + RESIDENCE)
******************************************/

/* Reduce space between "Age" label and chips */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="age"] label {
    margin-bottom: 6px !important;
}

/* Reduce large gap AFTER age chips */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="age"] {
    margin-bottom: 4px !important;
}

/* Add breathing room before "Primary Residence" */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="primary_residence"] {
    margin-top: 14px !important;
}

/******************************************
  MOBILE REFINEMENT
******************************************/

@media (max-width: 480px) {

    /* Chips slightly tighter */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-option label {
        padding: 8px 14px !important;
        font-size: 14px !important;
        margin-right: 6px !important;
        margin-bottom: 8px !important;
    }
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-option {
        margin-bottom: 8px !important;
    }

    /* Global mobile row gap */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form-fields-wrapper {
        --e-form-rows-gap: 12px !important;
    }

    /* Step title refinement */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .form-step-title {
        font-size: 22px !important;
        margin-bottom: 18px !important;
    }
    .elementor-73 .elementor-element.elementor-element-c659ff7 .form-step-title:after {
        width: 22px !important;
        margin-top: 6px !important;
    }

    /* Compact input fields */
    .elementor-73 .elementor-element.elementor-element-c659ff7 input,
    .elementor-73 .elementor-element.elementor-element-c659ff7 select,
    .elementor-73 .elementor-element.elementor-element-c659ff7 textarea {
        padding: 8px 14px !important;
        font-size: 15px !important;
    }

    /* Fix spacing under Age on mobile */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="age"] {
        margin-bottom: 2px !important;
    }

    /* Fix spacing before Residence on mobile */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="primary_residence"] {
        margin-top: 10px !important;
    }
}
/************************************************
  FINAL SPACING FIX (GUARANTEED TO WORK)
************************************************/

/* Reduce space UNDER Age chips */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="age"] {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
}

/* Add space BEFORE Primary Residence */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="primary_residence"] {
    margin-top: 16px !important;
}

/* Override Elementor’s built-in row-gap */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form-fields-wrapper {
    --e-form-rows-gap: 12px !important;
}

/************************************************
  FIX OVERLY TALL STEPS WITH MANY CHIPS
************************************************/

..elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form-fields-wrapper {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/************************************************
  WIDEN ONLY CHIP ROWS (NOT THE WHOLE FORM)
************************************************/

/* Apply to any field group that contains chips */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-type="checkbox"],
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-type="radio"] {

    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px 14px !important;
}

/* Keep individual chip labels slightly narrower */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-type="checkbox"] .elementor-field-option label,
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-type="radio"] .elementor-field-option label {
    padding-left: 14px !important;
    padding-right: 14px !important;
}
/********************************************************
  FINAL POLISH — SPACING + VERTICAL RHYTHM
********************************************************/

/* Reduce space between the Age chip grid and next field */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group-age {
    margin-bottom: 12px !important;
}

/* Align Primary Residence label more tightly */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="primary_residence"] label {
    margin-bottom: 6px !important;
}

/* Ensure the Residence field sits closer to the button row */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="primary_residence"] {
    margin-bottom: 18px !important;
}

/* More breathing room ABOVE the Age title */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group-age label.elementor-field-label {
    margin-top: 8px !important;
}

/* Ensure all field rows obey same rhythm */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form {
    --e-form-rows-gap: 18px !important;
}

/* Buttons row: tighten spacing on mobile + desktop */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-type-submit,
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-type-next,
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-type-previous {
    margin-top: 12px !important;
}


/********************************************************
  MOBILE POLISH
********************************************************/
@media (max-width: 480px) {

    /* Slightly reduce chip height + spacing */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-option label {
        padding: 7px 12px !important;
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }

    /* Make Residence field tighter on small screens */
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="primary_residence"] {
        margin-bottom: 14px !important;
    }

    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-form {
        --e-form-rows-gap: 14px !important;
    }
}


.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="spending_level"] .elementor-field-subgroup,
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-field-group[data-field-id="spend_level"] .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    justify-items: center; /* perfectly centers each chip */
}

/******************************************
   BEVERLY — BUTTON SYSTEM
******************************************/

/* Base button styling */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button {
    border-radius: 4px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    padding: 14px 24px !important;
    width: 100% !important;
    transition: all 0.25s ease;
}

/******************************************
   PRIMARY BUTTON (CONTINUE)
******************************************/

.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button[type="submit"],
.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper .elementor-button:not(.e-form__buttons__wrapper__previous) {
    background: transparent !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,0.35) !important;
}

/* Hover — invert (clean + premium) */
.elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button:hover {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}

/******************************************
   SECONDARY BUTTON (PREVIOUS)
******************************************/

.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper__previous {
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.18) !important;
    color: rgba(0,0,0,0.6) !important;
}

/* Hover */
.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper__previous:hover {
    background: rgba(0,0,0,0.04) !important;
    border-color: rgba(0,0,0,0.3) !important;
    color: #111 !important;
}
/******************************************
   BUTTON LAYOUT — KEEP ON ONE ROW
******************************************/

.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper {
    display: flex !important;
    gap: 14px !important;
    justify-content: space-between !important;
}

.elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper .elementor-button {
    flex: 1 1 50% !important;
}

/******************************************
   MOBILE OPTIMISATION
******************************************/

@media (max-width: 480px) {
    .elementor-73 .elementor-element.elementor-element-c659ff7 .elementor-button {
        font-size: 16px !important;
        padding: 12px 18px !important;
    }

    .elementor-73 .elementor-element.elementor-element-c659ff7 .e-form__buttons__wrapper {
        gap: 10px !important;
    }
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-f612375 *//* ---------- FORM PANEL (PAPER) ---------- */


/* Hide native radios & checkboxes */
.elementor-73 .elementor-element.elementor-element-f612375 input[type="radio"],
.elementor-73 .elementor-element.elementor-element-f612375 input[type="checkbox"] {
    display: none !important;
}

/* Base chip style */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-option label {
    background: transparent;
    padding: 10px 16px;
    border-radius: 22px;
    display: inline-block;
    font-size: 15px;
    cursor: pointer;

    border: 1px solid rgba(0,0,0,0.18);
    color: rgba(0,0,0,0.75);

    transition: all 0.25s ease;
    white-space: nowrap;
    line-height: 1.4;

    margin-right: 10px;
    margin-bottom: 12px;
}

/* Hover */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-option label:hover {
    background: rgba(0,0,0,0.04);
    border-color: rgba(0,0,0,0.28);
}

/* Active */
.elementor-73 .elementor-element.elementor-element-f612375 input:checked + label {
    background: rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0.45);
    color: #111;
}

.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-option {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 12px;
}

/******************************************
  INPUT FIELD PADDING
******************************************/

.elementor-73 .elementor-element.elementor-element-f612375 input,
.elementor-73 .elementor-element.elementor-element-f612375 select,
.elementor-73 .elementor-element.elementor-element-f612375 textarea {
    padding: 10px 16px !important;
}

/******************************************
  GLOBAL FORM ROW GAP — PRIMARY FIX
******************************************/

.elementor-73 .elementor-element.elementor-element-f612375 .elementor-form-fields-wrapper {
    --e-form-rows-gap: 16px !important;   /* perfect for desktop + mobile */
}

/******************************************
  STEP TITLE — PINEAPPLE
******************************************/

.elementor-73 .elementor-element.elementor-element-f612375 .form-step-title {
    display: block;
    margin: 0 0 24px 0;

    font-family: "Ivybodoni", serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.1;

    color: #111;
}

/* Underline (subtle editorial rule) */
.elementor-73 .elementor-element.elementor-element-f612375 .form-step-title:after {
    content: "";
    display: block;
    width: 36px;
    height: 1px;

    background: rgba(0,0,0,0.15);
    margin-top: 10px;

    border-radius: 1px;
}

/* Keep Elementor HTML block clean */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-type-html {
    margin: 0 !important;
    padding: 0 !important;
}
/******************************************
  FIELD-SPECIFIC SPACING (AGE + RESIDENCE)
******************************************/

/* Reduce space between "Age" label and chips */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="age"] label {
    margin-bottom: 6px !important;
}

/* Reduce large gap AFTER age chips */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="age"] {
    margin-bottom: 4px !important;
}

/* Add breathing room before "Primary Residence" */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="primary_residence"] {
    margin-top: 14px !important;
}

/******************************************
  MOBILE REFINEMENT
******************************************/

@media (max-width: 480px) {

    /* Chips slightly tighter */
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-option label {
        padding: 8px 14px !important;
        font-size: 14px !important;
        margin-right: 6px !important;
        margin-bottom: 8px !important;
    }
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-option {
        margin-bottom: 8px !important;
    }

    /* Global mobile row gap */
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-form-fields-wrapper {
        --e-form-rows-gap: 12px !important;
    }

    /* Step title refinement */
    .elementor-73 .elementor-element.elementor-element-f612375 .form-step-title {
        font-size: 22px !important;
        margin-bottom: 18px !important;
    }
    .elementor-73 .elementor-element.elementor-element-f612375 .form-step-title:after {
        width: 22px !important;
        margin-top: 6px !important;
    }

    /* Compact input fields */
    .elementor-73 .elementor-element.elementor-element-f612375 input,
    .elementor-73 .elementor-element.elementor-element-f612375 select,
    .elementor-73 .elementor-element.elementor-element-f612375 textarea {
        padding: 8px 14px !important;
        font-size: 15px !important;
    }

    /* Fix spacing under Age on mobile */
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="age"] {
        margin-bottom: 2px !important;
    }

    /* Fix spacing before Residence on mobile */
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="primary_residence"] {
        margin-top: 10px !important;
    }
}
/************************************************
  FINAL SPACING FIX (GUARANTEED TO WORK)
************************************************/

/* Reduce space UNDER Age chips */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="age"] {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
}

/* Add space BEFORE Primary Residence */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="primary_residence"] {
    margin-top: 16px !important;
}

/* Override Elementor’s built-in row-gap */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-form-fields-wrapper {
    --e-form-rows-gap: 12px !important;
}

/************************************************
  FIX OVERLY TALL STEPS WITH MANY CHIPS
************************************************/

..elementor-73 .elementor-element.elementor-element-f612375 .elementor-form-fields-wrapper {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/************************************************
  WIDEN ONLY CHIP ROWS (NOT THE WHOLE FORM)
************************************************/

/* Apply to any field group that contains chips */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-type="checkbox"],
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-type="radio"] {

    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px 14px !important;
}

/* Keep individual chip labels slightly narrower */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-type="checkbox"] .elementor-field-option label,
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-type="radio"] .elementor-field-option label {
    padding-left: 14px !important;
    padding-right: 14px !important;
}
/********************************************************
  FINAL POLISH — SPACING + VERTICAL RHYTHM
********************************************************/

/* Reduce space between the Age chip grid and next field */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group-age {
    margin-bottom: 12px !important;
}

/* Align Primary Residence label more tightly */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="primary_residence"] label {
    margin-bottom: 6px !important;
}

/* Ensure the Residence field sits closer to the button row */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="primary_residence"] {
    margin-bottom: 18px !important;
}

/* More breathing room ABOVE the Age title */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group-age label.elementor-field-label {
    margin-top: 8px !important;
}

/* Ensure all field rows obey same rhythm */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-form {
    --e-form-rows-gap: 18px !important;
}

/* Buttons row: tighten spacing on mobile + desktop */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-type-submit,
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-type-next,
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-type-previous {
    margin-top: 12px !important;
}


/********************************************************
  MOBILE POLISH
********************************************************/
@media (max-width: 480px) {

    /* Slightly reduce chip height + spacing */
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-option label {
        padding: 7px 12px !important;
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }

    /* Make Residence field tighter on small screens */
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="primary_residence"] {
        margin-bottom: 14px !important;
    }

    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-form {
        --e-form-rows-gap: 14px !important;
    }
}


.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="spending_level"] .elementor-field-subgroup,
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-field-group[data-field-id="spend_level"] .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    justify-items: center; /* perfectly centers each chip */
}

/******************************************
   BEVERLY — BUTTON SYSTEM
******************************************/

/* Base button styling */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button {
    border-radius: 4px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    padding: 14px 24px !important;
    width: 100% !important;
    transition: all 0.25s ease;
}

/******************************************
   PRIMARY BUTTON (CONTINUE)
******************************************/

.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button[type="submit"],
.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper .elementor-button:not(.e-form__buttons__wrapper__previous) {
    background: transparent !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,0.35) !important;
}

/* Hover — invert (clean + premium) */
.elementor-73 .elementor-element.elementor-element-f612375 .elementor-button:hover {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}

/******************************************
   SECONDARY BUTTON (PREVIOUS)
******************************************/

.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper__previous {
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.18) !important;
    color: rgba(0,0,0,0.6) !important;
}

/* Hover */
.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper__previous:hover {
    background: rgba(0,0,0,0.04) !important;
    border-color: rgba(0,0,0,0.3) !important;
    color: #111 !important;
}
/******************************************
   BUTTON LAYOUT — KEEP ON ONE ROW
******************************************/

.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper {
    display: flex !important;
    gap: 14px !important;
    justify-content: space-between !important;
}

.elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper .elementor-button {
    flex: 1 1 50% !important;
}

/******************************************
   MOBILE OPTIMISATION
******************************************/

@media (max-width: 480px) {
    .elementor-73 .elementor-element.elementor-element-f612375 .elementor-button {
        font-size: 16px !important;
        padding: 12px 18px !important;
    }

    .elementor-73 .elementor-element.elementor-element-f612375 .e-form__buttons__wrapper {
        gap: 10px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f201f0d */.elementor-73 .elementor-element.elementor-element-f201f0d  {
    background: #F6F4F1 !important;
    color: #111 !important;
}/* End custom CSS */
/* Start custom CSS *//* Lock background */
html.elementor-popup-modal-open,
body.elementor-popup-modal-open {
    overflow: hidden !important;
    height: 100%;
}

/* Popup scroll */
.elementor-popup-modal {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: none !important;
}

/* Clean flow */
.elementor-popup-modal .dialog-widget-content,
.elementor-popup-modal .dialog-message {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}

/* Fix form */
.elementor-popup-modal .e-form__container,
.elementor-popup-modal .e-form__step,
.elementor-popup-modal form {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* Bottom space */
.elementor-popup-modal .dialog-message {
    padding: 32px 20px 120px !important;
}

/* Kill full-height sections */
.elementor-popup-modal .elementor-section {
    min-height: auto !important;
}/* End custom CSS */