:root{
    --white: hsl(0, 0%, 100%);
    --light-gray: hsl(212, 45%, 89%);
    --gray: hsl(216, 15%, 48%);
    --dark-gray: hsl(218, 44%, 22%);
    --body-text-color: #333;
    --link-color: hsl(228, 45%, 44%);
}
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    display: block;
    place-content: center;
    font-family: "Outfit", sans-serif;
    background-color: var(--light-gray);
    color: var(--body-text-color);
}
.container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: clamp(2rem, 8vw, 3.5rem) 0;
}
.card {
    display: flex;
    align-items: center;
    justify-content: start;
    flex-direction: column;
    width: 20rem;
    height: 31.25rem;
    background-color: var(--white);
    border-radius: 0.8rem;
    padding: clamp(0.85rem, 1.4vw, 1rem);
}
.card__image-container {
    width: 100%;
    height: 58%;
    border-radius: 0.8rem;
    overflow: hidden;
}
.card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card__title {
    font-size: clamp(1.45rem, 1vw, 1.675rem);
    font-weight: 700;
    text-align: center;
    margin: clamp(0.75rem, 1.5vw, 0.95rem) 0;
    color: var(--dark-gray);
}
.card__description {
    font-size: clamp(0.98rem, 1vw, 1.035rem);
    font-weight: 400;
    text-align: center;
    color: var(--gray);
}
.attribution { font-size: clamp(0.6875rem, 1vw, 0.875rem); text-align: center; }
.attribution a { color: var(--link-color); }