/* General reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}

html:focus-within {
    scroll-behavior: smooth;
}

/* html,
body {
    height: 100%;
} */

body {
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

ul[role='list'],
ol[role='list'] {
    list-style: none;
}

a:not([class]) {
    text-decoration-skip-ink: auto;
    text-decoration: none;
    color: currentColor;
}

img,
picture,
svg {
    max-width: 100%;
    display: block;
}

/* Custom properties */
:root {
    --ff-base: "Poppins", serif;

    --clr-primary-400: hsl(0, 78%, 62%);
    --clr-primary-500: hsl(180, 62%, 55%);
    --clr-primary-600: hsl(34, 97%, 64%);
    --clr-primary-700: hsl(212, 86%, 64%);

    --clr-neutral-100: hsl(0, 0%, 98%);
    --clr-neutral-400: hsl(229, 6%, 66%);
    --clr-neutral-700: hsl(234, 12%, 70%);
    --clr-neutral-900: hsl(234, 12%, 34%);

    --fw-regular: 200;
    --fw-semi-bold: 400;
    --fw-bold: 600;

    --fs-300: 0.983rem;
    --fs-400: 1rem;
    --fs-500: 1.5rem;
    --fs-600: 2rem;
}

/* Styling */

body {
    font-family: var(--ff-base);
    font-size: var(--fs-300);
    font-weight: var(--fw-regular);
    background-color: var(--clr-neutral-100);
    color: var(--clr-neutral-400);
    margin-bottom: 5rem;
}

h1 {
    font-size: var(--fs-600);
    color: var(--clr-neutral-900);
    font-weight: var(--fw-regular);
    line-height: 1.4;
}

h1 span {
    font-weight: var(--fw-bold);
}

h2 {
    font-weight: var(--fw-bold);
    color: var(--clr-neutral-900);
    font-size: 1.25rem;
}

.container {
    padding-inline: 2rem;
    max-width: 1280px;
    margin-inline: auto;
}

.container-narrow {
    max-width: 550px;
}

header {
    text-align: center;
    margin-block: 5rem;
}

.header {
    display: grid;
    gap: 1rem;
}

.layout-grid {
    --gap: 2.5rem;

    display: grid;
    align-items: center;
    gap: var(--gap);
}

@media (min-width: 800px) {
    .layout-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.layout-grid>* {
    flex: 1;
}

.col {
    display: grid;
    gap: var(--gap);
}

.card {
    display: grid;
    gap: 1rem;
    padding: 2rem;
}

.card {
    border-radius: 0.5rem;
    box-shadow: 0em 1em 1.5em -0.75rem var(--clr-neutral-700);
}

.border-top-400 {
    border-top: 3.2px solid var(--clr-primary-400);
}

.border-top-500 {
    border-top: 3.2px solid var(--clr-primary-500);
}

.border-top-600 {
    border-top: 3.2px solid var(--clr-primary-600);
}

.border-top-700 {
    border-top: 3.2px solid var(--clr-primary-700);
}

.card__img {
    display: block;
    margin-left: auto;
    margin-top: 2rem;
}