.elementor-1123 .elementor-element.elementor-element-69672e17{--display:flex;--min-height:100vh;--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;--gap:100px 100px;--row-gap:100px;--column-gap:100px;--padding-top:80px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1123 .elementor-element.elementor-element-69672e17:not(.elementor-motion-effects-element-type-background), .elementor-1123 .elementor-element.elementor-element-69672e17 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(145deg, #F0F9FE 10%, #FEFAEB 70%);}.elementor-1123 .elementor-element.elementor-element-1d2bffd6{--display:flex;--justify-content:space-between;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:20px;}.elementor-1123 .elementor-element.elementor-element-502b63c2{--display:flex;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1123 .elementor-element.elementor-element-2971d7fe{text-align:start;}.elementor-1123 .elementor-element.elementor-element-2971d7fe img{width:44%;}.elementor-1123 .elementor-element.elementor-element-6da87e32{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:500;line-height:1.5em;color:var( --e-global-color-text );}.elementor-1123 .elementor-element.elementor-element-6da87e32 p{margin-block-end:0px;}.elementor-1123 .elementor-element.elementor-element-7a405f43 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1123 .elementor-element.elementor-element-7a405f43 .elementor-button{font-family:var( --e-global-typography-b2d410c-font-family ), Sans-serif;font-size:var( --e-global-typography-b2d410c-font-size );font-weight:var( --e-global-typography-b2d410c-font-weight );line-height:var( --e-global-typography-b2d410c-line-height );}.elementor-1123 .elementor-element.elementor-element-4787fbdc{--display:flex;--min-height:250px;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:15px 15px 15px 15px;box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.17);--padding-top:24px;--padding-bottom:24px;--padding-left:28px;--padding-right:28px;}.elementor-1123 .elementor-element.elementor-element-4787fbdc:not(.elementor-motion-effects-element-type-background), .elementor-1123 .elementor-element.elementor-element-4787fbdc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-eed39ed );}.elementor-1123 .elementor-element.elementor-element-4787fbdc.e-con{--align-self:flex-start;}.elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1123 .elementor-element.elementor-element-e533543{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-item > a{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 );}.elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-text{color:var( --e-global-color-dd6077c );transition:color 0.3s;}.elementor-1123 .elementor-element.elementor-element-71102a81{text-align:start;}.elementor-1123 .elementor-element.elementor-element-71102a81 .elementor-heading-title{font-family:var( --e-global-typography-67c8aff-font-family ), Sans-serif;font-size:var( --e-global-typography-67c8aff-font-size );font-weight:var( --e-global-typography-67c8aff-font-weight );line-height:var( --e-global-typography-67c8aff-line-height );color:var( --e-global-color-dd6077c );}.elementor-1123 .elementor-element.elementor-element-4ce4e551{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:var( --e-global-typography-f54050d-font-family ), Sans-serif;font-size:var( --e-global-typography-f54050d-font-size );font-weight:var( --e-global-typography-f54050d-font-weight );line-height:var( --e-global-typography-f54050d-line-height );color:var( --e-global-color-c31bb41 );}.elementor-1123 .elementor-element.elementor-element-4ce4e551 p{margin-block-end:0px;}.elementor-1123 .elementor-element.elementor-element-093b14d{--divider-border-style:solid;--divider-color:#9C968A70;--divider-border-width:1px;}.elementor-1123 .elementor-element.elementor-element-093b14d .elementor-divider-separator{width:100%;}.elementor-1123 .elementor-element.elementor-element-093b14d .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-button span{gap:10px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-group > label, .elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-subgroup label{color:var( --e-global-color-c0566ed );}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-type-html{padding-bottom:0px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:4px 4px 4px 4px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:4px 4px 4px 4px;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-button[type="submit"]{color:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1123 .elementor-element.elementor-element-519d8c79{--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-1123 .elementor-element.elementor-element-f88cfbb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;font-family:"Poppins", Sans-serif;font-size:12px;font-weight:300;line-height:1.5em;color:var( --e-global-color-c0164a6 );}.elementor-1123 .elementor-element.elementor-element-4efb6e33{width:var( --container-widget-width, 15% );max-width:15%;margin:-50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:15%;--container-widget-flex-grow:0;top:24px;border-style:none;}body:not(.rtl) .elementor-1123 .elementor-element.elementor-element-4efb6e33{right:30px;}body.rtl .elementor-1123 .elementor-element.elementor-element-4efb6e33{left:30px;}.elementor-1123 .elementor-element.elementor-element-4efb6e33 img{border-style:none;}.elementor-1123 .elementor-element.elementor-element-3a8c0a8c .elementor-button-content-wrapper{flex-direction:row;}.elementor-1123 .elementor-element.elementor-element-3a8c0a8c .elementor-button{font-family:var( --e-global-typography-b2d410c-font-family ), Sans-serif;font-size:var( --e-global-typography-b2d410c-font-size );font-weight:var( --e-global-typography-b2d410c-font-weight );line-height:var( --e-global-typography-b2d410c-line-height );}.elementor-1123 .elementor-element.elementor-element-66f64bac{--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;}@media(max-width:1024px){.elementor-1123 .elementor-element.elementor-element-69672e17{--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:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:80px;--padding-bottom:200px;--padding-left:20px;--padding-right:20px;}.elementor-1123 .elementor-element.elementor-element-1d2bffd6{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1123 .elementor-element.elementor-element-502b63c2{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1123 .elementor-element.elementor-element-2971d7fe{text-align:center;}.elementor-1123 .elementor-element.elementor-element-6da87e32{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:center;}.elementor-1123 .elementor-element.elementor-element-6da87e32.elementor-element{--align-self:flex-start;}.elementor-1123 .elementor-element.elementor-element-7a405f43 .elementor-button{font-size:var( --e-global-typography-b2d410c-font-size );line-height:var( --e-global-typography-b2d410c-line-height );}.elementor-1123 .elementor-element.elementor-element-4787fbdc{--min-height:400px;}.elementor-1123 .elementor-element.elementor-element-4787fbdc.e-con{--align-self:center;}.elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-item > a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-1123 .elementor-element.elementor-element-71102a81 .elementor-heading-title{font-size:var( --e-global-typography-67c8aff-font-size );line-height:var( --e-global-typography-67c8aff-line-height );}.elementor-1123 .elementor-element.elementor-element-4ce4e551{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:start;font-size:var( --e-global-typography-f54050d-font-size );line-height:var( --e-global-typography-f54050d-line-height );}.elementor-1123 .elementor-element.elementor-element-4ce4e551.elementor-element{--align-self:flex-start;}.elementor-1123 .elementor-element.elementor-element-4efb6e33{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100px;--container-widget-flex-grow:0;width:var( --container-widget-width, 100px );max-width:100px;top:-44px;}body:not(.rtl) .elementor-1123 .elementor-element.elementor-element-4efb6e33{right:88px;}body.rtl .elementor-1123 .elementor-element.elementor-element-4efb6e33{left:88px;}.elementor-1123 .elementor-element.elementor-element-3a8c0a8c{padding:60px 0px 0px 0px;}.elementor-1123 .elementor-element.elementor-element-3a8c0a8c .elementor-button{font-size:var( --e-global-typography-b2d410c-font-size );line-height:var( --e-global-typography-b2d410c-line-height );}}@media(max-width:767px){.elementor-1123 .elementor-element.elementor-element-69672e17{--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:40px;--padding-bottom:140px;--padding-left:20px;--padding-right:20px;}.elementor-1123 .elementor-element.elementor-element-1d2bffd6{--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1123 .elementor-element.elementor-element-502b63c2{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1123 .elementor-element.elementor-element-2971d7fe{text-align:center;}.elementor-1123 .elementor-element.elementor-element-2971d7fe img{width:200px;}.elementor-1123 .elementor-element.elementor-element-6da87e32{padding:5px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:center;font-size:13px;}.elementor-1123 .elementor-element.elementor-element-7a405f43 .elementor-button{font-size:var( --e-global-typography-b2d410c-font-size );line-height:var( --e-global-typography-b2d410c-line-height );}.elementor-1123 .elementor-element.elementor-element-4787fbdc{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:30px;--padding-bottom:30px;--padding-left:15px;--padding-right:15px;}.elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1123 .elementor-element.elementor-element-e533543 .elementor-icon-list-item > a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-1123 .elementor-element.elementor-element-71102a81 .elementor-heading-title{font-size:var( --e-global-typography-67c8aff-font-size );line-height:var( --e-global-typography-67c8aff-line-height );}.elementor-1123 .elementor-element.elementor-element-4ce4e551{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:start;font-size:var( --e-global-typography-f54050d-font-size );line-height:var( --e-global-typography-f54050d-line-height );}.elementor-1123 .elementor-element.elementor-element-093b14d .elementor-divider{padding-block-start:10px;padding-block-end:10px;}.elementor-1123 .elementor-element.elementor-element-f88cfbb{font-size:12px;}.elementor-1123 .elementor-element.elementor-element-4efb6e33{--container-widget-width:71px;--container-widget-flex-grow:0;width:var( --container-widget-width, 71px );max-width:71px;top:-20px;}body:not(.rtl) .elementor-1123 .elementor-element.elementor-element-4efb6e33{right:10px;}body.rtl .elementor-1123 .elementor-element.elementor-element-4efb6e33{left:10px;}.elementor-1123 .elementor-element.elementor-element-3a8c0a8c .elementor-button{font-size:var( --e-global-typography-b2d410c-font-size );line-height:var( --e-global-typography-b2d410c-line-height );}}@media(min-width:768px){.elementor-1123 .elementor-element.elementor-element-1d2bffd6{--width:40%;}.elementor-1123 .elementor-element.elementor-element-4787fbdc{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1123 .elementor-element.elementor-element-1d2bffd6{--width:100%;}.elementor-1123 .elementor-element.elementor-element-4787fbdc{--width:100%;}}/* Start custom CSS for form, class: .elementor-element-519d8c79 *//* ==========================================================================
   MAINFORM — Elementor Form Styles
   Scope:  .Mainform (applied to the Elementor Form widget wrapper div)
   Brand:  #0077B6 blue · #EEB600 yellow · #FCFBF8 off-white

   VALIDATION APPROACH:
   Inline field errors are hidden. The red border is the error signal.
   One clean message appears below the button after submit — nothing else
   moves or disrupts the layout. Matches the pattern used by Stripe, Linear.

   NOTE: !important is required throughout. Elementor's stylesheet loads
   after custom CSS and will override any rule that lacks it.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. FIELDS WRAPPER
   Removes the default light box Elementor places behind all fields.

   ADJUST:
   · Subtle tinted card instead: background: rgba(255,255,255,0.05)
   · Inner padding around the fields: padding: 1.5rem
   -------------------------------------------------------------------------- */

.Mainform .elementor-form-fields-wrapper {
  background:    transparent !important;
  padding:       0 !important;
  border:        none !important;
  box-shadow:    none !important;
  border-radius: 0 !important;
}


/* --------------------------------------------------------------------------
   2. FIELD GROUP
   Wrapper around each label + input pair.

   ADJUST:
   · margin-bottom — space between rows: 1rem tight · 1.5rem airy · 2rem open
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-group {
  margin-bottom: 1.2rem !important;
}


/* --------------------------------------------------------------------------
   3. INLINE FIELD ERROR MESSAGES — HIDDEN
   Elementor's per-field error boxes are hidden. The red border on the
   input is the signal; one message below the button handles the rest.

   TO RESTORE: comment out or delete this block.
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-error-msg,
.Mainform .elementor-field-group .elementor-field-error-msg {
  display: none !important;
}


/* --------------------------------------------------------------------------
   4. LABELS

   ADJUST:
   · color         — #ffffff white (dark bg) · #2d2d2d dark (light bg)
   · font-size     — 0.875rem (14px) · bump to 1rem for larger
   · font-weight   — 500 medium · 400 thin · 600 bold
   · margin-bottom — gap between label and its input
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-label {
  display:       block !important;
  font-size:     0.875rem !important;
  font-weight:   500 !important;
  color:         #ffffff !important;
  margin-bottom: 0.3rem !important;
  transition:    color 0.15s ease;
}

/* Required asterisk
   ADJUST: #EEB600 brand yellow · #ff6b6b soft red */
.Mainform .elementor-field-label .elementor-field-required {
  color:       #EEB600 !important;
  margin-left: 3px !important;
}


/* --------------------------------------------------------------------------
   5. INPUTS + TEXTAREA + SELECT — BASE STYLES

   ADJUST:
   · padding       — 0.65rem 0.9rem default · 0.85rem taller · 0.45rem shorter
   · font-size     — 0.9375rem (15px) · 1rem slightly larger
   · background    — #ffffff white · rgba(255,255,255,0.92) semi-transparent
   · border        — 1.5px default · 2px bolder
   · border-radius — 8px default · 4px sharper · 12px rounder · 999px pill
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-textual,
.Mainform .elementor-field-group select {
  width:              100% !important;
  padding:            0.65rem 0.9rem !important;
  font-size:          0.9375rem !important;
  line-height:        1.5 !important;
  color:              #1a1a1a !important;
  background:         #ffffff !important;
  border:             1.5px solid #d8d5cf !important;
  border-radius:      8px !important;
  outline:            none !important;
  box-shadow:         none !important;
  box-sizing:         border-box !important;
  appearance:         none !important;
  -webkit-appearance: none !important;
  transition:         border-color 0.18s ease, box-shadow 0.18s ease;
}

/* Placeholder
   ADJUST: #aaa9a4 mid-grey · #c5c3bd lighter · #888 darker */
.Mainform .elementor-field-textual::placeholder {
  color:      #aaa9a4 !important;
  font-style: normal !important;
}

/* Textarea
   ADJUST:
   · min-height — 130px default · increase for a taller message box
   · resize     — vertical default · none to lock · both for full resize */
.Mainform textarea.elementor-field-textual {
  min-height:  130px !important;
  resize:      vertical !important;
  line-height: 1.55 !important;
}


/* --------------------------------------------------------------------------
   6. HOVER
   Uses a warm yellow tint — consistent with the yellow focus state below,
   so the transition from hover → focus feels intentional.

   ADJUST:
   · #c8b84a is a muted yellow-grey — increase yellow: #d4c060
     or go neutral: #b0bec5
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-textual:hover,
.Mainform .elementor-field-group select:hover {
  border-color: #c8b84a !important;
}


/* --------------------------------------------------------------------------
   7. FOCUS
   Brand yellow — clearly visible on the dark navy card background.
   Hover and focus now share the same colour family, so the interaction
   feels cohesive rather than jumping from blue to yellow.

   ADJUST:
   · border-color  — #EEB600 yellow · swap to #0077B6 blue for light bg
   · Ring spread   — 3.5px subtle · 5px stronger · 0 to remove ring
   · Ring opacity  — 0.18 · 0.28 more visible · 0.10 very subtle
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-textual:focus,
.Mainform .elementor-field-group select:focus {
  border-color: #EEB600 !important;
  box-shadow:   0 0 0 3.5px rgba(238, 182, 0, 0.18) !important;
  background:   #ffffff !important;
}


/* --------------------------------------------------------------------------
   8. ERROR STATE
   Red border is the sole signal — no background tint, no inline text.
   Label shifts to a soft red to reinforce which field needs attention.

   ADJUST:
   · border-color on error  — #D64045 · adjust shade as needed
   · Label color            — #ffaaaa soft (dark bg) · #b93a3a stronger (light bg)
   · Focus ring opacity     — rgba last value 0.12 · increase to soften or sharpen
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-group.elementor-error .elementor-field-textual,
.Mainform .elementor-field-group.elementor-error select {
  border-color: #D64045 !important;
  background:   #ffffff !important;
}

.Mainform .elementor-field-group.elementor-error .elementor-field-textual:focus,
.Mainform .elementor-field-group.elementor-error select:focus {
  border-color: #D64045 !important;
  box-shadow:   0 0 0 3.5px rgba(214, 64, 69, 0.12) !important;
}

.Mainform .elementor-field-group.elementor-error .elementor-field-label {
  color: #ffaaaa !important;
}


/* --------------------------------------------------------------------------
   9. SUBMISSION FEEDBACK — ONE MESSAGE BELOW THE BUTTON
   Left-accent border style — no heavy filled box. Clean and calm.
   Slides in after submit. This is the only place feedback is shown.

   ADJUST:
   · margin-top     — gap between button and message: 0.75rem tight · 1.25rem airy
   · border-left    — 3px default · 4px thicker
   · border-radius  — 6px default · match to your input radius if needed
   · Tint opacity   — rgba last value 0.08 · 0.14 more visible
   · SUCCESS color  — swap #6fcf97 green to #EEB600 yellow or #0077B6 blue
   · DANGER color   — swap to #EEB600 yellow if you want a softer warning feel
   -------------------------------------------------------------------------- */

.Mainform .elementor-message {
  display:       flex !important;
  align-items:   center !important;
  gap:           8px !important;
  width:         100% !important;
  padding:       0.65rem 0.9rem !important;
  margin-top:    0.75rem !important;
  border-radius: 6px !important;
  border-left:   3px solid transparent !important;
  font-size:     0.875rem !important;
  font-weight:   500 !important;
  box-sizing:    border-box !important;
  animation:     mf-slide-in 0.22s ease both;
}

.Mainform .elementor-message.elementor-message-success {
  color:      #6fcf97 !important;
  border-color: #6fcf97 !important;
  background: rgba(111, 207, 151, 0.08) !important;
}

.Mainform .elementor-message.elementor-message-danger {
  color:        #ff8c8c !important;
  border-color: #D64045 !important;
  background:   rgba(214, 64, 69, 0.08) !important;
}

.Mainform .elementor-message.elementor-message-warning {
  color:        #EEB600 !important;
  border-color: #EEB600 !important;
  background:   rgba(238, 182, 0, 0.08) !important;
}

/* Hide Elementor's default X/check icons — not needed with this style */
.Mainform .elementor-message i,
.Mainform .elementor-message svg,
.Mainform .elementor-message .elementor-icon {
  display: none !important;
}


/* --------------------------------------------------------------------------
   10. SELECT — CUSTOM CHEVRON
   Yellow chevron matches the focus ring colour, keeping the interactive
   elements visually consistent.

   WHY TWO RULES:
   · Elementor injects its own .select-caret-down-wrapper div inside the
     select wrapper — we hide it so only our SVG chevron shows.
   · appearance: none (set in section 5) removes the browser's native arrow.
   · Result: one arrow, our arrow.

   ADJUST:
   · Chevron colour — currently #EEB600 (URL-encoded: %23EEB600)
     Encode any hex: # → %23, e.g. #ffffff → %23ffffff
   · background-position right value — moves chevron away from the edge
   · padding-right — must stay wider than the chevron to avoid text overlap
   -------------------------------------------------------------------------- */

/* Hide Elementor's injected caret div */
.Mainform .elementor-field-group .select-caret-down-wrapper,
.Mainform .elementor-field-group .elementor-select-wrapper .select-caret-down-wrapper {
  display: none !important;
}

.Mainform .elementor-field-group select {
  background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23EEB600' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:   no-repeat !important;
  background-position: right 0.85rem center !important;
  padding-right:       2.25rem !important;
  cursor:              pointer !important;
}


/* --------------------------------------------------------------------------
   11. CHECKBOXES & RADIOS
   accent-color matches the yellow focus ring for consistency.

   ADJUST:
   · accent-color  — #EEB600 yellow · #0077B6 blue
   · Label color   — #e0e0e0 light (dark bg) · #3a3a3a dark (light bg)
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-type-checkbox .elementor-field-label,
.Mainform .elementor-field-type-radio    .elementor-field-label {
  font-weight: 400 !important;
  color:       #e0e0e0 !important;
}

.Mainform input[type="checkbox"],
.Mainform input[type="radio"] {
  accent-color: #EEB600 !important;
  width:        16px !important;
  height:       16px !important;
  cursor:       pointer !important;
}


/* --------------------------------------------------------------------------
   12. DISABLED STATE

   ADJUST: opacity 0.75 default · 0.5 more faded
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-textual:disabled,
.Mainform .elementor-field-group select:disabled {
  background: #f0eeea !important;
  color:      #9a9893 !important;
  border-color: #e0ddd7 !important;
  cursor:     not-allowed !important;
  opacity:    0.75 !important;
}


/* --------------------------------------------------------------------------
   13. SUBMIT BUTTON — LOADING STATE (CSS only)
   Elementor disables the button during submission — we target that state.
   A spinner appears inline in the button, no JavaScript needed.

   ADJUST:
   · opacity       — 0.75 · lower to 0.6 for more faded during load
   · Spinner size  — 16px · 14px smaller · 18px larger
   · Spinner color — rgba(255,255,255,0.9) light · rgba(0,0,0,0.6) for light buttons
   · Spin speed    — 0.7s · 0.45s faster · 1s slower
   · No spinner    — delete the ::after block, keep the opacity/cursor rules
   -------------------------------------------------------------------------- */

.Mainform .elementor-field-type-submit button[disabled],
.Mainform .elementor-field-type-submit .elementor-button[disabled] {
  opacity:        0.75 !important;
  cursor:         not-allowed !important;
  pointer-events: none !important;
}

.Mainform .elementor-field-type-submit button[disabled]::after,
.Mainform .elementor-field-type-submit .elementor-button[disabled]::after {
  content:        "" !important;
  display:        inline-block !important;
  width:          16px !important;
  height:         16px !important;
  border:         2px solid rgba(255, 255, 255, 0.25) !important;
  border-top:     2px solid rgba(255, 255, 255, 0.9) !important;
  border-radius:  50% !important;
  margin-left:    10px !important;
  vertical-align: middle !important;
  animation:      mf-spin 0.7s linear infinite !important;
}


/* --------------------------------------------------------------------------
   14. ANIMATIONS

   mf-slide-in  used by: submission feedback message (section 9)
   mf-spin      used by: button loading spinner (section 13)

   ADJUST:
   · Slide offset   — translateY(-4px) · -8px more dramatic · 4px slides up
   · Slide duration — 0.22s · 0.35s slower · 0.12s snappier
   · Remove all animation: delete both @keyframes blocks and remove the
     animation properties from sections 9 and 13.
   -------------------------------------------------------------------------- */

@keyframes mf-slide-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes mf-spin {
  to { transform: rotate(360deg); }
}


/* --------------------------------------------------------------------------
   15. ENTRANCE ANIMATION — STAGGERED FADE UP
   Each field group fades in and rises from slightly below, one after
   another. Clean and modern — the stagger makes the form feel considered
   rather than appearing all at once.

   HOW IT WORKS:
   · mf-enter is applied to every .elementor-field-group
   · animation-fill-mode: both holds the starting state (opacity 0) before
     the delay fires, so fields don't flash visible then disappear
   · nth-child delays create the stagger — each field waits a little longer
     than the one before it

   ADJUST:
   · Duration: 0.5s on the base rule — 0.4s snappier · 0.7s more floaty
   · Start offset: translateY(18px) — 10px subtle · 28px more dramatic
   · Stagger gap: the delay increments below (0.08s between each field)
     Increase to 0.12s for a slower stagger · 0.05s for a faster cascade
   · Base delay: 0.1s on nth-child(1) — increase to push the whole
     animation later on page load (e.g. 0.3s if the section itself animates in)
   · To remove entrance animation entirely: delete section 15 and
     @keyframes mf-enter
   -------------------------------------------------------------------------- */

@keyframes mf-enter {
  from {
    opacity:   0;
    transform: translateY(12px);
  }
  to {
    opacity:   1;
    transform: translateY(0);
  }
}

/* Apply to every field group
   ADJUST:
   · Duration: 0.38s — faster: 0.28s · slower: 0.5s
   · Easing: cubic-bezier(0.22, 1, 0.36, 1) is a fast-decelerate curve (used
     by Apple/Linear) — snaps in quickly then settles. Swap to 'ease-out' for
     a softer feel.
   · Start offset: translateY(12px) — 6px barely there · 20px more dramatic */
.Mainform .elementor-field-group {
  animation: mf-enter 0.38s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

/* Staggered delays — 0.06s between each field for a crisp cascade
   ADJUST:
   · Gap between fields: increase from 0.06s to 0.09s for a slower stagger
   · Base delay: 0.08s on nth-child(1) — push higher if the section itself
     animates in (e.g. 0.3s so fields don't start before the card appears)
   · Add more lines if your form has more than 8 fields */
.Mainform .elementor-field-group:nth-child(1) { animation-delay: 0.08s !important; }
.Mainform .elementor-field-group:nth-child(2) { animation-delay: 0.14s !important; }
.Mainform .elementor-field-group:nth-child(3) { animation-delay: 0.20s !important; }
.Mainform .elementor-field-group:nth-child(4) { animation-delay: 0.26s !important; }
.Mainform .elementor-field-group:nth-child(5) { animation-delay: 0.32s !important; }
.Mainform .elementor-field-group:nth-child(6) { animation-delay: 0.38s !important; }
.Mainform .elementor-field-group:nth-child(7) { animation-delay: 0.44s !important; }
.Mainform .elementor-field-group:nth-child(8) { animation-delay: 0.50s !important; }


/* --------------------------------------------------------------------------
   16. ACCESSIBILITY — REDUCED MOTION
   Disables all transitions and animations for users who have enabled
   "Reduce Motion" in their OS accessibility settings. Do not remove.
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .Mainform .elementor-field-textual,
  .Mainform .elementor-field-group select,
  .Mainform .elementor-field-label {
    transition: none !important;
  }

  .Mainform .elementor-field-group {
    animation: none !important;
  }

  .Mainform .elementor-message,
  .Mainform .elementor-field-type-submit button[disabled]::after,
  .Mainform .elementor-field-type-submit .elementor-button[disabled]::after {
    animation: none !important;
  }
}/* End custom CSS */