main .block.hero {
    min-height: 360px;
    background-size: cover;
    background-position: center;
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-lg);
    display: flex;
    align-items: center;
}

main .block.hero.hero-large {
    min-height: 524px;
}

main .block.hero .wrapper {
    max-width: var(--page-width-lg);
}

main .block.hero h1 {
    max-width: 560px;
}

main .block.hero h2 {
    max-width: 560px;
}

main .block.hero .desc {
    max-width: 560px;
    margin-top: 16px;
}

main .block.hero .button-container {
    display: flex;
    justify-content: start;
    margin-top: 32px;
    gap: 16px;
}

@media (max-width: 1024px) {
    main .block.hero {
        padding-top: var(--spacing-md);
        padding-bottom: var(--spacing-md);
    }

    main .block.hero h1 {
        max-width: 500px;
    }

    main .block.hero .desc {
        margin-top: 20px;
        max-width: 500px;
    }

    main .block.hero:not(.hero-large) {
        min-height: 0;
    }

    main .block.hero.hero-large {
        min-height: 480px;
    }

    main .block.hero h2 {
        text-wrap: balance;
    }
}

@media (max-width: 600px) {
    main .block.hero .button-container {
        flex-direction: column;
        width: fit-content;
    }

    main .block.hero .button-container a {
        width: 100%;
        justify-content: center;
    }

    main .block.hero.offset {
        background-position: 90% 50%;
    }
}
