/* =========================
   CONTACT PAGE
========================= */

.contact-layout {
    padding-top: 30px;
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: 40px;
    align-items: start;
}

.contact-info {
    padding: 30px;
    background: var(--light-blue);
    border-radius: 24px;
}

.contact-info h2 {
    margin: 0 0 20px;
    color: var(--navy);
}

.contact-info p {
    margin: 0 0 14px;
    color: var(--muted);
}

.contact-info p:last-child {
    margin-bottom: 0;
}

.contact-info strong {
    color: var(--navy);
}

.contact-form {
    padding: 32px;
    display: grid;
    gap: 20px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow);
}

.contact-form label {
    display: grid;
    gap: 8px;
    color: var(--navy);
    font-weight: 700;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: var(--white);
    color: var(--text);
    font: inherit;
}

.contact-form textarea {
    resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--blue);
    outline: 3px solid rgba(30, 115, 190, 0.14);
}

.contact-form button {
    justify-self: start;
    border: 0;
    cursor: pointer;
}

@media (max-width: 800px) {
    .contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .contact-info,
    .contact-form {
        padding: 24px;
    }
}