.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(12,31,61,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{position:relative;width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border-radius:50%;font-size:1.5rem;line-height:1;color:var(--slate-500);transition:background .15s,color .15s}.modal-close:hover{background:var(--slate-100);color:var(--brand-navy-900)}.modal-card h2{font-family:var(--font-display);font-size:1.5rem;color:var(--brand-navy-900);margin-bottom:.5rem}.modal-subtitle{color:var(--slate-500);font-size:.9375rem;margin-bottom:1.5rem}.contact-form{gap:1rem}.contact-form,.contact-form label{display:flex;flex-direction:column}.contact-form label{gap:.375rem;font-size:.875rem;font-weight:500;color:var(--brand-navy-800)}.contact-form .optional{font-weight:400;color:var(--slate-400)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;padding:.625rem .875rem;border:1px solid var(--slate-200);border-radius:10px;color:var(--brand-navy-900);background:var(--white);transition:border-color .15s,box-shadow .15s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--brand-cyan-500);box-shadow:0 0 0 3px rgba(42,184,230,.2)}.contact-form textarea{resize:vertical;min-height:100px}.form-error{color:#dc2626;font-size:.875rem}.form-submit{width:100%;margin-top:.5rem}.form-submit:disabled{opacity:.7;cursor:not-allowed}.modal-success{text-align:center;padding:1rem 0}.modal-success-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:var(--brand-cyan-100);color:var(--brand-cyan-700);border-radius:50%;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.modal-success p{color:var(--slate-500);margin-bottom:1.5rem}@media (max-width:560px){.form-row{grid-template-columns:1fr}.modal-card{padding:1.5rem}}