.contact-modal__overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal,40);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-md);overflow-y:auto;animation:contactModalFadeIn .2s ease-out}@keyframes contactModalFadeIn{0%{opacity:0}to{opacity:1}}.contact-modal__dialog{position:relative;width:100%;max-width:720px;margin:auto;background:#fff;border-radius:var(--radius-lg,14px);box-shadow:0 24px 64px rgba(15,23,42,.25),0 4px 12px rgba(15,23,42,.08);animation:contactModalSlideIn .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;max-height:calc(100vh - 2 * var(--space-md));overflow:hidden}@keyframes contactModalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.contact-modal__close{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border-radius:50%;background:#f4f6f9;border:1px solid var(--color-border);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;z-index:2}.contact-modal__close:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.contact-modal__close:focus-visible{outline:3px solid var(--color-primary-glow);outline-offset:2px}.contact-modal__body{padding:var(--space-lg);overflow-y:auto}@media (max-width:767px){.contact-modal__overlay{padding:0;align-items:stretch}.contact-modal__dialog{max-height:100vh;border-radius:0;margin:0}.contact-modal__body{padding:var(--space-md)}}