/* Services hero refinement: keeps the full introduction visible on common laptop screens. */
.service-hero__grid {
    grid-template-columns: 1fr 1.08fr;
    min-height: 680px;
}

.service-hero__content {
    padding: 55px clamp(38px, 4.5vw, 72px) 55px 0;
}

.service-hero h1 {
    margin: 22px 0 24px;
    font-size: clamp(58px, 6.2vw, 88px);
    line-height: .9;
    letter-spacing: -.047em;
}

.service-hero h1 > span {
    display: block;
    white-space: nowrap;
}

.service-hero__actions {
    margin-top: 28px;
}

.service-hero__assurance {
    margin-top: 28px;
    padding-top: 20px;
}

.service-hero__visual {
    min-height: 680px;
    border-radius: 72px 0 0;
}

.service-hero__visual > img {
    object-position: 54% center;
}

@media (max-width: 1199px) {
    .service-hero__grid {
        grid-template-columns: 1fr 1fr;
        min-height: 640px;
    }

    .service-hero__content {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .service-hero h1 {
        font-size: clamp(54px, 6vw, 72px);
    }

    .service-hero__visual {
        min-height: 640px;
    }
}

@media (max-width: 991px) {
    .service-hero__grid {
        grid-template-columns: 1fr;
    }

    .service-hero__content {
        min-height: auto;
        padding: 72px 0;
    }

    .service-hero__visual {
        min-height: 560px;
    }
}

@media (max-width: 767px) {
    .service-hero__content {
        padding: 65px 0 58px;
    }

    .service-hero h1 {
        font-size: clamp(48px, 14vw, 68px);
    }

    .service-hero h1 > span {
        white-space: normal;
    }

    .service-hero__visual {
        min-height: 480px;
        border-radius: 48px 0 0;
    }

    .service-hero__badge {
        top: 24px;
        right: 22px;
        width: 112px;
        height: 112px;
    }

    .service-hero__badge strong {
        font-size: 21px;
    }
}

@media (max-width: 420px) {
    .service-hero h1 {
        font-size: clamp(44px, 13.5vw, 58px);
    }
}
