#contact-modal { align-items: center; background: rgba(17, 24, 39, .45); display: none; inset: 0; justify-content: center; padding: 1rem; position: fixed; z-index: 80; }
#contact-modal.show { display: flex; }
#contact-modal .modal-dialog { margin: 0 auto; width: min(calc(100% - 2rem), 760px); }
.contact-modal-content { border: 0; border-radius: 14px; overflow: hidden; }
.contact-modal-header { align-items: center; border-bottom: 1px solid #e2e8f0; display: flex; gap: 1rem; justify-content: space-between; padding: 1.25rem 1.5rem 1rem; }
.contact-modal-title { color: var(--archiged-color-primary, var(--brand, #1b3a6b)); font-size: 1.25rem; font-weight: 700; line-height: 1.25; margin: 0; }
.contact-modal-close { align-items: center; background: transparent; border: 0; border-radius: 9999px; color: #64748b; cursor: pointer; display: inline-flex; flex: 0 0 auto; height: 2.25rem; justify-content: center; padding: 0; width: 2.25rem; }
.contact-modal-close:hover { background: #f1f5f9; color: #334155; }
.contact-modal-body { padding: 1.5rem; }
.contact-modal-form { display: grid; gap: 1rem; }
.contact-modal-honeypot { display: none !important; }
.contact-modal-label { color: #334155; display: block; font-size: .875rem; font-weight: 500; margin-bottom: .5rem; }
.contact-modal-control { background: #fff !important; border: 1px solid #cbd5e1 !important; border-radius: .75rem !important; box-sizing: border-box; color: #0f172a; display: block; font-size: .875rem; padding: .75rem 1rem !important; width: 100%; }
.contact-modal-control:focus { border-color: #3b82f6 !important; box-shadow: 0 0 0 4px #dbeafe !important; outline: none; }
.contact-modal-textarea { resize: vertical; }
.contact-modal-actions { display: flex; gap: .75rem; justify-content: flex-end; }
.contact-modal-button { align-items: center; border-radius: .75rem; cursor: pointer; display: inline-flex; font-size: .875rem; font-weight: 500; justify-content: center; padding: .65rem 1rem; }
.contact-modal-button-secondary { background: #fff; border: 1px solid #cbd5e1; color: #334155; }
.contact-modal-button-primary { background: #2f6fed; border: 1px solid #2f6fed; color: #fff; }
.contact-modal-button-primary:hover { background: #255bd0; }
.contact-modal-button:disabled { cursor: wait; opacity: .65; }
.contact-modal-trigger-primary { background: var(--archiged-color-primary, var(--brand, #1b3a6b)); border: 0; border-radius: .75rem; color: var(--archiged-primary-text-color, var(--brand-text, #fff)); cursor: pointer; font-size: 1.125rem; font-weight: 600; padding: .75rem 1.25rem; transition: box-shadow .2s ease, transform .2s ease; }
.contact-modal-trigger-primary:hover { box-shadow: 0 8px 16px rgba(15, 23, 42, .18); transform: translateY(-1px); }
.contact-modal-trigger-link { background: transparent; border: 0; color: #fff; cursor: pointer; padding: 0; }
.contact-modal-trigger-link:hover { text-decoration: underline; }

@media (max-width: 639px) {
  .contact-modal-actions { flex-direction: column-reverse; }
  .contact-modal-button { width: 100%; }
}
