:root {
    --color-white: hsl(0, 0%, 100%);
    --greyish-blue: hsl(212, 45%, 89%);
    --light-grey: hsl(220, 15%, 55%);
    --dark-blue: hsl(218, 44%, 22%);
    --light-blue-500: hsl(228, 45%, 44%);
    --light-blue-600: hsl(228, 45%, 34%);
}
main {
    font-family: "Outfit", sans-serif;
    background-color: var(--greyish-blue);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: clamp(17.5rem, 80vw, 22.5rem);
    background-color: var(--color-white);
    padding: 1em;
    border-radius: 1.25em;
}
.card__image-wrapper {
    border-radius: 0.75em;
    overflow: hidden;
    margin-block-end: 1.25em;
}
.card__image {
    object-fit: contain;
    object-position: top;
    max-width: clamp(15rem, 70vw, 20rem);
}
@media screen and (width <= 18rem) {
    .card {
        border-radius: 0;
        max-width: 100%;
    }
    .card__image {
        width: 100%;
    }
}
.card__details-wrapper {
    padding-inline: 1.25em;
    text-align: center;
}
.card__heading {
    font-size: clamp(1.25em, calc(7vw + 0.5rem), 1.5em);
    font-weight: 800;
    color: var(--dark-blue);
}
.card__information {
    font-weight: 400;
    margin-block: 2em;
    padding-inline: 0.75em;
    color: var(--light-grey);
}
.attribution__wrapper {
    margin-block-start: 1.125em;
    text-align: center;
}
.attribution {
    font-size: 0.8125rem;
}
.attribution a {
    color: var(--light-blue-500);
}
.attribution a:hover {
    color: var(--light-blue-600);
}
