
.contact-card { transition: all 0.3s ease; }
.contact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.form-input { transition: all 0.2s ease; }
.form-input:focus {
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
    transform: translateY(-1px);
}

.alert { border-radius: 0.75rem; border-left: 4px solid; animation: slideIn 0.3s ease; }
.alert-success { background-color: rgba(16, 185, 129, 0.1); border-color: #10b981; color: #047857; }
.alert-danger { background-color: rgba(239, 68, 68, 0.1); border-color: #ef4444; color: #dc2626; }

@keyframes slideIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.contact-icon {
    background: linear-gradient(45deg, #7c3aed, #4f46e5);
    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3);
}

.social-link {
    background: linear-gradient(45deg, #7c3aed, #4f46e5);
    transition: all 0.3s ease;
}

.social-link:hover {
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 8px 25px rgba(124, 58, 237, 0.4);
}

.btn-gradient {
    background: linear-gradient(45deg, #7c3aed, #4f46e5);
    color: white;
    transition: all 0.3s ease;
}

.btn-gradient:hover {
    background: linear-gradient(45deg, #6d28d9, #4338ca);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.4);
    color: white;
}

@media (max-width: 640px) {
    h1 { font-size: 2rem !important; }
    h2 { font-size: 1.5rem !important; }
    .contact-card { padding: 1.5rem; }
}
