html {
    background-color: black;
}

h2, h3, h4, h5, h6, p {
    position: relative;
    z-index: 2;
}

body {
    background-color: black;

    width: 100vw;
}

.full-width {
    overflow-x: scroll;
    scroll-snap-type: inline;
}

.scroll-stop {
    scroll-snap-stop: always;
    scroll-snap-align: center;
}

panel {
    display: flex;
    flex-direction: column;
}



header {
    position: sticky;
    top: 0;
    z-index: 1000;

    &.initially-hidden {
        margin-top: -105px;
    }
}


#hero {
    height: 101vh;
    background-color: black;
    will-change: transform;
    overflow-x: clip;

    > div, > flex {
        flex: 50vw;
    }

    > flex {
        flex-direction: column;
    }

    #logo-container {
        align-self: center;
    }

    #logo {
        width: 300px;
        justify-self: center;
        position: relative;
    }

    #photography {
        position: absolute;
        height: 225vh;
        left: 40%;
        object-fit: cover;
        width: 100%;
        top: 0px;
        z-index: 1;
        opacity: 0.7;
        rotate: 15deg;
    }

    .header-content {
        height: 100%;

        > p {
            z-index: 1;
            position: relative;
            color: white;
            margin-bottom: 3rem;
        }

        flex.pre-nav {
            margin-top: 20px;
        }
    }

}


flex.pre-nav {
    z-index: 1;
    width: 90%;
    gap: 3rem;

    a {
        color: white;
    }

    button {
        background-color: transparent;
        border: 3px solid white;
        color: white;
        padding-inline: 30px;

        &:hover {
            border-style: solid;
        }

        &:active {
            border-style: inset;
        }
    }
}


#features {

    grid {
        position: relative;
        z-index: 10;
        background-color: white;
        border-radius: 50px;
        gap: 20px;
        box-shadow: 0px 0px 30px #9c9c9c85;
    }

    img {
        width: 110%;
        margin-left: -60px;
    }

}


#cta {

    panel {

    }

    .ui-support {
        z-index: 2;
        background-color: #292929EE;
        color: white;
        border-radius: 25px;
        border: 3px outset black;
        box-shadow: 0px 0px 30px #9c9c9c85;
    }

    .ui-packages {
        gap: 20px;
        padding-inline: var(--page-gutter);

        > panel {
            background-color: white;
            border: 3px outset white;
            border-radius: 20px;
            min-width: 18em;
            padding: 2em;
            height: 24em;
            overflow-y: auto;
            box-shadow: 0px 0px 30px #9c9c9c85;

            ul {
                margin-left: -1.5em;
                line-height: 1.1;
            }

            p {
                font-size: 1.4em;
            }

            button {
                margin-top: auto;
            }
        }
    }
}


img#satellite-flyby {
    position: absolute;
    width: 50vw;
    max-width: 750px;
    margin-top: -20em;
    margin-left: -50vw;
    z-index: 1;
    pointer-events: none;
    will-change: transform;
}


