.hero {
    position: relative;
    padding-top: 120px;
}

.hero__img,
.hero__gradient {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.hero__img {
    object-fit: cover;
    z-index: -2;
}

.hero__gradient {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 300px);
    z-index: -1;
}

.hero__container {
    display: grid;
    gap: 24px;
}

.hero__heading {
    display: grid;
    gap: 24px;
    text-align: center;
}

.hero__title {
    max-width: 700px;
    margin: 0 auto;
}

.hero__subtitle {
    font: 400 16px/1.25 var(--font-montserrat);
    max-width: 640px;
    margin: 0 auto;
}

.hero__content {
    display: grid;
    gap: 24px;
    max-width: 900px;
    background: var(--color-white);
    padding: 16px;
    margin: 0 -16px;
}

.hero__countries {
    display: grid;
    gap: 24px;
}

.hero__countries-list {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
}

.hero__country {
    font: 400 14px/1 var(--font-montserrat);
    color: var(--color-black);
    background: var(--color-grey);
    padding: 8px 12px;
    border-radius: 100px;
}

.hero__benefits {
    display: flex;
}

.hero__benefit {
    font: 400 12px/1 var(--font-montserrat);
    padding: 8px;
    border-right: 1px solid var(--color-green);
}

.hero__benefit:first-child {
    padding-left: 0;
}

.hero__benefit:last-child {
    border-right: none;
    padding-right: 0;
}

.hero__divider {
    height: 2px;
    border-bottom: none;
    background-image: repeating-linear-gradient(
            to right,
            var(--color-grey) 0 5px, /* dužina crtice */ transparent 5px 10px /* razmak */
    );
    background-position: left bottom;
    background-size: auto 2px;
    background-repeat: repeat-x;
    opacity: 0.6;
}

.hero__form {
    display: grid;
    gap: 16px;
}

.hero__form-field {
    display: grid;
}

.hero__btn {
    width: 100%;
}

.steps {
    margin: 100px 0;
}

.steps__container {
    display: grid;
    gap: 24px;
}

.steps__title {
    text-align: center;
    max-width: 400px;
    margin: 0 auto;
}

.steps__list {
    display: grid;
    gap: 24px;
}

.steps__item {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 3/4;
    display: flex;
    align-items: flex-start;
    background: var(--color-green-light);
    border-radius: 32px;
    padding: 40px 24px;
}


.steps__item--2 {
    align-items: flex-end;
}

.steps__item--2 .steps__item-text {
    max-width: initial;
}

.steps__item-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom;
    z-index: 1;
}

.steps__item-number {
    position: absolute;
    top: 12px;
    right: 12px;
    font: 700 140px/1 var(--font-montserrat);
    color: var(--color-green);
    opacity: 0.1;
    z-index: 2;
}

.steps__item-text {
    position: relative;
    display: grid;
    gap: 12px;
    max-width: 275px;
    z-index: 3;
}

.steps__item-description {
    font: 400 18px/1.25 var(--font-montserrat);
}

.blog {
    background: var(--color-green-light);
    padding: 80px 0;
}

.blog__title {
    text-align: center;
    margin-bottom: 24px;
}

.blog__list {
    display: grid;
    gap: 24px;
}

.blog__btn {
    margin: 24px auto 0;
}

@media only screen and (min-width: 768px) {
    .hero {
        padding-top: 180px;
    }

    .hero__container {
        gap: 120px;
    }

    .hero__gradient {
        background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 180px, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 1) 100%);
    }

    .hero__content {
        grid-template-columns: 1fr auto 1fr;
        align-items: flex-start;
        gap: 40px;
        border-radius: 32px 32px 0 0;
        padding: 40px;
        margin: 0 auto;
    }

    .hero__benefits {
        margin-top: 48px;
    }

    .hero__divider {
        width: 2px;
        height: 100%;
        background-image: repeating-linear-gradient(
                to bottom,
                var(--color-grey) 0 5px, /* dužina crtice */ transparent 5px 10px /* razmak */
        );
        background-size: 2px auto;
        background-repeat: repeat-y;
    }

    .steps__container {
        gap: 56px;
    }

    .steps__list {
        display: flex;
        flex-flow: row wrap;
        align-items: flex-start;
        justify-content: center;
    }

    .steps__item {
        width: calc(50% - 12px);
    }

    .blog__title {
        margin-bottom: 56px;
    }

    .blog__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (min-width: 1280px) {
    .steps__item {
        width: calc(33.333% - 16px);
        padding: 40px;
    }

    .blog__list {
        grid-template-columns: repeat(3, 1fr);
    }
}