@media screen and (max-width: 1199px) {

    .container {
        max-width: 970px; 
    }

    .site-header {
        left: 24px;
        right: 24px;
    }

    .header__nav {
        gap: 20px;
    }

    .hero__inner {
        grid-template-columns: minmax(0, 1fr) 430px;
        gap: 50px;
    }

    .hero__worker {
        right: -140px;
        opacity: .82;
    }

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

    .prices__inner {
        grid-template-columns: minmax(0, 1fr) 330px;
    }

    .price-row b {
        font-size: 34px;
    }

    .service-card:nth-child(2):after {
        display: none;
    }

}

@media screen and (max-width: 991px) {

    .container {
        max-width: 740px;
    }

    h1 {
        font-size: 58px;
    }

    h2 {
        font-size: 50px;
    }

    .site-header {
        position: absolute;
        flex-wrap: wrap;
    }

    .header__nav {
        order: 3;
        width: 100%;
    }

    .hero {
        min-height: auto;
        padding: 185px 0 80px;
    }

    .hero__inner,
    .prices__inner,
    .section-head {
        grid-template-columns: 1fr;
    }

    .hero__content .eyebrow {
        margin-bottom: 140px;
    }

    .hero__worker {
        width: 360px;
        top: 250px;
        right: 10px;
    }

    .quote-form {
        max-width: 560px;
    }

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

    .portfolio-modal__media {
        height: 360px;
    }

    .prices__image {
        max-width: 360px;
        margin: 0 auto;
    }

    .prices__cta {
        align-items: flex-start;
        flex-direction: column;
    }

}

@media screen and (max-width: 767px) {

    .container {
        max-width: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }

    .section {
        padding: 60px 0;
    }

    h1 {
        font-size: 42px;
    }

    h2 {
        font-size: 38px;
    }

    .label {
        min-height: 23px;
        padding: 0 12px;
        font-size: 12px;
    }

    .site-header {
        top: 22px;
        left: 10px;
        right: 10px;
        align-items: center;
    }

    .logo {
        font-size: 38px;
    }

    .header__logo p,
    .header__nav {
        display: none;
    }

    .header__phone {
        min-height: 32px;
        padding: 0 10px;
        font-size: 11px;
    }

    .hero {
        padding-top: 112px;
    }

    .hero__content .eyebrow {
        margin-bottom: 145px;
    }

    .hero__worker {
        width: 260px;
        top: 140px;
        right: -35px;
    }

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 36px;
    }

    .hero__text {
        font-size: 14px;
    }

    .quote-form {
        padding: 24px 16px;
    }

    .quote-form p {
        text-align: left;
    }

    .services__grid,
    .benefits__grid,
    .stats,
    .portfolio__grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        min-height: auto;
    }

    .portfolio-card,
    .portfolio-card--tall {
        grid-row: auto;
        min-height: 250px;
    }

    .portfolio-modal {
        padding: 16px;
    }

    .portfolio-modal__media {
        height: 240px;
    }

    .portfolio-modal__body {
        padding: 24px 18px;
    }

    .portfolio-modal h3 {
        font-size: 30px;
    }

    .stats div {
        min-height: auto;
        padding: 28px 24px;
    }

    .benefits__grid article {
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid rgba(140, 138, 129, .25);
    }

    .benefits__grid article:last-child {
        border-bottom: none;
    }

    .price-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .price-row b {
        font-size: 32px;
        white-space: normal;
    }

    .prices__cta {
        padding: 28px 18px;
    }

    .footer__inner,
    .footer__bottom {
        flex-direction: column;
    }

    .footer__inner > div:last-child {
        text-align: left;
    }

    
    .service-card:nth-child(2):after {
        display: block;
    }

    .service-card::after { 
        top: auto;
        right: auto;
        bottom: 0;
        left: 0; 
        width: 100%;
        height: 1px;
    }

    .section-head { 
        margin-bottom: 30px;
    }
}
