html {
    scroll-behavior: smooth;
}

:root {
    --ff-primary: "Segoe UI";
    --ff-secondary: "Source Code Pro";

    --fw-reg: 300;
    --fw-bold: 900;

    --clr-light: #fff;
    --clr-dark: #000;
    --clr-accent: #00fbff;
    --clr-accent-2: #e100ff;
    --clr-gm4: linear-gradient(to bottom right, rgb(125, 0, 0), rgb(0, 0, 125));

    --fs-header: 2rem;
    --fs-h1: 1.5rem;
    --fs-h2: 1.2rem;
    --fs-h3: 1rem;
    --fs-body: 1rem;

    --bs: 0.25em 0.25em 0.75em rgba(255, 255, 255, 0.25);
}

body {
    background: var(--clr-gm4);
    color: var(--clr-light);
    font-family: var(--ff-primary);
    font-size: var(--fs-body);
    min-height: 100vh;
    text-align: left;
    margin: 0;
    line-height: 1.4;
    /* IE and Edge */
    -ms-overflow-style: none;
    /* Firefox */
    scrollbar-width: none;
}

body::-webkit-scrollbar {
    display: none;
}

header {
    padding: 1.5rem 2rem 2rem 2rem;
}

header h1 {
    font-size: var(--fs-header);
    margin: 0;
}

.main {
    margin: 0 2em 0 2em;
    padding: 0 0 3rem 0;
}

@media (min-width: 900px) {
    :root {
        --fs-h1: 2.5rem;
        --fs-h2: 2.2rem;
        --fs-h3: 1rem;
        --fs-body: 1rem;
    }

    .main {
        margin: 0 5em 0 5em;
        padding: 0 0 3rem 0;
    }

    header {
        padding: 4.5rem 7rem 7rem 5rem;
    }

    header h1 {
        font-size: var(--fs-header);
    }
}

/* Typography */
h1,
h2,
h3 {
    line-height: 1.1;
}

h1 {
    font-size: var(--fs-h1);
}

h2 {
    font-size: var(--fs-h2);
}

h3 {
    font-size: var(--fs-h3);
}

p {
    font-size: var(--fs-h3);
}

a:link {
    color: #00ff00;
}

a:visited {
    color: yellow;
}

a:hover {
    color: red;
}

a:active {
    color: pink;
}