.header {
    height: 780px;
}

.header__content {
    height: calc(100% - 96px);
    overflow: hidden;
}

.header__h1 {
    font-weight: 400;
    font-size: 57px;
    line-height: 72px;
    letter-spacing: -0.25px;
    color: #FFFFFF;
    margin: 136px 0 0;
    width: 472px;
}

.header__computer {
    position: absolute;
    top: 27px;
    left: 118px;
    pointer-events: none;
}

.services,
.contacts  {
    display: grid;
    gap: 24px 32px;
    grid-template-columns: 1fr 1fr;
}

.services {
    grid-auto-rows: 168px;
}

.services .card:last-child {
    grid-column: span 2;
}

.contacts {
    grid-template-rows: 300px 344px;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .header {
        height: 652px;
    }
    
    .header__h1 {
        margin: 112px 0 0;
        font-size: 45px;
        line-height: 60px;
        letter-spacing: 0%;
    }

    .header__computer {
        height: 434px;
        width: 730px;
        top: 58px;
        left: 106px;
    }

    .contacts {
        grid-template-rows: 300px 220px 376px;
    }

    .contacts .card:first-child,
    .contacts .card:nth-child(2)  {
        grid-column: span 2;
    }
}

@media screen and (max-width: 767px) {
    .header {
        height: 652px;
    }

    .header__h1 {
        margin: 24px 0 0;
        font-size: 24px;
        line-height: 36px;
        letter-spacing: 0%;
        text-align: center;
        width: 100%;
    }

    .header__computer {
        height: 334px;
        width: 560px;
        top: 114px;
        left: 50%;
        transform: translateX(calc(-50% + -73px));
    }

    .services,
    .contacts {
        grid-template-columns: 1fr;
    }

    .contacts {
        grid-template-rows: 300px 220px 320px 168px;
    }

    .services .card:last-child {
        grid-column: unset;
    }

    .contacts .card:first-child,
    .contacts .card:nth-child(2)  {
        grid-column: unset;
    }
}