.hero {
    margin-top: var(--topnav-h);
    width: 100%;
    height: var(--hero-h);
    overflow: hidden;
    position: relative;
    background-color: var(--root);
    border-top: 5px var(--root) solid;
    border-bottom: 5px var(--root) solid;
}

.hero-filter {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 100%;
    background-color: #000b;
    display: flex;
    gap: 10px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--strong);

    transition: 1s cubic-bezier(.67,.21,.01,.99);
    opacity: 1;
    transform: translateY(0)
}

.hero-filter.hidden {
    transition-duration: 0s;
    opacity: 0;
    transform: translateY(100%);
}

.hero-filter span {
    font-size: var(--h1);
    font-family: title, sans-serif;
    text-shadow: 0 3px 0 #000;
}

.hero-img {
    position: absolute;
    max-width: var(--max-w);
    width: 100%;
    height: var(--hero-h);
}

.hero-img  img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: 1s cubic-bezier(.67,.21,.01,.99);
    opacity: 1;
    transform: translateY(0)
}

.hero-img img.hidden {
    transition-duration: 0s;
    opacity: 0;
    transform: translateY(-50%);
}

@media screen and (max-width: 650px) {
    :root {
        --hero-h: 200px
    }

    .hero-filter {
        gap: 5px;
        width: 60%;
        background-color: #0007;
    }

    .hero-filter span {
        font-size: var(--h1-5);
    }
}

@media screen and (max-width: 280px) {
    :root {
        --hero-h: 100px;
    }
    .hero-filter {
        display: none;
    }
}