.prospect-contact-modal {
    --contact-accent: #61CB89;
    --contact-tint: #edf7f4;
    background: var(--bs-tertiary-bg, #f5f7fa);
}
.prospect-contact-header {
    padding: 1.5rem;
    flex-shrink: 0;
    background: var(--bs-body-bg, #fff);
    border-bottom: 1px solid var(--bs-border-color);
    gap: 1rem;
}
.prospect-contact-header .modal-title { font-size: 1.25rem; font-weight: 700; }
.prospect-contact-icon { display: grid; place-items: center; width: 50px; height: 50px; flex-shrink: 0; background: var(--contact-tint); color: var(--contact-accent); border-radius: 15px; font-size: 1.65rem; }
.prospect-contact-eyebrow { margin-bottom: .3rem; color: var(--contact-accent); font-size: .63rem; font-weight: 700; letter-spacing: .12em; }
.prospect-contact-modal > form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.prospect-contact-body { padding: 1.25rem 1.5rem; }
.prospect-contact-section { padding: 1.25rem; background: var(--bs-body-bg, #fff); border: 1px solid var(--bs-border-color); border-radius: 14px; }
.prospect-contact-section + .prospect-contact-section { margin-top: 1rem; }
.prospect-contact-section-heading { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }
.prospect-contact-section-heading > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--contact-tint); color: var(--contact-accent); font-size: 1.15rem; }
.prospect-contact-section h3 { font-size: .95rem; font-weight: 700; margin: 0; }
.prospect-contact-section .form-label { font-size: .8rem; font-weight: 600; }
.prospect-contact-optional { margin-left: .35rem; font-size: .68rem; font-weight: 400; color: var(--bs-secondary-color, #667785); }
.prospect-contact-section .form-control { min-height: 44px; border-radius: 9px; padding: .65rem .8rem; }
.prospect-contact-section .form-control:focus { border-color: #64a99c; box-shadow: 0 0 0 .2rem rgba(97, 203, 137, .13); }
.prospect-contact-section .form-control.is-invalid:focus { border-color: var(--bs-danger); box-shadow: 0 0 0 .2rem rgba(var(--bs-danger-rgb), .13); }
.prospect-contact-section .form-control::placeholder { color: var(--bs-secondary-color, #667785); opacity: .7; }
.prospect-contact-section .form-text { font-size: .73rem; }
.prospect-contact-footer { flex-shrink: 0; padding: 1rem 1.5rem; background: var(--bs-body-bg, #fff); border-top: 1px solid var(--bs-border-color); gap: .65rem; }
.prospect-contact-footer .btn { border-radius: 9px; padding: .6rem 1rem; font-weight: 600; }
@media (max-width: 575.98px) {
    .prospect-contact-header { padding: 1rem; }
    .prospect-contact-body { padding: 1rem; }
    .prospect-contact-section { padding: 1rem; }
    .prospect-contact-icon { width: 40px; height: 40px; }
    .prospect-contact-footer { padding: .85rem 1rem; }
    .prospect-contact-footer > span { flex-basis: 100%; }
}
