.ms-form { color: #202020; text-align: left; min-width: 0; }
.nav-item:focus-within .dropdown-menu { opacity: 1; visibility: visible; transform: none; }
.ms-form *, .ms-quick-dialog * { box-sizing: border-box; }
.ms-form [hidden] { display: none !important; }
.ms-form h3 { color: #202020; font-size: clamp(1.2rem, 2vw, 1.55rem); margin: 0 0 12px; }
.ms-form p { color: #595959; font-size: .9rem; margin-bottom: 20px; }
.ms-progress { display: flex; gap: 10px; margin-bottom: 24px; font-size: .78rem; font-weight: 700; }
.ms-progress span { flex: 1; padding: 10px 0; border-bottom: 3px solid #ddd; color: #666; }
.ms-progress .is-current { color: #b62222; border-color: #d32f2f; }
.ms-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ms-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; font-size: .86rem; font-weight: 600; }
.ms-field-wide { grid-column: 1 / -1; }
.ms-field input, .ms-field textarea, .ms-field select { width: 100%; min-width: 0; padding: 12px; border: 1px solid #d4d4d4; border-radius: 5px; background: #fff; color: #222; font: inherit; font-weight: 400; }
.ms-field textarea { min-height: 100px; resize: vertical; }
.ms-field input:focus-visible, .ms-field textarea:focus-visible, .ms-field select:focus-visible { outline: 2px solid #d32f2f; outline-offset: 2px; }
.ms-upload { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 20px; background: #faf5f3; border: 1px dashed #b85950; border-radius: 6px; text-align: center; cursor: pointer; overflow-wrap: anywhere; }
.ms-upload i { font-size: 1.8rem; color: #d32f2f; }
.ms-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.ms-upload:focus-within { outline: 3px solid #d32f2f; outline-offset: 3px; }
.ms-upload small { color: #666; font-weight: 400; }
.ms-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 24px; }
.ms-form .ms-actions .btn { position: static; width: auto; margin: 0; min-height: 46px; padding: 13px 18px; font-size: .87rem; line-height: 1.35; }
.ms-form .ms-back { color: #292929; border: 1px solid #666; background: #fff; }
.ms-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .78rem; color: #555; margin-top: 20px; }
.ms-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; accent-color: #d32f2f; }
.ms-consent a { text-decoration: underline; }
.ms-status { padding: 14px; background: #fff3dd; color: #62430e !important; border-radius: 5px; margin-top: 16px; }
.ms-float { position: fixed; right: 22px; bottom: 22px; z-index: 400; display: flex; gap: 10px; }
.ms-float a, .ms-float button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; border: 0; border-radius: 8px; padding: 14px 18px; background: #d32f2f; color: #fff; font: 700 .88rem 'Montserrat',sans-serif; box-shadow: 0 10px 28px #0004; cursor: pointer; }
.ms-float a { background: #222; }
.ms-float i { font-size: 1.3rem; }
.ms-quick-dialog { position: fixed; inset: 0; margin: auto; width: min(540px,calc(100% - 28px)); max-height: calc(100dvh - 32px); border: 0; padding: 30px; border-radius: 10px; overflow-y: auto; color: #222; background: white; box-shadow: 0 30px 100px #0007; }
.ms-quick-dialog::backdrop { background: #000a; }
.ms-dialog-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.ms-dialog-head h2 { flex: 1; margin: 0; font-size: 1.5rem; }
.ms-close { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border: 0; background: #eee; border-radius: 6px; font-size: 1.4rem; cursor: pointer; }
.hero-inquiry:has(.ms-form) { padding: 28px; }
.contact-form-box:has(.ms-form) { min-width: 0; }
@media(max-width:600px) {
 .ms-fields { grid-template-columns: 1fr; }
 .ms-float { right: 12px; bottom: 12px; gap: 8px; }
 .ms-float a, .ms-float button { padding: 13px; font-size: .76rem; }
 .ms-float button { font-size: 0; gap: 0; width: 48px; }
 .ms-float a, .ms-float button { min-height: 48px; border-radius: 50%; }
 .ms-quick-dialog { padding: 20px; }
 .ms-form .ms-actions .btn { flex: 1; }
 .footer { padding-bottom: 105px; }
}
