/* ========================================
   Service Detail Page Styles
   ======================================== */
.service-page-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 50/50 Split for large image presence */
    gap: 60px;
    align-items: start;
    margin-bottom: 60px;
    width: 100%;
    /* Ensure full width usage */
}

.service-main-image {
    position: sticky;
    top: 120px;
    /* Stick on scroll if text is long */
}

.service-main-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* Removed object-fit and aspect-ratio to prevent cropping textual images */
}

@media (max-width: 992px) {
    .service-page-layout {
        grid-template-columns: 1fr;
    }

    .service-page-layout .service-main-image {
        order: -1;
        /* Show image on top on mobile */
        margin-bottom: 40px;
        position: static;
    }

    .service-main-image img {
        /* Natural height on mobile too */
        width: 100%;
        height: auto;
    }
}