/* ==========================================================================
   Technologies page (cards are created from data/technologies.js)
   ========================================================================== */

body::before {
    background-image:
        linear-gradient(rgba(10, 10, 11, 0.84), rgba(10, 10, 11, 0.98)),
        url('../images/bg/technologies.jpg');
}

@media (max-width: 767px) {
    body::before {
        background-image:
            linear-gradient(rgba(10, 10, 11, 0.7), rgba(10, 10, 11, 0.98)),
            url('../images/bg/technologies-mobile.jpg');
    }
}

/* Cards sit in centered rows, so an odd card out is centered too */
#software--container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(1rem, 2.5vw, 1.75rem);
    margin-top: clamp(2.5rem, 6vw, 4rem);
}

.software--card {
    flex: 0 1 clamp(290px, 28vw, 380px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    background-color: var(--surface);
}

.software--card video {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background-color: #000;
}

.software--body {
    padding: clamp(1.25rem, 3vw, 1.75rem);
}

.software--card .title {
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 0.6vw + 1rem, 1.35rem);
    font-weight: 500;
    line-height: 1.3;
    color: var(--text);
}

.software--card .text {
    margin-top: 0.75rem;
    font-size: 0.98rem;
    line-height: 1.7;
    color: var(--text-muted);
    text-wrap: pretty;
}

@media (min-width: 1700px) {
    .software--card {
        flex-basis: 420px;
    }
}

@media (max-width: 659px) {
    .software--card {
        flex-basis: 100%;
    }

    .software--card video {
        aspect-ratio: 16 / 10;
    }
}
