#hero {
    min-height: 100vh;
    width: 100vw;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    gap: 10px 5vw;
    padding-bottom: 10px;
    padding-top: unset;
}

#hero .card {
    width: 40svw;
    height: fit-content;
    border-radius: var(--card-border-radius);
    padding: 40px 35px;
    background-color: rgba(0, 0, 0, .05);
}

#hero .card .headline {
    margin-bottom: 10px;
}

#hero .card .headline .title_container {
    min-height: 7.1rem;
    display: flex;
    font-size: 5.5rem;
    background: var(--primary-gradient) no-repeat center text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    overflow-x: auto;
}

#hero .card .title {
    font-size: 6rem;
    white-space: nowrap;
    /* Overwrite default section title style */
    width: unset;
    margin: unset;
}

#hero .card .subtitle {
    font-size: 3.5rem;
    line-height: 3rem;
    color: #d4d4d4;
}

@media (max-width: 1200px) {
    #hero {
        flex-direction: column;
        justify-content: unset;
        padding-top: 20px;
    }

    #hero #main_logo {
        width: clamp(250px, 80vw, 400px);
        height: clamp(250px, 80vw, 400px);
    }

    #hero .card {
        width: 80svw;
        margin: unset;
    }

    #hero .card .headline .title_container {
        min-height: unset;
    }

    #hero .card .headline .title, #hero .card span {
        font-size: clamp(3.7rem, 11vw + 1rem, 6rem);
    }

    #hero .card .headline .subtitle {
        font-size: clamp(2.5rem, 7vw + 1rem, 3.5rem);
    }
}

@media (orientation: landscape) and (max-height: 600px) and (max-width: 1100px) {
    #hero #main_logo {
        width: 200px;
        height: 200px;
    }

    #hero .card .title {
        font-size: 5rem;
    }
}

@media (max-width: 900px) {
    #hero .card {
        padding: 25px 25px;
        width: 95%;
    }
}

#hero .card .action_container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
}

#hero .background {
    overflow: hidden;
}