.contact-page { display: flex; justify-content: center; align-items: center; }
.contact-card {
    background: linear-gradient(135deg, #0a122c 0%, #050a18 100%); padding: 50px;
    border-radius: 16px; width: 100%; max-width: 600px; border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 20px 50px rgba(0,0,0,0.4);
}
.divider { text-align: center; margin: 20px 0; color: var(--text-muted); font-size: 0.9rem; position: relative; }
.divider::before, .divider::after {
    content: ''; position: absolute; top: 50%; width: 25%; height: 1px; background: rgba(255,255,255,0.1);
}
.divider::before { left: 0; }
.divider::after { right: 0; }

.contact-form { display: flex; flex-direction: column; gap: 15px; }
.form-group input, .form-group textarea {
    width: 100%; padding: 16px; background: rgba(4, 8, 20, 0.5); border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px; color: #fff; font-family: var(--font-body);
}
.btn-submit {
    padding: 16px; background: linear-gradient(90deg, var(--accent-blue), #003db3); color: #fff; border: none;
    border-radius: 6px; font-family: var(--font-title); cursor: pointer; font-weight: bold;
}

/* Alert Personalizado */
.custom-alert-overlay {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px);
    display: flex; justify-content: center; align-items: center; z-index: 9999;
    opacity: 0; animation: fadeInAlert 0.3s forwards ease-out;
}
.custom-alert-box {
    background: #0d0d0d; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px;
    padding: 40px; text-align: center; max-width: 450px; width: 90%;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6); transform: translateY(30px) scale(0.95);
    animation: slideUpAlert 0.4s forwards ease-out; font-family: 'Exo 2', sans-serif;
}
.custom-alert-title { font-family: 'Syncopate', sans-serif; font-size: 1.5rem; color: #fff; margin-bottom: 15px; text-transform: uppercase; }
.custom-alert-text { color: #a0a0a0; font-size: 1rem; font-weight: 300; margin-bottom: 30px; line-height: 1.6; }
.custom-alert-overlay.fade-out { animation: fadeOutAlert 0.3s forwards ease-in; }
.custom-alert-overlay.fade-out .custom-alert-box { transform: translateY(0) scale(1); animation: scaleDownAlert 0.3s forwards ease-in; }

@keyframes fadeInAlert { to { opacity: 1; } }
@keyframes slideUpAlert { to { transform: translateY(0) scale(1); } }
@keyframes fadeOutAlert { to { opacity: 0; } }
@keyframes scaleDownAlert { to { transform: translateY(20px) scale(0.95); } }