.elementor-3489 .elementor-element.elementor-element-43d08df{--display:flex;}/* Start custom CSS for html, class: .elementor-element-7551ec9 *//* Scope to the widget using Elementor's ".elementor-3489 .elementor-element.elementor-element-7551ec9" */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .multi-step-form {
  max-width: 1060px;
  margin: 24px auto;
  padding: 30px;
  background: #fff;
  border-radius: 44px;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #000;
}

/* Header & Titles */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .form-header { margin-bottom: 18px; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .form-title { margin: 16px 0 8px; font-size: 28px; font-weight: 800; color: #000; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .req { color:#000; margin-left:4px; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .tiny { font-size:12px; color:#555; }

/* Progress chips */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .form-progress { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .progress-step {
  display:flex; align-items:center; gap:10px;
  border:2px solid #bbb; border-radius:999px; padding:8px 14px;
  font-size:15px; color:#000; background:#fff;
}
.elementor-3489 .elementor-element.elementor-element-7551ec9 .progress-step .num {
  display:inline-grid; place-items:center;
  width:28px; height:28px; border-radius:50%;
  border:2px solid #bbb; font-size:13px;
}
.elementor-3489 .elementor-element.elementor-element-7551ec9 .progress-step.active { border-color:#000; background:#000; color:#fff; font-weight:600; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .progress-step.done   { background:#222; color:#fff; border-color:#222; }

/* Steps */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .msf-step { display:none; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .msf-step.active { display:block; animation: msf-fade .15s ease-in; }
@keyframes msf-fade { from{opacity:0} to{opacity:1} }

/* Layout helpers */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .two-col   { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .three-col { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
@media (max-width: 800px) {
  .elementor-3489 .elementor-element.elementor-element-7551ec9 .two-col, .elementor-3489 .elementor-element.elementor-element-7551ec9 .three-col { grid-template-columns:1fr; }
}

/* Fields */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field { margin:12px 0; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field label { display:block; font-weight:500; margin-bottom:6px; color:#000; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="text"],
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="email"],
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="tel"],
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="date"],
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="time"],
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="file"],
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field select,
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field textarea {
  width:100%; padding:12px; border:2px solid #aaa; border-radius:44px;
  font-size:16px; background:#fff; color:#000;
}
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input[type="file"] { padding:10px; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field textarea { min-height:120px; resize:vertical; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .checkbox-list { display:grid; margin-top:8px; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .checkbox-list label { display:flex; align-items:center; gap:10px; font-weight:500; color:#000; }

/* Inline error for Services step */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .inline-error {
  margin-top:8px;
  font-size: 13px;
  color: #000;
  display: none;
}
.elementor-3489 .elementor-element.elementor-element-7551ec9 .inline-error.show { display:block; }

/* Buttons / Actions */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .form-actions { display:flex; gap:14px; margin-top:20px; }
.elementor-3489 .elementor-element.elementor-element-7551ec9 .btn {
  appearance:none;
  border:2px solid #000;
  color:#000;
  background:#fff;
  padding:14px 18px;
  border-radius:44px;
  font-weight:500;
  cursor:pointer;
  font-size:16px;
  transition: background .15s, color .15s, border-color .15s, opacity .15s;
}
.elementor-3489 .elementor-element.elementor-element-7551ec9 .btn.primary {
  background:#000;
  color:#fff;
  border-color:#000;
  flex:1;
}

/* Visually greyed out when disabled */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .btn:disabled,
.elementor-3489 .elementor-element.elementor-element-7551ec9 .btn.blocked {
  background:#ccc !important;
  border-color:#ccc !important;
  color:#fff !important;
  cursor:not-allowed;
  opacity: 1;
}

/* Focus and hover states */
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field input:focus,
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field select:focus,
.elementor-3489 .elementor-element.elementor-element-7551ec9 .field textarea:focus {
  outline:none;
  border-color:#000;
  box-shadow:0 0 0 2px rgba(0,0,0,0.1);
}

.elementor-3489 .elementor-element.elementor-element-7551ec9 .btn:hover:not(:disabled):not(.blocked) {
  background:#111;
  color:#fff;
}

button {
    font-family: 'Fragment Mono';
    font-weight: 400;
}/* ===== Custom Dropdown (Select) Styling ===== */
.elementor-3489 .elementor-element.elementor-element-7551ec9 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  color: #000;
  border: 2px solid #000;
  border-radius: 44px;
  padding: 12px 44px 12px 16px;
  font-size: 16px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, #000 50%),
                    linear-gradient(135deg, #000 50%, transparent 50%);
  background-position: calc(100% - 25px) calc(50% - 4px),
                       calc(100% - 20px) calc(50% - 4px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

/* Hover and Focus effects */
.elementor-3489 .elementor-element.elementor-element-7551ec9 select:hover {
  border-color: #111;
}
.elementor-3489 .elementor-element.elementor-element-7551ec9 select:focus {
  outline: none;
  border-color: #000;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
}

/* Disabled dropdowns */
.elementor-3489 .elementor-element.elementor-element-7551ec9 select:disabled {
  background-color: #f5f5f5;
  color: #777;
  border-color: #ccc;
  cursor: not-allowed;
}

#textarea-border {
    border-radius: 22px;
}
/* ===== Tooltip basics (black & white only) ===== */
.radio-with-tip,
.check-with-tip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  margin: 6px 0;
}

.tip-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.tip-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 2px solid #000;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  background:#fff;
  color:#000;
  cursor: help;
  user-select: none;
}

.tip-icon:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0,0,0,.15);
}

.tip-pop {
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  transform: translateY(-50%);
  min-width: 220px;
  max-width: 320px;
  background: #fff;
  color: #000;
  border: 1px solid #bbb;
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
  z-index: 50;
  display: none;
}

.tip-pop img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 8px;
  background: #fff;
}

.tip-text { font-size: 13px; }

/* show on hover/focus */
.tip-wrapper:hover .tip-pop,
.tip-wrapper:focus-within .tip-pop {
  display: block;
}

/* Make sure long tooltips don't run out of screen on mobile */
@media (max-width: 640px) {
  .tip-pop {
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 320px);
  }
}
#grid-no-gap {
    gap: 0;
}

#form-status {
    text-align: center;
    font-weight: 600;
    text-transform
Controls capitalization effects of an element's text.

Widely available across major browsers (Baseline since January 2018)
Learn more

Don't show
: uppercase;
    font-size: 20px;
}/* End custom CSS */