/* Keep service copy in normal flow and let flex text shrink inside its card. */
.landing-service-page section .container .d-flex {
    white-space: normal;
}

.landing-service-page section :is(.d-flex, .d-inline-flex) > *,
.landing-service-page section .row > * {
    min-inline-size: 0;
}

.landing-service-page section :is(h1, h2, h3, h4, h5, p, li, .subtitle, .rounded-1 span) {
    overflow-wrap: anywhere;
    word-break: normal;
}

.landing-service-page section .p-40 {
    padding: clamp(1.25rem, 2.5vw, 2.5rem);
}

.landing-service-page section .p-60 {
    padding: clamp(1.5rem, 3.5vw, 3.75rem);
}

.landing-service-page section .fs-72 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.2 !important;
}

/* A translated hero can grow beyond the original fixed-height composition. */
.landing-service-page #section-hero {
    display: grid;
    align-items: center;
    padding-block: 160px 80px;
}

.landing-service-page #section-hero > .abs-centered {
    position: relative;
    inset: auto;
    transform: none;
}

.landing-service-page #section-hero h1 {
    font-size: clamp(2.25rem, 6.5vw, 6rem);
    line-height: 1.2 !important;
}

/* The original RTL rule reverses flex twice, moving icons against their spacing. */
.landing-service-page[dir="rtl"] section .d-flex {
    flex-direction: row;
}

@media (min-width: 992px) {
    .landing-service-page[dir="rtl"] section .offset-lg-1 {
        margin-left: 0;
        margin-right: 8.33333333%;
    }
}

@media (max-width: 575.98px) {
    .landing-service-page section h2 {
        font-size: clamp(1.75rem, 7vw, 2.5rem);
    }

    .landing-service-page section .landing-icon-card,
    .landing-service-page[dir="rtl"] section .landing-icon-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .landing-service-page section .landing-icon-card > i {
        margin-inline: 0 !important;
    }
}
