.elementor-1884 .elementor-element.elementor-element-befc239:not(.elementor-motion-effects-element-type-background), .elementor-1884 .elementor-element.elementor-element-befc239 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2E0F13;}.elementor-1884 .elementor-element.elementor-element-befc239{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-1884 .elementor-element.elementor-element-befc239 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1884 .elementor-element.elementor-element-62e1864{--spacer-size:50px;}.elementor-1884 .elementor-element.elementor-element-113e143:not(.elementor-motion-effects-element-type-background), .elementor-1884 .elementor-element.elementor-element-113e143 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2E0F13;}.elementor-1884 .elementor-element.elementor-element-113e143 > .elementor-container{max-width:750px;}.elementor-1884 .elementor-element.elementor-element-113e143{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-1884 .elementor-element.elementor-element-113e143 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1884 .elementor-element.elementor-element-60c557f:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-1884 .elementor-element.elementor-element-60c557f > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-60c557f > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:40px 45px 45px 45px;}.elementor-1884 .elementor-element.elementor-element-60c557f > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1884 .elementor-element.elementor-element-60c557f .elementor-element-populated .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-1884 .elementor-element.elementor-element-60c557f .elementor-element-populated a:hover{color:#000000;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-1884 .elementor-element.elementor-element-7bad904 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:70px 0px 0px 0px;}.elementor-1884 .elementor-element.elementor-element-7bad904{text-align:center;}.elementor-1884 .elementor-element.elementor-element-7bad904 .elementor-heading-title{font-family:"IvyOra Display", Sans-serif;font-size:28px;font-weight:400;line-height:1.15em;letter-spacing:0.3px;color:#2F2A28;}.elementor-widget-text-editor{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 );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-1884 .elementor-element.elementor-element-275fc58 > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-1884 .elementor-element.elementor-element-275fc58{text-align:center;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.65px;text-shadow:0px 0px 0px rgba(0,0,0,0.3);}.elementor-1884 .elementor-element.elementor-element-537e73e > .elementor-widget-container{padding:10px 0px 20px 0px;}.elementor-1884 .elementor-element.elementor-element-537e73e{text-align:center;font-family:"IvyOra Display", Sans-serif;font-size:16px;font-weight:400;line-height:1.15px;letter-spacing:0.15px;color:var( --e-global-color-primary );}.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 );}.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 );}.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 );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;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 );}.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 );}.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-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 );}.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-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 );}.elementor-1884 .elementor-element.elementor-element-dfe4ab9{width:var( --container-widget-width, 85.714% );max-width:85.714%;--container-widget-width:85.714%;--container-widget-flex-grow:0;z-index:30;--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-1884 .elementor-element.elementor-element-dfe4ab9 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button span{gap:15px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group{padding-right:calc( 20px/2 );padding-left:calc( 20px/2 );margin-bottom:20px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-form-fields-wrapper{margin-left:calc( -20px/2 );margin-right:calc( -20px/2 );margin-bottom:-20px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-labels-inline .elementor-field-group > label{padding-left:15px;}body:not(.rtl) .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-labels-inline .elementor-field-group > label{padding-right:15px;}body .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-labels-above .elementor-field-group > label{padding-bottom:15px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group > label, .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-subgroup label{color:#3A2E2A;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group > label{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.5px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-type-html{padding-bottom:5px;color:#5F5651;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.65px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group .elementor-field{color:var( --e-global-color-primary );}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:var( --e-global-color-text );}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:var( --e-global-color-text );}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-text );}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button{font-family:"IvyOra Display", Sans-serif;font-weight:400;line-height:2.2px;letter-spacing:0px;border-radius:10px 10px 10px 10px;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .e-form__buttons__wrapper__button-next{background-color:#4A1E24;color:#F0E6D2;transition-duration:2.5ms;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button[type="submit"]{background-color:#4A1E24;color:#F0E6D2;transition-duration:2.5ms;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button[type="submit"] svg *{fill:#F0E6D2;transition-duration:2.5ms;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .e-form__buttons__wrapper__button-previous{background-color:#C99A9E;color:#F0E6D2;transition-duration:2.5ms;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .e-form__buttons__wrapper__button-next:hover{background-color:#2E0F13;color:#F0E6D2;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button[type="submit"]:hover{background-color:#2E0F13;color:#F0E6D2;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button[type="submit"]:hover svg *{fill:#F0E6D2;}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .e-form__buttons__wrapper__button-previous:hover{background-color:#C99A9E;color:#F0E6D2;}.elementor-1884 .elementor-element.elementor-element-97fecaf{--spacer-size:25px;}.elementor-1884 .elementor-element.elementor-element-1ce5387:not(.elementor-motion-effects-element-type-background), .elementor-1884 .elementor-element.elementor-element-1ce5387 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2E0F13;}.elementor-1884 .elementor-element.elementor-element-1ce5387{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-1884 .elementor-element.elementor-element-1ce5387 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1884 .elementor-element.elementor-element-ce85732{--spacer-size:50px;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1884 .elementor-element.elementor-element-7bad904 > .elementor-widget-container{margin:0px 0px 16px 0px;padding:40px 0px 0px 0px;}.elementor-1884 .elementor-element.elementor-element-7bad904 .elementor-heading-title{font-size:37px;line-height:1.25em;letter-spacing:-0.3px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.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 );}.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 );}.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 );}.elementor-widget-form .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-1884 .elementor-element.elementor-element-60c557f > .elementor-element-populated{padding:0px 20px 0px 25px;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1884 .elementor-element.elementor-element-7bad904 > .elementor-widget-container{padding:50px 0px 0px 0px;}.elementor-1884 .elementor-element.elementor-element-7bad904 .elementor-heading-title{font-size:30px;line-height:1em;letter-spacing:-0.2px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1884 .elementor-element.elementor-element-275fc58{line-height:1.65em;}.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 );}.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 );}.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 );}.elementor-widget-form .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1884 .elementor-element.elementor-element-dfe4ab9 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for text-editor, class: .elementor-element-537e73e */.elementor-1884 .elementor-element.elementor-element-537e73e .tagline {
  font-family: "Playfair Display", serif;
  font-size: 40px;
}

.elementor-1884 .elementor-element.elementor-element-537e73e .amalfi {
  font-family: "Amalfi Coast" !important;
  font-style: italic;
  font-weight: 400;
  color: #A4837A;
  letter-spacing: 0.02em;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-dfe4ab9 *//* =========================================================
   IAN SHAM — TVC / CAMPAIGN / PHOTOSHOOT FORM (CLEAN)
========================================================= */

/* =========================================================
   1. WRAPPER
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9{
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   2. TITLES / COPY
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .lux-title{
  font-family: "IvyOra Display", serif;
  font-size: 28px;
  text-align: center;
  margin: 18px 0 8px 0;
  letter-spacing: 0.4px;
  line-height: 1.2;
  font-weight: 400;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .lux-sub{
  max-width: 640px;
  margin: 0 auto 18px auto;
  padding: 0 30px;
  text-align: center;
  font-size: 15px;
  line-height: 1.75;
  opacity: 0.85;
  box-sizing: border-box;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .session-title{
  font-family: "IvyOra Display", serif;
  font-size: 26px;
  text-align: center;
  margin: 26px 0 14px 0;
  letter-spacing: 0.3px;
  line-height: 1.2;
  font-weight: 400;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .session-title:before{
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  margin: 0 auto 14px auto;
  opacity: 0.16;
  background: currentColor;
}

/* =========================================================
   3. TEXT / TEXTAREA FIELDS
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group{
  margin-bottom: 12px !important;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-textual{
  border-width: 1px;
  border-radius: 10px;
  padding: 12px 14px;
  box-shadow: none;
  background-color: #ffffff !important;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-textual::placeholder{
  opacity: 0.55;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-textual:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(160, 140, 120, 0.18);
}

/* =========================================================
   4. NATIVE SELECT / DROPDOWN FIELDS
   (fallback styling — applies to any dropdown not yet
   converted to the custom dropdown in Section 6)
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group select,
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 select.elementor-field-textual{
  border-width: 1px !important;
  border-color: rgba(0,0,0,0.12) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  background-color: #ffffff !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  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' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px !important;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group select:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(160, 140, 120, 0.18) !important;
}

/* option list (works on some browsers only — Chrome desktop
   ignores this by design, see custom dropdown in Section 6) */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group select option{
  background-color: #ffffff;
  color: #2E0F13;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group select option:checked,
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group select option:hover{
  background-color: #C99A9E !important;
  color: #2E0F13 !important;
}

/* =========================================================
   5. SUBMIT BUTTON
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button{
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: all 0.25s ease;
}
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}

/* =========================================================
   6. CUSTOM DROPDOWN
   (built by JS for Project Type + Referral Source —
   hides the native select, styles the replacement)
========================================================= */

.custom-select-wrap{
  position: relative;
  margin-bottom: 12px;
}

.custom-select-trigger{
  width: 100%;
  text-align: left;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  color: #2E0F13;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.custom-select-trigger:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(160, 140, 120, 0.18);
}

.custom-select-arrow{
  font-size: 12px;
  color: #7A3A40;
  transition: transform 0.2s ease;
}

.custom-select-wrap.open .custom-select-arrow{
  transform: rotate(180deg);
}

.custom-select-list{
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 10px;
  list-style: none;
  margin: 0;
  padding: 4px;
  z-index: 50;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.custom-select-wrap.open .custom-select-list{
  display: block;
}

.custom-select-list li{
  padding: 10px 12px;
  border-radius: 8px;
  color: #2E0F13;
  cursor: pointer;
  font-size: 14px;
}

.custom-select-list li:hover,
.custom-select-list li.active{
  background: #C99A9E;
  color: #2E0F13;
}

/* =========================================================
   7. LABEL POLICY
   (hidden by default — Section 8 re-enables specific ones)
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-label{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* =========================================================
   8. VISIBLE LABELS
   (fields where the label should show on desktop —
   Project Type, Referral Source)
========================================================= */
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-project_type{
  margin-top: 25px !important;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-project_type > .elementor-field-label,
.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-referral_source > .elementor-field-label{
  position: static !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  white-space: normal !important;
  display: block !important;
  text-align: center !important;
  margin: 0 0 6px 0 !important;
  font-size: 15px !important;
  letter-spacing: 0.2px !important;
  opacity: 0.85 !important;
}

.elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-referral_source{
  margin-top: 25px !important;
}

/* =========================================================
   9. FLATPICKR — DATE & TIME PICKER
========================================================= */
.elementor-form .flatpickr-calendar,
.elementor-form .flatpickr-time{
  z-index: 999999 !important;
}

.elementor-form .flatpickr-calendar:not(.open),
.elementor-form .flatpickr-time:not(.open){
  display: none !important;
  pointer-events: none !important;
}
.elementor-form .flatpickr-calendar.open,
.elementor-form .flatpickr-time.open{
  pointer-events: auto !important;
}

.elementor-form .flatpickr-calendar{
  border-radius: 14px !important;
  box-shadow: 0 18px 60px rgba(0,0,0,0.08) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  margin-top: 8px !important;
  padding: 10px !important;
}

.elementor-form .flatpickr-months{ padding: 6px 6px 2px !important; }
.elementor-form .flatpickr-current-month{ font-weight: 500 !important; }
.elementor-form .flatpickr-weekdays{ margin-top: 6px !important; }
.elementor-form .flatpickr-day{ border-radius: 10px !important; }

.elementor-form .flatpickr-calendar .flatpickr-day.selected,
.elementor-form .flatpickr-calendar .flatpickr-day.startRange,
.elementor-form .flatpickr-calendar .flatpickr-day.endRange,
.elementor-form .flatpickr-calendar .flatpickr-day.inRange,
.elementor-form .flatpickr-calendar .flatpickr-day.selected:hover,
.elementor-form .flatpickr-calendar .flatpickr-day.startRange:hover,
.elementor-form .flatpickr-calendar .flatpickr-day.endRange:hover,
.elementor-form .flatpickr-calendar .flatpickr-day.inRange:hover,
.elementor-form .flatpickr-calendar .flatpickr-day.selected:focus,
.elementor-form .flatpickr-calendar .flatpickr-day.startRange:focus,
.elementor-form .flatpickr-calendar .flatpickr-day.endRange:focus,
.elementor-form .flatpickr-calendar .flatpickr-day.inRange:focus{
  background: #C99A9E !important;
  border-color: #7A3A40 !important;
  color: #2E0F13 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.10) !important;
}

.elementor-form .flatpickr-calendar .flatpickr-day:hover{
  background: #E8DCC8 !important;
  color: #2E0F13 !important;
}

.elementor-form .flatpickr-calendar .flatpickr-day.today:not(.selected){
  border-color: #C99A9E !important;
}

.elementor-form .flatpickr-time{
  border-radius: 12px !important;
  box-shadow: 0 18px 60px rgba(0,0,0,0.08) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  margin-top: 8px !important;
  padding: 10px 12px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 260px !important;
  max-width: calc(100vw - 40px) !important;
}

.elementor-form .flatpickr-time .numInputWrapper span.arrowUp,
.elementor-form .flatpickr-time .numInputWrapper span.arrowDown{ display:none !important; }

.elementor-form .flatpickr-time .numInputWrapper{ padding-right:0 !important; border-radius:10px !important; }

.elementor-form .flatpickr-time .numInputWrapper,
.elementor-form .flatpickr-time .flatpickr-am-pm{
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
}

.elementor-form .flatpickr-time input.numInput{
  height: 38px !important;
  line-height: 38px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 10px !important;
}

.elementor-form .flatpickr-time .flatpickr-am-pm{
  border-radius: 10px !important;
  font-weight: 500 !important;
  background: #E8DCC8 !important;
  color: #2E0F13 !important;
}

/* =========================================================
   10. MOBILE
========================================================= */
@media (max-width: 767px){
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9{ max-width: 100%; }

  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .lux-title{ font-size: 24px; margin: 18px 0 10px 0; }
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .lux-sub{ font-size: 13px; padding: 0 18px; margin-bottom: 16px; line-height: 1.7; }
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .session-title{ font-size: 22px; margin: 22px 0 12px 0; }
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .session-title:before{ width: 48px; margin: 0 auto 12px auto; opacity: 0.2; }

  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-textual{
    background: rgba(255,255,255,0.92);
    border-color: rgba(40,40,40,0.22);
    padding: 14px 14px;
    border-radius: 12px;
  }

  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group select{
    background-color: rgba(255,255,255,0.92) !important;
    border-color: rgba(40,40,40,0.22) !important;
    padding: 14px 14px !important;
    padding-right: 36px !important;
    border-radius: 12px !important;
  }

  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-type-submit{ width: 100%; }
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-type-submit .elementor-button{
    width: 100% !important;
    display: flex;
    justify-content: center;
    padding: 14px 18px;
    border-radius: 12px;
  }

  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-button,
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 button[type="submit"],
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 input[type="submit"]{
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  .elementor-form input,
  .elementor-form textarea,
  .elementor-form select{
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .elementor-form ::placeholder{
    font-size: 14px !important;
    opacity: 0.7;
  }

  /* show Date / Call Time labels on mobile */
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-date > .elementor-field-label,
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-call_time > .elementor-field-label{
    position: static !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    display: block !important;
    text-align: left !important;
    margin: 0 0 4px 0 !important;
    font-size: 12px !important;
    opacity: 0.55 !important;
  }

  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-date,
  .elementor-1884 .elementor-element.elementor-element-dfe4ab9 .elementor-field-group-call_time{
    margin-top: 8px !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'IvyOra Display';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://iansham.com/wp-content/uploads/2026/02/ivyora-display-light.woff2') format('woff2'),
		url('https://iansham.com/wp-content/uploads/2026/02/ivyora-display-light.woff') format('woff');
}
@font-face {
	font-family: 'IvyOra Display';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://iansham.com/wp-content/uploads/2026/02/ivyora-display-medium.woff') format('woff');
}
/* End Custom Fonts CSS */