:root {
    --small-factor: calc(1/1.618);
    --title-size: 8rem;
    --small-title-size: calc(var(--small-factor) * var(--title-size));
}

html {
    font-family: "Quicksand", sans-serif;
    font-optical-sizing: auto;
}

* {
    margin: 0;
}

.hero {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100vw;
}

.hero p {
    position: absolute;
    bottom: 20px;
    font-weight: 300;
    font-size: 1rem;
}

h1 {
    background: #5adecd;
    background: linear-gradient(-45deg, #41b0ff, #8897F4, #00d3e5, #5adecd);
    background-size: 400% 400%;
    animation: gradient 5s ease infinite;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 400;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

h1 > span {
    font-size: var(--title-size);
}

h1 > span:nth-child(2) {
    font-size: var(--small-title-size);
}

body {
    color: rgb(240, 240, 240);
    background: #0d0e12;
}