.quote-modal[hidden] { display: none; }
.quote-modal { position: fixed; inset: 0; z-index: 1500; display: grid; place-items: center; padding: 24px; }
.quote-modal__backdrop { position: absolute; inset: 0; background: rgba(2, 6, 23, .84); backdrop-filter: blur(8px); }
.quote-modal__dialog { position: relative; z-index: 1; width: min(720px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: clamp(26px, 5vw, 42px); border: 1px solid rgba(148, 163, 184, .24); border-radius: var(--radius-lg); background: linear-gradient(145deg, #111827, #0b1220); box-shadow: 0 32px 90px rgba(0, 0, 0, .55); color: var(--text); }
.quote-modal__close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(148, 163, 184, .25); border-radius: 50%; background: rgba(2, 6, 23, .72); color: var(--text); font-size: 25px; cursor: pointer; }
.quote-modal__eyebrow { color: #93c5fd; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.quote-modal h2 { margin-top: 8px; font-size: clamp(30px, 5vw, 44px); letter-spacing: -.04em; }
.quote-modal__dialog > p:not(.quote-modal__eyebrow) { max-width: 600px; margin-top: 12px; color: var(--muted); line-height: 1.6; }
.quote-modal form { display: grid; gap: 18px; margin-top: 28px; }
.quote-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.quote-modal label { display: grid; gap: 8px; color: #cbd5e1; font-size: 13px; font-weight: 650; }
.quote-modal input, .quote-modal select, .quote-modal textarea { width: 100%; padding: 13px 14px; border: 1px solid rgba(148, 163, 184, .22); border-radius: 10px; background: rgba(2, 6, 23, .55); color: var(--text); font: inherit; }
.quote-modal textarea { resize: vertical; min-height: 120px; }
.quote-modal input:focus, .quote-modal select:focus, .quote-modal textarea:focus { outline: var(--focus-outline); outline-offset: 1px; border-color: #60a5fa; }
.quote-form__consent { display: flex !important; align-items: flex-start; font-weight: 400 !important; line-height: 1.5; }
.quote-form__consent input { flex: 0 0 auto; width: 18px; margin-top: 2px; accent-color: var(--primary); }
.quote-modal form > .btn { justify-self: start; }
.quote-form__status { min-height: 1.4em; color: #93c5fd; font-size: 13px; }
.service-card__link, .faq__contact, .site-footer__column button:not(.btn) { appearance: none; font-family: inherit; cursor: pointer; }
button.service-card__link { background: transparent; }
.site-footer__column button:not(.btn) { padding: 0; border: 0; background: none; color: var(--muted); text-align: left; }
@media (max-width: 620px) { .quote-modal { padding: 12px; } .quote-modal__dialog { max-height: calc(100vh - 24px); padding: 28px 20px 24px; } .quote-form__grid { grid-template-columns: 1fr; } .quote-modal form > .btn { width: 100%; } }
