/* ==========================================================
   CONTACT SECTION
========================================================== */

.contact {
    position: relative;
    padding-block: var(--section-padding);
    background: var(--background-color);
}

.contact-card {
    position: relative;
    overflow: hidden;

    max-width: 900px;
    margin-inline: auto;
    padding: var(--space-4xl) var(--space-2xl);

    text-align: center;

    background:
        radial-gradient(
            circle at top,
            rgba(37, 99, 235, 0.18),
            transparent 45%
        ),
        var(--surface-color);

    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.contact-card .section-label {
    margin-bottom: var(--space-md);
}

.contact-title {
    max-width: 700px;
    margin: 0 auto var(--space-lg);

    color: var(--heading-color);

    font-size: var(--font-size-xl);
    font-weight: var(--font-bold);
    line-height: 1.2;
}

.contact-description {
    max-width: 65ch;
    margin: 0 auto var(--space-xl);

    color: var(--text-color);

    font-size: var(--font-size-md);
    line-height: 1.8;
}

.contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);

    margin-bottom: var(--space-xl);
}

.contact-button svg {
    width: 20px;
    height: 20px;

    stroke-width: 1.8;
}

.contact-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-xl);
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);

    color: var(--gray);

    font-size: var(--font-size-sm);
    font-weight: var(--font-semibold);

    transition: var(--transition-fast);
}

.contact-link svg {
    width: 19px;
    height: 19px;

    stroke-width: 1.8;
}

.contact-link:hover {
    color: var(--secondary-color);
    transform: translateY(-2px);
}

.contact-card::before {
    content: "";

    position: absolute;
    inset: 0;

    background-image: url("../assets/images/background.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 650px;

    opacity: 0.05;

    pointer-events: none;
}

.contact-card > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 700px) {

    .contact-card {
        padding:
            var(--space-3xl)
            var(--space-lg);
    }

    .contact-title {
        font-size: var(--font-size-lg);
    }

    .contact-description {
        font-size: var(--font-size-base);
    }

    .contact-links {
        gap: var(--space-lg);
    }

}