
.form-card {
  background: rgba(17, 22, 40, .65);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}

/* Section title */
.section-title {
  font-size: clamp(28px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: .5px;
  margin-bottom: .25rem;
}
.section-sub {
  opacity: .7;
}

.input-wrap {
  position: relative;
}
.input-wrap .input-icon {
  position: absolute; inset: 0 auto 0 14px; display: grid; place-items: center;
  pointer-events: none; opacity: .7;
}
.input-wrap .form-control, .input-wrap textarea.form-control {
  padding-left: 44px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
}
.input-wrap .form-control:focus, .input-wrap textarea.form-control:focus {
  border-color: #7c9cff;
  box-shadow: 0 0 0 .15rem rgba(124,156,255,.18);
  background: rgba(255,255,255,.06);
}

textarea.form-control { min-height: 140px; }

.form-actions {
  display:flex; align-items:center; justify-content:flex-end; gap:.75rem;
}
.form-card .form-control,
.form-card textarea.form-control {
  color: #fff !important;
}
.form-card .form-label {
  color: rgba(255,255,255,.85) !important;
  font-weight: 600;
}
.form-card .form-control::placeholder,
.form-card textarea.form-control::placeholder {
  color: rgba(255,255,255,.55) !important;
  opacity: 1;
}
.custom-button { display:inline-flex; align-items:center; justify-content:center; font-weight:600;
  padding:.7rem 1.25rem; border-radius:50rem; border:1px solid transparent; text-decoration:none }
.custom-outline-primary { color:#86a6ff; border-color:#86a6ff; background:transparent }
.custom-outline-primary:hover { background:#86a6ff; color:#0e1222 }
.custom-primary {
	background: #764df0;
	color: #fff;
	border-color: #764df0;
}
.custom-primary:hover { background:#764df0cf; border-color:#764df0cf }

#formAlert { display:none; margin-top:12px; padding:12px 14px; border-radius:12px; font-weight:600 }
#formAlert.success { background:#1d8f41; color:#fff }
#formAlert.error { background:#b21f2d; color:#fff }

.helper { font-size:.875rem; opacity:.7 }

@media (max-width: 991px){
  .form-actions{ justify-content:center }
}
.form-card .form-control,
.form-card textarea.form-control { color:#fff !important; }
.form-card .form-control::placeholder,
.form-card textarea.form-control::placeholder { color:rgba(255,255,255,.55) !important; opacity:1; }
.form-card .form-label { color:rgba(255,255,255,.85) !important; font-weight:600; }

/* small alert styles (re-use IDs) */
#contactAlert { display:none; padding:12px 14px; border-radius:12px; font-weight:600; }
#contactAlert.success { display:block; background:#1d8f41; color:#fff; }
#contactAlert.error   { display:block; background:#b21f2d; color:#fff; }