/* Marco uniforme para fotos de servicios (carruseles y hero) */
.service-media-frame {
    width: 100%;
    overflow: hidden;
    background-color: #111;
    position: relative;
}

.service-media-frame .swiper,
.service-media-frame .swiper-wrapper,
.service-media-frame .swiper-slide {
    width: 100%;
    height: 100%;
}

.service-media-frame img,
.service-media-frame .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Tabs home y bloques laterales (4:3) */
.service-media-frame--tab {
    aspect-ratio: 4 / 3;
    border-radius: 20px;
}

/* Hero ancho páginas de servicio (16:9 responsive) */
.service-media-frame--page-hero {
    height: clamp(260px, 56.25vw, 85vh);
}

@media (max-width: 767.98px) {
    .service-media-frame--page-hero {
        height: clamp(220px, 52vw, 60vh);
    }
}
