* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
}

.site-body {
    font-size: 62.5%;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 1.4;
    letter-spacing: .07rem;
    color: #fff;
    text-align: center;
    height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: #a29c92;
    background-image: url(https://bolia.agilliccdn.com/bgeuab/MjAyNjA4/MTI=/ZGIwMzVlMmEtNjE2ZS00MjE5LWEzN2MtYTRmNTFmNjlmZjdi.jpg);
    background-size: cover;
    background-position: center center;
}

.site-header {
    display: inline-block;
    margin: 2.5rem auto 0 auto;
    font-size: 5rem;

    img {
        display: block;
    }
}

.site-main {
    width: 90%;
    max-width: 47rem;
    position: absolute;
    min-height: 90px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    translate: -50% -50%;
    z-index: 3;
    transition: top .5s ease;

    div {
        text-shadow: rgb(0 0 0 / 75%) 0 0 20px;
        display: flex;
        flex-direction: column;
        margin: auto 2rem auto;

    }

    h1 {
        color: #fff;
        margin: 0 -1rem 3rem -1rem;
        font-size: calc(2.4rem * 1.3);
        font-weight: 400;
        line-height: 1;
        white-space: pre-line;
    }

    p {
        text-align: center;
        font-size: 1.4rem;
        font-weight: 400;
        color: #fff;
        margin-block-start: -1rem;
        margin-block-end: 4rem;
    }

    a {
        box-shadow: 0 0 40px 5px rgb(0 0 0 / 10%);
        background: rgb(0 0 0 / 3%);
        border: 1px solid #fff;
        color: #fff;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: center;
        text-decoration: none;
        overflow: hidden;
        padding: 1rem 1.5rem;
        user-select: none;
        vertical-align: middle;
        display: inline-block;
        min-height: 39px;
        line-height: 1.15;
        transition: all .2s;
        font-size: 1.5rem;
        margin-inline: auto;
        margin-block-start: 2rem;
    }
}

.site-footer {
    flex-wrap: wrap;
    flex-direction: column;
    margin: auto auto 3rem auto;
    text-shadow: rgb(0 0 0 / 75%) 0 0 20px;
    display: none;

    a {
        color: #fff;
        text-decoration: none;
        font-size: 1.6rem;
        padding-block-end: .5rem;
        position: relative;
        overflow: hidden;

        &::after {
            content: "";
            position: absolute;
            z-index: 1;
            inset-inline-start: 0;
            inset-block-end: 0;
            width: 100%;
            height: 1px;
            background-color: #fff;
            transition: width ease .3s;
        }

        &:hover::after {
            inset-inline-start: 0;
            width: 0;
            transition: width ease .3s;
        }
    }
}

@media (min-width: 600px) {
    .site-main {
        div {
            margin: auto 1rem auto;
        }

        p {
            font-size: 1.3rem;
            line-height: 1.5;
        }

        a {
            width: 50%;
        }
    }

    .site-footer {
        display: flex;
    }
}

@media (min-width: 960px) {
    .site-main {
        div {
            margin: 20rem auto;
            width: 40rem;
        }

        h1 {
            margin-inline: -11rem;
        }

        p {
            font-size: 1.6rem;
        }

        a {
            width: 100%;
        }
    }

    .site-footer {
        flex-direction: row;

        a {
            margin: 0 3.6rem 5rem;
        }
    }
}

@media (min-width: 1400px) {
    .site-main {
        h1 {
            font-size: calc(2.7rem * 1.3);
        }
    }
}
