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

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

body {
    font-family: 'Figtree', sans-serif;
    background: var(--yellow);
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 1rem;
}

.card {
    background: var(--white);
    max-width: 22rem;
    border-radius: 1rem;
    border: 2px solid var(--gray-900);
    padding: 1.5rem;
    box-shadow: 8px 8px 0 var(--gray-900);
    transition: transform 0.2s ease;
}

.card:hover {
    transform: translate(-4px, -4px);
}

.card img {
    width: 100%;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

.tag {
    display: inline-block;
    background: var(--yellow);
    padding: 0.4rem 0.8rem;
    font-weight: 800;
    font-size: clamp(0.7rem, 1vw, 0.8rem);
    border-radius: 0.4rem;
    margin-bottom: 0.8rem;
}

.date {
    font-size: clamp(0.75rem, 1vw, 0.9rem);
    margin-bottom: 0.8rem;
}

h1 {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    margin-bottom: 0.8rem;
}

h1 a {
    text-decoration: none;
    color: var(--gray-900);
}

h1 a:hover,
h1 a:focus {
    color: var(--yellow);
}

.description {
    color: var(--gray-500);
    font-size: clamp(0.85rem, 1vw, 1rem);
    margin-bottom: 1.2rem;
    line-height: 1.5;
}

.author{
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-weight: 800;
    font-size: 0.9rem;
}

.author img {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
}

.author span {
    margin-bottom: 1rem;
}