* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: "Barlow-Regular";
    src: url("assets/fonts/Barlow-Regular.ttf");
}

@font-face {
    font-family: "BarlowCondensed-Regular";
    src: url("assets/fonts/BarlowCondensed-Regular.ttf");
}

@font-face {
    font-family: "BarlowCondensed-Bold";
    src: url("assets/fonts/BarlowCondensed-Bold.ttf");
}

:root {
    --Red: hsl(0, 100%, 68%);
    --Very-Dark-Blue: hsl(230, 29%, 20%);
    --Dark-Grayish-Blue: hsl(230, 11%, 40%);
    --Grayish-Blue: hsl(231, 7%, 65%);
    --Light-Grayish-Blue: hsl(207, 33%, 95%);

    --Barlow-400: "Barlow-Regular";
    --BarlowCondensed-400: "BarlowCondensed-Regular";
    --BarlowCondensed-700: "BarlowCondensed-Bold";
}

body {
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    overflow: hidden;
}

header {
    width: min(100%, 630px);
    display: grid;
    padding-inline: 2rem;
    padding-block-start: 2rem;
    gap: 4rem;

    nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 1.5rem;
        position: relative;
        z-index: 1;
        width: 100%;

        .logo {
            height: 100%;
        }

        ul {
            position: absolute;
            list-style: none;
            display: none;
            justify-content: center;
            gap: 1.25rem;
            width: 100%;
            top: 3.5rem;
            background-color: white;
            padding: 1.5rem;
            box-shadow: 0px 0px 10px rgb(194, 204, 214);
            border-radius: 0.25rem;

            li {
                text-align: center;
                width: 100%;

                a {
                    text-decoration: none;
                    font-family: var(--BarlowCondensed-700);
                    color: var(--Very-Dark-Blue);
                    text-transform: uppercase;
                    font-size: 1.25rem;
                    letter-spacing: 0.05rem;
                }
            }

            li[data-state="active"] {

                a {
                    color: var(--Grayish-Blue);
                }
            }
        }

        .menu:hover {
            cursor: pointer;
        }
    }

    .illustration-devices {
        width: 100%;
        /* transform: translateX(-1.42rem); */
    }

    .gray-ground {
        background-color: var(--Light-Grayish-Blue);
        height: 27rem;
        width: 50%;
        z-index: -1;
        position: absolute;
        margin-top: -2rem;
        right: 0;
        border-bottom-left-radius: 3rem;
    }
}

main {
    width: min(100%, 630px);
    padding: 2rem;
    color: var(--Very-Dark-Blue);
    display: grid;
    gap: 2rem;

    .logo {
        display: none;
    }

    .description {
        display: grid;
        gap: 1rem;

        .p1 {
            text-transform: uppercase;
            font-family: var(--BarlowCondensed-400);
            color: var(--Grayish-Blue);
            letter-spacing: 0.25rem;

            strong {
                background-color: var(--Very-Dark-Blue);
                color: white;
                letter-spacing: 0.1rem;
                margin-right: 0.9rem;
                padding: 0.2rem 0.65rem;
                border-radius: 1rem;
            }
        }

        h1 {
            font-family: var(--BarlowCondensed-700);
            text-transform: uppercase;
            font-size: 2.5rem;
            line-height: 1;
        }

        .p2 {
            font-family: var(--Barlow-400);
            font-size: 1.2rem;
            color: var(--Dark-Grayish-Blue);
        }
    }

    .demo {
        display: grid;
        grid-template-columns: repeat(2, 1fr);

        button {
            padding-block: 0.5rem;
            font-family: var(--BarlowCondensed-700);
            color: white;
            background-color: var(--Red);
            border: none;
            border-radius: 0.25rem;
            text-transform: uppercase;
            letter-spacing: 0.1rem;
        }

        p {
            text-transform: uppercase;
            font-size: 0.9rem;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: var(--BarlowCondensed-400);
            letter-spacing: 0.05rem;
            color: var(--Grayish-Blue);
        }
    }
}

@media  screen and (min-width: 1150px) {
    body {
        all: unset;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding-block: 2rem;
        padding-inline: 8rem;
        overflow: hidden;
    }

    header {
        grid-column: 2/-1;

        .logo {
            display: none;
        }

        .menu {
            display: none;
        }

        nav {
            ul {
                all: unset;
                width: 100%;
                list-style: none;
                display: flex;
                justify-content: space-between;  

                li a:hover {
                    text-decoration: underline;
                    text-decoration-thickness: 2px;
                }

                li[data-state="active"] a:hover {
                    text-decoration-color: var(--Grayish-Blue);
                }
            }
        }

        .gray-ground {
            position: absolute;
            z-index: -2;
            top: 0;
        }

        .illustration-devices {
            position: absolute;
            z-index: -1;
            width: 70%;
            top: 10rem;
            right: -18rem;
        }
    }

    main {
        grid-column: 1/2;
        grid-row: 1;
        display: grid;
        gap: 8rem;

        .logo {
            display: block;
        }

        .description {
            h1 {
                font-size: 4rem;
            }

            .p2 {
                font-size: 2rem;
            }
        }

        .demo:hover {

            button {
                cursor: pointer;
                opacity: 0.8;
            }
        }
    }
}