.mh-quote-open { overflow: hidden; }
.mh-quote-modal { display: none; position: fixed; inset: 0; z-index: 9999; font-family: "Be Vietnam Pro", system-ui, sans-serif; }
.mh-quote-modal.is-open { display: block; }
.mh-quote-backdrop { position: absolute; inset: 0; background: rgba(10, 11, 12, .72); backdrop-filter: blur(3px); }
.mh-quote-panel { position: relative; width: min(620px, calc(100% - 32px)); max-height: calc(100vh - 40px); overflow-y: auto; margin: 20px auto; padding: 34px; border-radius: 12px; background: #fff; color: #403d3a; box-shadow: 0 24px 64px rgba(0,0,0,.35); }
.mh-quote-close { position: absolute; top: 13px; right: 16px; border: 0; background: transparent; color: #403d3a; font-size: 32px; line-height: 1; cursor: pointer; }
.mh-quote-eyebrow { margin: 0 0 8px; color: #c8102e; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.mh-quote-panel h2 { margin: 0; color: #121212; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.8rem, 5vw, 2.35rem); }
.mh-quote-intro { margin: 12px 0 24px; line-height: 1.65; }
.mh-quote-label { display: block; margin: 16px 0; color: #121212; font-size: .92rem; font-weight: 600; }
.mh-quote-input { box-sizing: border-box; display: block; width: 100%; margin-top: 7px; padding: 12px 14px; border: 1px solid #d8d1c9; border-radius: 7px; background: #fff; color: #121212; font: inherit; font-weight: 400; }
.mh-quote-input:focus { outline: 2px solid rgba(200,16,46,.25); border-color: #c8102e; }
.mh-quote-textarea { min-height: 104px; resize: vertical; }
.mh-quote-choice { margin: 20px 0; padding: 14px 16px; border: 1px solid #e6e1db; border-radius: 7px; }
.mh-quote-choice legend { padding: 0 5px; color: #121212; font-size: .92rem; font-weight: 600; }
.mh-quote-choice label { display: inline-flex; align-items: center; margin: 6px 18px 6px 0; color: #403d3a; font-size: .94rem; }
.mh-quote-choice input { margin-right: 7px; accent-color: #c8102e; }
.mh-quote-submit { width: 100%; margin-top: 10px; padding: 15px 20px; border: 0; border-radius: 999px; background: #c8102e; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.mh-quote-submit:hover { background: #8e0b20; }
.mh-quote-note { margin: 13px 4px 0; color: #6d6863; font-size: .8rem; line-height: 1.55; text-align: center; }
@media (max-width: 520px) { .mh-quote-panel { width: calc(100% - 20px); max-height: calc(100vh - 20px); margin: 10px auto; padding: 28px 20px 24px; } .mh-quote-choice label { display: flex; } }
