.contact-portal { position: fixed; inset: 0; pointer-events: none; z-index: 200;}.contact-portal > * { pointer-events: auto;}.contact-snackbar { position: fixed; left: 50%; bottom: var(--space-6); transform: translateX(-50%) translateY(120%); padding: var(--space-4) var(--space-6); border-radius: var(--radius-md); background: var(--color-text); color: var(--color-bg); font-size: var(--font-size-sm); font-weight: 600; box-shadow: 0 10px 40px rgba(15, 26, 21, 0.25); opacity: 0; transition: transform var(--transition-base), opacity var(--transition-base); z-index: 210;}.contact-snackbar.is-visible { transform: translateX(-50%) translateY(0); opacity: 1;}.contact-snackbar--success { background: #0d7377; color: #fff;}.contact-snackbar--error { background: #b91c1c; color: #fff;}.contact-modal { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: var(--space-6); opacity: 0; visibility: hidden; transition: opacity var(--transition-base), visibility var(--transition-base); z-index: 220;}.contact-modal.is-visible { opacity: 1; visibility: visible;}.contact-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 26, 21, 0.45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);}.contact-modal__dialog { position: relative; max-width: 520px; width: 100%; padding: clamp(var(--space-8), 4vw, var(--space-10)); border-radius: var(--radius-md); background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: 0 20px 60px rgba(15, 26, 21, 0.25); transform: translateY(20px); transition: transform var(--transition-base);}.contact-modal.is-visible .contact-modal__dialog { transform: translateY(0);}.contact-modal__title { margin-bottom: var(--space-4); font-size: var(--font-size-xl);}.contact-modal__description { margin-bottom: var(--space-8); color: var(--color-text-muted); font-size: var(--font-size-md); line-height: 1.7;}.contact-modal__actions { display: flex; gap: var(--space-3); justify-content: flex-end;}@media (max-width: 720px) { .contact-snackbar { left: var(--space-4); right: var(--space-4); bottom: var(--space-4); width: auto; transform: translateX(0) translateY(120%); border-radius: var(--radius-sm); text-align: center; } .contact-snackbar.is-visible { transform: translateX(0) translateY(0); } .contact-modal__actions { flex-direction: column-reverse; } .contact-modal__actions .button { width: 100%; }}