.hero {
    padding-top: 111px;
    margin-bottom: 21px;
}

.hero__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100%;
    row-gap: 4px;
    column-gap: 8px;
}

.hero__content {
    margin-left: clamp(1.5rem, 0.833rem + 1.39vw, 2.5rem);
    /*padding: clamp(1.25rem, -0.25rem + 3.13vh, 3.5rem) 0;*/
    padding: 56px 0;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /*gap: clamp(2.5rem, -0.833rem + 6.94vh, 7.5rem);*/
}

.hero__content-bottom {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.hero__title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-size: clamp(5.5rem, 2.5rem + 3.33vw, 6.5rem);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--black-1000);
}

.hero__title::before {
    content: "";
    display: block;
    margin-top: -0.14em;
}

.hero__title::after {
    content: "";
    display: block;
    margin-bottom: -0.12em;
}

.hero__desc {
    min-width: 600px;
    width: calc(100% - 30vh);
    max-width: 690px;
    text-align: left;
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 120%;
    letter-spacing: 0;
    text-transform: uppercase;
}

.hero__more .more-link {
    font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
}

.hero__slider {
    width: calc(100% - 8px);
    max-width: 919px;
    height: auto;
    min-height: 55vh;
    max-height: 700px;
    margin-right: 8px;
    border-radius: 10px;
}

.hero__slide {
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 41px;
    padding: 0 40px 62px 32px;

    position: relative;
}

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

.hero__slide * {
    z-index: 10;
}

.hero__slide::before {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 0;
}

.hero .slider__desc {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: 30px;
    max-width: 700px;
    line-height: 110%;
    text-transform: uppercase;
    color: var(--white);
    text-align: left;
}

.hero .hero__slide .slider_more {
    color: var(--white);
    font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
}

.hero .hero__slider .swiper-button-prev,
.hero .hero__slider .swiper-button-next {
    width: 48px;
    height: 48px;
}

.hero .hero__slider .swiper-button-prev, .hero .hero__slider  .swiper-rtl .swiper-button-next {
    left: 15px;
}

.hero .hero__slider  .swiper-button-next, .hero .hero__slider .swiper-rtl .swiper-button-prev {
    right: 15px;
}

.hero .hero__slider .swiper-button-next::after,
.hero .hero__slider .swiper-button-prev::after {
    content: "";
    background: url("../../img/icons/menu-arrow-down.svg"), var(--sun-yellow);
    background-repeat: no-repeat, no-repeat;
    background-position: center center;
    background-size: 18px 30px;
    transform: rotate(-90deg);
    border-radius: 100px;
    width: 48px;
    height: 48px;
    transition: all 300ms ease;
}

.hero .hero__slider .swiper-button-prev::after {
    transform: rotate(90deg);
}

.hero__carousel {
    grid-column-start: span 2;
    width: 100%;
    align-self: start;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-left: 8px;
}

.hero__carousel .swiper-wrapper {
    width: auto;
}

.hero__carousel .swiper-slide {
    width: auto;
    height: auto;
    padding-right: 4px;
}

.hero-carousel-slide {
    width: clamp(27.5rem, 25.958rem + 3.21vw, 29.813rem) !important;
    height: 100%;
    background: var(--sun-yellow);
    border-radius: 10px;
    padding: 32px;
    cursor: pointer;
    transition: all 300ms ease;
}

.hero-carousel-slide:first-child {
}

.hero-carousel-slide:last-child {
    margin-right: 0;
}

.hero-carousel-slide .slide-cities {
    display: flex;
    gap: 2px;
    margin-bottom: 21px;
}

.hero-carousel-slide .slide-cities .hero__city {
    border: 1px solid var(--black-1000);
    border-radius: 100px;
    padding: 8px 10px;

    font-weight: 500;
    font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
    line-height: 100%;
    letter-spacing: -0.02em;
    text-align: center;
}

.hero-carousel-slide .carousel-slide-title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 120%;
    text-transform: uppercase;
    margin-bottom: 9px;
}

.hero-carousel-slide .carousel-slide-desc {
    font-weight: 400;
    font-size: clamp(1.25rem, 1.167rem + 0.17vw, 1.375rem);
    line-height: 130%;
    letter-spacing: -0.03em;
}

.hero .hero-carousel-slide .swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    opacity: 1 !important;
    position: static;
    display: block;
    height: 20px;
    margin-top: 8px;
    cursor: grab;
}

.hero .swiper-scrollbar-drag {
    border-radius: 4px;
    background: var(--black-1000);
    margin: 2px;
    height: calc(100% - 4px);
}

.hero .swiper-scrollbar {
    border-radius: 6px;
    background-color: var(--grey-300);
    width: calc(100% - 8px);
    padding-right: 2px;
    margin: 4px 0;
}

.hero .swiper-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 11px;
}

.hero .hero__slider .swiper-pagination-bullet {
    background-color: transparent;
    border: 1px solid var(--white);
    opacity: 1;
    width: 10px;
    height: 10px;
}

.hero .hero__slider .swiper-pagination-bullet-active {
    background-color: var(--sun-yellow);
    border-color: transparent;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
}

.projects {
    background: url("../../img/main/projects/main.jpg"), var(--black-1000);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    margin: 0 4px;
    margin-bottom: 120px;
    border-radius: 5px;
    transition: all 200ms ease;

    position: relative;
    z-index: 5;
}

.projects__title-top,
.projects__title-bottom {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(4.375rem, 3.542rem + 1.74vw, 5.625rem);
    line-height: 80%;
    text-transform: uppercase;
    color: var(--white);

    grid-column: 7 / -1;
}

.projects__title-top {
    /*margin-top: clamp(7.25rem, 7.083rem + 0.35vw, 7.5rem);*/
    margin-top: 115px;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.projects__title-bottom {
    justify-self: end;
    margin-bottom: 28px;
    margin-right: -3px;
    letter-spacing: -0.01em;
}

.projects__desc {
    font-weight: 400;
    font-size: clamp(1.25rem, 1.167rem + 0.17vw, 1.375rem);
    line-height: 130%;
    letter-spacing: -0.03em;
    color: var(--white);
    padding: 0;
    margin-left: -8px;
    text-align: left;

    max-width: 555px;
    grid-column: 8 / -1;
    justify-self: center;
    margin-bottom: 154px;
}

.projects__items {
    grid-column: span 12;

    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: end;
    gap: 8px;

    margin-bottom: 40px;
}

.projects__item {
    border-radius: 10px;
    background: var(--white);
    background-size: 80%;
    padding: 32px;
    padding-top: 24px;
    cursor: pointer;

    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    grid-column: span 4;

    transition: all 300ms ease;
}

.projects__item:first-child {
    min-height: 240px;
}

.projects__item:nth-child(2) {
    min-height: 282px;
}

.projects__item:last-child {
    min-height: 324px;
}

.projects__item_title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(2rem, 1.667rem + 0.69vw, 2.5rem);
    line-height: 110%;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--black-1000);
    max-width: 505px;
    text-align: left;
}

.projects__item_desc {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;

    font-weight: 400;
    font-size: 18px;
    line-height: 130%;
    letter-spacing: -0.02em;
    vertical-align: bottom;
}

.projects__item_point {
    padding-left: 30px;
    position: relative;
}

.projects__item_point::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    width: 20px;
    background: var(--black-1000);
    top: 12px;
    left: 0;
}

.hover-text {
    position: absolute;
    font-weight: 500;
    font-size: 14px;
    line-height: 120%;
    color: var(--black-1000);
    text-align: center;
    display: none;
    transition: all 300ms ease;
}

.projects.hover-1 {
    background-image: url("../../img/main/projects/hover-1.png");
}

.projects.hover-2 {
    background-image: url("../../img/main/projects/hover-2.png");
}

.projects.hover-3 {
    background-image: url("../../img/main/projects/hover-3.png");
}

.how-help {
    margin-bottom: 120px;
}

.how-help__title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(4.375rem, 3.542rem + 1.74vw, 5.625rem);
    line-height: 100%;
    letter-spacing: -0.01em;
    text-align: center;
    text-transform: uppercase;

    grid-column: 1 / -1;
    justify-self: center;
    max-width: clamp(45rem, 33.333rem + 24.31vw, 62.5rem);
    margin-bottom: 30px;
}

.how-help__title::before {
    content: "";
    display: block;
    margin-top: -0.14em;
}

.how-help__title::after {
    content: "";
    display: block;
    margin-bottom: -0.12em;
}

.how-help__desc {
    font-weight: 400;
    font-size: clamp(1.25rem, 1.167rem + 0.17vw, 1.375rem);
    line-height: 130%;
    text-align: center;
    letter-spacing: -0.03em;

    grid-column: 1 / -1;
    justify-self: center;
    max-width: 700px;
    margin-bottom: 54px;
}

.how-help__cards {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
}

.how-help__card {
    grid-column: span 6;
    padding: clamp(2rem, 1.667rem + 0.69vw, 2.5rem);
    padding-top: 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 10px;
    background: var(--sun-yellow);
    min-height: 28vh;
    cursor: pointer;
    transition: all 300ms ease;
}

.how-help__card__title {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.how-help__card__title img {
    display: block;
    padding-right: 7px;
    margin-top: 9px;
    align-self: start;
    height: 100%;
    max-height: 30px;
}

.how-help__card__title h3 {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 110.00000000000001%;
    text-transform: uppercase;
    text-align: left;
}

.how-help__card_desc {
    font-weight: 400;
    font-size: clamp(1.25rem, 1.167rem + 0.17vw, 1.375rem);
    line-height: 130%;
    letter-spacing: -0.028em;
    text-align: left;
}

.people {
    margin-bottom: 120px;
}

.people__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.people__title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(4.375rem, 3.542rem + 1.74vw, 5.625rem);
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -0.01em;

    justify-self: center;
    margin-bottom: 40px;
}

.people__title::before {
    content: "";
    display: block;
    margin-top: -0.14em;
}

.people__title::after {
    content: "";
    display: block;
    margin-bottom: -0.12em;
}

.people__desc {
    font-weight: 400;
    font-size: clamp(1.25rem, 1.167rem + 0.17vw, 1.375rem);
    line-height: 130%;
    text-align: center;
    letter-spacing: -0.03em;

    justify-self: center;
    max-width: 690px;
    margin-bottom: 65px;
}

.people__buttons {
    justify-self: center;
    display: flex;
    gap: 10px;
}

.people__buttons button {
    font-size: 18px;
    padding: 19px 42px;
    letter-spacing: 0.01em;
}

.people__buttons button.btn-simple {
    padding: 19px 39px;
    letter-spacing: -0.01em;
}

.people__photo-bottom,
.people__photo-top {
    position: relative;
    width: 100%;
    overflow: hidden;

    grid-column: 1 / -1;
}

.people__photo-top {
    height: clamp(35rem, 29.583rem + 11.28vw, 43rem);
}

.people__photo-bottom {
    height: clamp(31.125rem, 29.375rem + 3.65vw, 33.75rem);
}

.people .img-container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
    height: 100%;
}

.people__photo {
    width: clamp(10.75rem, 9.583rem + 2.43vw, 12.5rem);
    height: clamp(10.75rem, 9.583rem + 2.43vw, 12.5rem);
    object-fit: cover;
    overflow: hidden;
    display: inline-block;
    position: absolute;
    cursor: pointer;
}

.people__photo img {
    transition: all 300ms ease;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.people__photo[data-photo-id="1"] {
    left: 118px;
    top: 120px;
}

.people__photo[data-photo-id="2"] {
    left: 209px;
    top: 368px;
}

.people__photo[data-photo-id="3"] {
    left: 382px;
    top: -3px;
}

.people__photo[data-photo-id="4"] {
    left: 484px;
    top: 168px;
}

.people__photo[data-photo-id="5"] {
    left: 803px;
    top: 318px;
}

.people__photo[data-photo-id="6"] {
    left: 859px;
    top: 68px;
}

.people__photo[data-photo-id="7"] {
    left: 1153px;
    top: 247px;
}

.people__photo[data-photo-id="8"] {
    left: 1284px;
    top: 99px;
}

.people__photo[data-photo-id="9"] {
    left: 1519px;
    top: 368px;
}

.people__photo[data-photo-id="10"] {
    left: 1601px;
    top: -2px;
}

.people__photo[data-photo-id="11"] {
    left: 79px;
    top: 21px;
}

.people__photo[data-photo-id="12"] {
    left: 164px;
    top: 291px;
}

.people__photo[data-photo-id="13"] {
    left: 352px;
    top: 220px;
}

.people__photo[data-photo-id="14"] {
    left: 661px;
    top: 340px;
}

.people__photo[data-photo-id="15"] {
    left: 783px;
    top: 160px;
}

.people__photo[data-photo-id="16"] {
    left: 953px;
    top: 250px;
}

.people__photo[data-photo-id="17"] {
    left: 1243px;
    top: 190px;
}

.people__photo[data-photo-id="18"] {
    left: 1353px;
    top: 330px;
}

.people__photo[data-photo-id="19"] {
    left: 1555px;
    top: 0;
}

.people__photo[data-photo-id="20"] {
    left: 1640px;
    top: 261px;
}

.statistic {
    margin-bottom: 120px;
}

.statistic__title {
    grid-column: 1 / -1;
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(4.375rem, 3.542rem + 1.74vw, 5.625rem);
    line-height: 100%;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    text-align: left;
    /*margin-bottom: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);*/
    margin-bottom: 68px;
}

.statistic__title::before {
    content: "";
    display: block;
    margin-top: -0.14em;
}

.statistic__title::after {
    content: "";
    display: block;
    margin-bottom: -0.12em;
}

.statistic__left {
    grid-column: span 6;
    justify-self: start;
    align-self: end;
}

.statistic__desc {
    max-width: 510px;
    font-weight: 400;
    font-size: clamp(1.25rem, 1.167rem + 0.17vw, 1.375rem);
    line-height: 132%;
    letter-spacing: -0.03em;
    text-align: left;
}

.statistic__right {
    grid-column: span 6;
}

.statistic__list {
    display: flex;
    flex-direction: column;
}

.statistic__item {
    /*padding: clamp(2.563rem, 2.188rem + 0.78vw, 3.125rem) 0;*/
    padding: 48px 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    align-items: end;
    border-top: 1px solid #000;
}

.statistic__item:last-child {
    border-bottom: 1px solid #000;
}

.statistic__item .item-count {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(4.375rem, 2.958rem + 2.95vw, 6.5rem);
    line-height: 100%;
    letter-spacing: -0.01em;
    text-transform: uppercase;

    grid-column: span 2;
}

.statistic__item .item-count::before {
    content: "";
    display: block;
    margin-top: -0.14em;
}

.statistic__item .item-count::after {
    content: "";
    display: block;
    margin-bottom: -0.12em;
}

.statistic__item .item-desc {
    font-size: clamp(1.25rem, 1rem + 0.52vw, 1.625rem);
    line-height: 115%;
    letter-spacing: -0.025em;
    margin-left: 2px;
    max-width: 256px;
    grid-column: span 2;
    text-align: left;
}
.statistic__item .item-link {
    grid-column: span 2;
    justify-self: end;
    font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
    text-align: end;
    text-underline-offset: 3px;
}

.news {
    background-color: #f2f2f2;
    padding-top: 125px;
    padding-bottom: 120px;
}

.news__title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(4.375rem, 3.542rem + 1.74vw, 5.625rem);
    line-height: 100%;
    letter-spacing: -0.01em;
    text-align: center;
    text-transform: uppercase;

    grid-column: 1 / -1;
    justify-self: center;
    /*margin-bottom: 60px;*/
    margin-bottom: 49px;
    max-width: clamp(43.125rem, 30.208rem + 26.91vw, 62.5rem);
}

.news__title::before {
    content: "";
    display: block;
    margin-top: -0.14em;
}

.news__title::after {
    content: "";
    display: block;
    margin-bottom: -0.12em;
}


.news-container {
    min-height: 720px;
}

.news__left, .news__middle, .news__right  {
    height: 100%;
}

.news__left .news__card, .news__right .news__card {
    height: 100%;
}

.news__middle {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.news__middle .news__card {
    height: 100%;
}

.news-container {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.news__card {
    background: var(--white);
    border-radius: 10px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    padding-bottom: 30px;
}

.news__card-link {
    margin-top: auto;
    font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
}

.news__card .news-img {
    border-radius: 6px;
    margin-bottom: 32px;
    display: block;
    width: 100%;
    object-fit: cover;
    max-height: 332px;
}

.news__card-date {
    font-weight: 500;
    font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
    line-height: 100%;
    letter-spacing: -0.02em;
    color: var(--grey-600);
    margin-bottom: 26px;
}

.news__card-title {
    font-family: "Nochlezhka", "Nunito Sans", sans-serif;
    font-size: 30px;
    line-height: 120%;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 15px;
    max-width: 465px;
    text-align: left;
}


.news__card.link-card {
    background-color: var(--sun-yellow);
    min-height: 338px;
    transition: all 300ms ease;
}

.news__card.link-card img {
    display: block;
    max-width: 33px;
    max-height: 37px;
    padding-right: 8px;
}

.news__card.link-card a {
    height: 100%;
    display: flex;
    justify-content: space-between;
}

@media (hover: hover) {
    .hero .hero__slider .swiper-button-next:hover::after,
    .hero .hero__slider .swiper-button-prev:hover::after {
        background: url("../../img/icons/menu-arrow-down.svg"), var(--green);
        background-repeat: no-repeat, no-repeat;
        background-position: center center;
        background-size: 18px 30px;
    }

    .hero-carousel-slide:hover {
        background: var(--green);
    }

    .news__card.link-card:hover {
        background-color: var(--green);
    }

    .projects__item:hover {
        background-color: var(--sun-yellow);
    }

    .how-help__card:hover {
        background: var(--green);
    }

    .people__photo img:hover {
        transform: scale(1.05);
    }
}
