.preface {
    color: var(--text-accent);
}

#project-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.project-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border: 3px solid transparent;
    overflow: hidden;

    text-decoration: none;
    color: black;

    max-width: 420px;
    margin-inline: auto;

    transition: border 0.2s ease-in-out;
}

.project-card:hover {
    border: 3px solid var(--accent);
}

.project-card:hover h3 {
    text-decoration: underline var(--accent);
}

.thumbnail {
    aspect-ratio: 16 / 10;
    width: 100%;
    background-size: cover;
}

.desc-container {
    display: flex;
    flex-direction: column;

    padding: 0.5rem 1rem;
}

.desc-container > h3 {
    text-decoration: underline transparent;
    transition: text-decoration 0.2s ease-in-out;
}