* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

:root {
    --yellow: hsl(47, 88%, 63%);
    --white: hsl(0, 0%, 100%);
    --gray-500: hsl(0, 0%, 42%);
    --gray-950: hsl(0, 0%, 7%);
}

html {
    font-family: "Figtree", sans-serif;
    font-size: 62.5%;
    font-weight: 500;
    font-optical-sizing: auto;
    font-style: normal;
    color: var(--gray-950);
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px ;
    height: 100dvh;
    background-color: var(--yellow);
}

.article {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    border: 1px solid var(--gray-950);
    border-radius: 20px;
    min-width: 327px;
    max-width: 384px;
    background-color: #fff;
    box-shadow: 8px 8px 0 0 rgba(0, 0, 0, 1);
}

.article__img {
    border-radius: 10px;
}

.article__content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.article__tag,
.article__date,
.article__title,
.article__description,
.article__author-name {
    line-height: 150%;
}

.article__tag {
    padding: 4px 12px;
    border-radius: 4px;
    width: fit-content;
    font-size: 1.2rem;
    font-weight: 800;
    background-color: var(--yellow);
}

.article__date {
    font-size: 1.2rem;
}

.article__title {
    width: fit-content;
    font-size: 2rem;
    font-weight: 800;
    cursor: pointer;
    transition: color 0.3s;
}

.article__title:is(:hover, :focus) {
    color: var(--yellow);
}

.article__description {
    font-size: clamp(1.4rem, 1.2rem + 0.5vw, 1.6rem);
    color: var(--gray-500);
}

.article__author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.article__author-img {
    border-radius: 50%;
    width: 32px;
    height: 32px;
}

.article__author-name {
    font-size: 1.4rem;
    font-weight: 800;
}