.hero {
    position: relative;
    width: 100%;
    height: 100vh;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
    overflow: hidden;

    background-color: var(--bg);
    color: var(--txt);
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-bg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-bg .circles {
    position: absolute;
    top: 0;
    left: 0;
}

.circles div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50vw;
    max-width: calc(var(--max-w) / 2);
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: .4;
}

.hero-bg .circles div#circle-1 {
    transform: translate(-20%, calc(-4.3vh - 50%)) scale(1);
    background-color: hsl(var(--fg-3-h), 60%, 70%);
}

.hero-bg .circles div#circle-2 {
    transform: translate(120%, calc(104.5vh - 50%)) scale(1);
    background-color: hsl(var(--fg-3-h), 0%, 100%);
}

.hero-bg-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--fg-3);
    opacity: .7;
}

.hero-cover {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 148px;
    transform: translate(-50%, -50%);
    padding: 0 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    /* -webkit-text-stroke: .5px var(--root);
    paint-order: stroke fill; */
    filter: drop-shadow(0 0 30px var(--bg))
}

.hero-cover .foot.cool-thing {
    opacity: 1;
    transform: perspective(300px) rotateX(0) scale(1);
    transition: 1s cubic-bezier(.9, 0, .1, 1);
}

.hero-cover .foot.cool-thing.hidden {
    opacity: 0;
    transform: perspective(300px) rotateX(30deg) rotateY(30deg) scale(.8);
    transition-duration: 0s;
}

.hero-cover img {
    position: relative;
    width: 200px;
}

.hero-cover svg {
    position: relative;
    height: 130px;
    fill: var(--txt);
}

#scroll-down {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: -65px;
    left: 15vw;
    width: 130px;
    height: 130px;
    background-color: #fff;
    padding: 45px;
    transform: translateX(-50%);
    border-radius: 50%;
    cursor: pointer;
    transition: .2s cubic-bezier(.7, 0, .3, 1);
}

#scroll-down svg {
    transform: translateY(-90%);
    animation: scroll-bob .7s infinite cubic-bezier(.8, 0, .2, 1);
}

#scroll-down:hover {
    transform: translate(-50%, -10%);
}

@keyframes scroll-bob {
    0% {transform: translateY(-90%)}
    50% {transform: translateY(-120%)}
    100% {transform: translateY(-90%)}
}