.card {
    background-color: var(--background);
    border-radius: 8px;
    box-shadow: 1px 1px 10px var(--text);
    margin: 1em;
    overflow: hidden;
    padding: 1em;
    position: relative;
    transition: box-shadow 0.3s ease-in-out;
    z-index: 10;
}
.card:hover {
    box-shadow: 1px 1px 5px var(--text);
}
.card:hover > img:first-child {
    filter: brightness(0.3);
}

.intro-section {
    margin-bottom: 20vh;
    position: relative;
}
.intro-section .text-column {
    padding-bottom: 10vh;
}
.intro-section .card {
    max-width: 300px;
}
.intro-section .card h3 {
    text-align: center;
}
.intro-section .card .caudecus {
    left: -50%;
    opacity: 0;
    position: absolute;
    top: 10%;
    transition: all 0.3s ease-out;
    width: 70%;
}
.intro-section .card:hover .caudecus {
    left: 50%;
    opacity: 0.8;
    transform: translate(-50%, 0%);
}
.intro-section .flex-row {
    gap: 0.5em;
    justify-content: center;
}
.intro-section > .flex-row {
    background-color: var(--primary);
    position: relative;
}

.query-section {
    display: flex;
    margin-bottom: 10vh;
}
.query-section picture img {
    border-radius: 40% 1%;
    box-shadow: 2px 2px 10px var(--text);
    width: 100%;
    margin: 2em;
}
.query-section .text-column + .query-image picture img {
    border-radius: 1% 40%;
}
.query-section .text-column .flex-row {
    gap: 1em;
}
.query-section .text-column img {
    width: 60px;
}
.query-image {
    order: unset;
    position: relative;
}

@media screen and (max-width: 960px){
    .card {
        animation-delay: 0 !important;
    }

    .query-section {
        flex-direction: column;
    }
    .query-section picture img {
        border-radius: unset !important;
        box-shadow: 2px 2px 10px var(--text);
        width: 100%;
        margin: 0;
    }
    .query-image {
        order: -1;
    }
}