/* =========================================================
   VIENTOS SONOROS - Página Nosotros
   Hero
   ========================================================= */

/* ---------------------------------------------------------
   Sección principal
   La imagen de fondo se selecciona desde Elementor
   --------------------------------------------------------- */

.vs-nosotros-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 600px;
    padding: 100px 24px;
    overflow: hidden;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    isolation: isolate;
}

/* Capa clara para mejorar la lectura del contenido */
.vs-nosotros-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg,
            rgba(255, 255, 255, 0.99) 0%,
            rgba(255, 255, 255, 0.97) 28%,
            rgba(255, 255, 255, 0.88) 48%,
            rgba(255, 255, 255, 0.48) 70%,
            rgba(255, 255, 255, 0.16) 100%),
        linear-gradient(180deg,
            rgba(247, 244, 251, 0.18) 0%,
            rgba(255, 255, 255, 0.10) 100%);
}

/* Ligero acabado artístico similar al hero de Equipo */
.vs-nosotros-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.45;
    background:
        radial-gradient(circle at 12% 18%,
            rgba(212, 175, 205, 0.16) 0,
            transparent 30%),
        radial-gradient(circle at 82% 78%,
            rgba(168, 218, 220, 0.12) 0,
            transparent 32%);
}

/* Mantiene el contenido por encima de las capas */
.vs-nosotros-hero>.elementor-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

/* Compatibilidad si Elementor genera un contenedor interior distinto */
.vs-nosotros-hero>.e-con-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   Columna de contenido
   --------------------------------------------------------- */

.vs-nosotros-hero__inner {
    width: 100%;
    max-width: 900px;
}

.vs-nosotros-hero__inner>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0 !important;
}

/* Evita separaciones heredadas de Elementor */
.vs-nosotros-hero__inner .elementor-widget {
    width: 100%;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Eyebrow
   --------------------------------------------------------- */

.vs-nosotros-hero__eyebrow {
    margin-bottom: 28px !important;
}

.vs-nosotros-hero__eyebrow .elementor-heading-title,
.vs-nosotros-hero__eyebrow p {
    margin: 0;
    color: #e63946;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Título principal
   --------------------------------------------------------- */

.vs-nosotros-hero__title {
    max-width: 900px;
    margin-bottom: 30px !important;
}

.vs-nosotros-hero__title .elementor-heading-title {
    margin: 0;
    color: #18202d !important;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.04em;
}


/* ---------------------------------------------------------
   Textos
   --------------------------------------------------------- */

.vs-nosotros-hero__text {
    max-width: 880px;
    margin-bottom: 14px !important;
}

.vs-nosotros-hero__text:last-child {
    margin-bottom: 0 !important;
}

.vs-nosotros-hero__text .elementor-text-editor,
.vs-nosotros-hero__text .elementor-widget-container {
    color: #364152;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word;
}

.vs-nosotros-hero__text p {
    margin: 0;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word;
}

/* Segundo párrafo ligeramente más contenido */
.vs-nosotros-hero__text--secondary {
    max-width: 920px;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {

    .vs-nosotros-hero {
        min-height: 570px;
        padding: 90px 40px;
        background-position: 62% center !important;
    }

    .vs-nosotros-hero::before {
        background:
            linear-gradient(90deg,
                rgba(255, 255, 255, 0.99) 0%,
                rgba(255, 255, 255, 0.96) 42%,
                rgba(255, 255, 255, 0.72) 72%,
                rgba(255, 255, 255, 0.30) 100%);
    }

    .vs-nosotros-hero__inner {
        max-width: 760px;
    }

    .vs-nosotros-hero__title .elementor-heading-title {
        font-size: clamp(44px, 6vw, 62px);
    }

    .vs-nosotros-hero__text .elementor-text-editor,
    .vs-nosotros-hero__text .elementor-widget-container {
        font-size: 17px;
    }
}


@media (max-width: 767px) {

    .vs-nosotros-hero {
        min-height: auto;
        padding: 90px 22px 76px;

        /* Elimina la imagen de fondo del hero en móvil */
        background-image: none !important;
        background-color: #f7f4fb !important;
        background-position: initial !important;
        background-size: auto !important;
        background-repeat: no-repeat !important;
    }

    /*
     * Fondo claro para mantener el diseño del hero
     * sin necesidad de cargar la fotografía.
     */
    .vs-nosotros-hero::before {
        background:
            linear-gradient(180deg,
                rgba(255, 255, 255, 1) 0%,
                rgba(247, 244, 251, 1) 100%);
    }

    /*
     * Mantiene los detalles decorativos,
     * ya que son degradados CSS y no imágenes.
     */
    .vs-nosotros-hero::after {
        opacity: 0.55;
        background:
            radial-gradient(circle at 12% 18%,
                rgba(212, 175, 205, 0.18) 0,
                transparent 38%),
            radial-gradient(circle at 88% 82%,
                rgba(168, 218, 220, 0.16) 0,
                transparent 40%);
    }

    .vs-nosotros-hero__inner {
        max-width: 100%;
    }

    .vs-nosotros-hero__eyebrow {
        margin-bottom: 20px !important;
    }

    .vs-nosotros-hero__eyebrow .elementor-heading-title,
    .vs-nosotros-hero__eyebrow p {
        font-size: 12px;
    }

    .vs-nosotros-hero__title {
        margin-bottom: 24px !important;
    }

    .vs-nosotros-hero__title .elementor-heading-title {
        font-size: clamp(38px, 11vw, 50px);
        line-height: 1.08;
        letter-spacing: -0.035em;
    }

    .vs-nosotros-hero__text {
        margin-bottom: 14px !important;
    }

    .vs-nosotros-hero__text .elementor-text-editor,
    .vs-nosotros-hero__text .elementor-widget-container {
        font-size: 16px;
        line-height: 1.7;
    }
}


@media (max-width: 480px) {

    .vs-nosotros-hero {
        padding: 76px 20px 66px;
    }

    .vs-nosotros-hero__title .elementor-heading-title {
        font-size: 38px;
    }
}

/* =========================================================
   VIENTOS SONOROS - Página Nosotros
   Bloque: Nuestro enfoque
   ========================================================= */

.vs-nosotros-enfoque {
    position: relative;
    padding: 110px 24px;
    overflow: hidden;
    background: #fbfafc;
}

/* Contenedor principal de Elementor */
.vs-nosotros-enfoque>.elementor-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

/* Columna exterior */
.vs-nosotros-enfoque__inner>.elementor-widget-wrap {
    padding: 0 !important;
}

/* Sección interior de dos columnas */
.vs-nosotros-enfoque__inner .elementor-inner-section {
    width: 100%;
    margin: 0;
}

.vs-nosotros-enfoque__inner .elementor-inner-section>.elementor-container {
    display: flex;
    align-items: flex-start;
    gap: 80px;
    width: 100%;
    max-width: none;
}

/* Evita que Elementor añada padding lateral propio */
.vs-nosotros-enfoque__inner .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap {
    padding: 0 !important;
}


/* ---------------------------------------------------------
   Columna izquierda
   --------------------------------------------------------- */

.vs-nosotros-enfoque__heading {
    width: 40% !important;
    flex: 0 0 40%;
}

.vs-nosotros-enfoque__heading>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Eyebrow */
.vs-nosotros-enfoque__eyebrow {
    margin-bottom: 22px !important;
}

.vs-nosotros-enfoque__eyebrow .elementor-heading-title {
    margin: 0;
    color: #e63946;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Título */
.vs-nosotros-enfoque__title {
    max-width: 520px;
    margin-bottom: 30px !important;
}

.vs-nosotros-enfoque__title .elementor-heading-title {
    margin: 0;
    color: #18202d !important;
    font-size: clamp(40px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

/* Separador */
.vs-nosotros-enfoque__line {
    width: 86px !important;
    margin: 0 !important;
}

.vs-nosotros-enfoque__line .elementor-divider {
    padding: 0;
}

.vs-nosotros-enfoque__line .elementor-divider-separator {
    width: 86px !important;
    border-top-width: 4px !important;
    border-top-color: #e63946 !important;
    border-radius: 999px;
}


/* ---------------------------------------------------------
   Columna derecha
   --------------------------------------------------------- */

.vs-nosotros-enfoque__content {
    width: 60% !important;
    flex: 1 1 60%;
}

.vs-nosotros-enfoque__content>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Elimina márgenes heredados */
.vs-nosotros-enfoque__content .elementor-widget {
    width: 100%;
    margin-bottom: 0;
}

/* Textos principales */
.vs-nosotros-enfoque__text {
    margin-bottom: 24px !important;
}

.vs-nosotros-enfoque__text .elementor-widget-container,
.vs-nosotros-enfoque__text .elementor-text-editor {
    color: #3d4655;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.82;
}

.vs-nosotros-enfoque__text p {
    margin: 0;
}

/* Segundo texto */
.vs-nosotros-enfoque__text--featured {
    margin-bottom: 34px !important;
}

/* Frase destacada */
.vs-nosotros-enfoque__highlight {
    position: relative;
    padding: 24px 28px 24px 32px;
    border-left: 4px solid #e63946;
    border-radius: 0 16px 16px 0;
    background: rgba(255, 255, 255, 0.82);
    box-shadow:
        0 14px 35px rgba(24, 32, 45, 0.07),
        0 3px 8px rgba(24, 32, 45, 0.04);
}

.vs-nosotros-enfoque__highlight .elementor-widget-container,
.vs-nosotros-enfoque__highlight .elementor-text-editor,
.vs-nosotros-enfoque__highlight p {
    margin: 0;
    color: #18202d;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {

    .vs-nosotros-enfoque {
        padding: 90px 40px;
    }

    .vs-nosotros-enfoque__inner .elementor-inner-section>.elementor-container {
        gap: 54px;
    }

    .vs-nosotros-enfoque__heading {
        width: 42% !important;
        flex-basis: 42%;
    }

    .vs-nosotros-enfoque__content {
        width: 58% !important;
        flex-basis: 58%;
    }

    .vs-nosotros-enfoque__title .elementor-heading-title {
        font-size: clamp(38px, 4.5vw, 50px);
    }

    .vs-nosotros-enfoque__text .elementor-widget-container,
    .vs-nosotros-enfoque__text .elementor-text-editor {
        font-size: 17px;
        line-height: 1.75;
    }

    .vs-nosotros-enfoque__highlight .elementor-widget-container,
    .vs-nosotros-enfoque__highlight .elementor-text-editor,
    .vs-nosotros-enfoque__highlight p {
        font-size: 18px;
    }
}


@media (max-width: 767px) {

    .vs-nosotros-enfoque {
        padding: 76px 22px;
    }

    .vs-nosotros-enfoque__inner .elementor-inner-section>.elementor-container {
        flex-direction: column;
        gap: 44px;
    }

    .vs-nosotros-enfoque__heading,
    .vs-nosotros-enfoque__content {
        width: 100% !important;
        flex: 0 0 100%;
    }

    .vs-nosotros-enfoque__eyebrow {
        margin-bottom: 18px !important;
    }

    .vs-nosotros-enfoque__eyebrow .elementor-heading-title {
        font-size: 12px;
    }

    .vs-nosotros-enfoque__title {
        max-width: 100%;
        margin-bottom: 24px !important;
    }

    .vs-nosotros-enfoque__title .elementor-heading-title {
        font-size: clamp(36px, 10vw, 46px);
        line-height: 1.1;
    }

    .vs-nosotros-enfoque__text {
        margin-bottom: 20px !important;
    }

    .vs-nosotros-enfoque__text--featured {
        margin-bottom: 28px !important;
    }

    .vs-nosotros-enfoque__text .elementor-widget-container,
    .vs-nosotros-enfoque__text .elementor-text-editor {
        font-size: 16px;
        line-height: 1.72;
    }

    .vs-nosotros-enfoque__highlight {
        padding: 22px 22px 22px 26px;
    }

    .vs-nosotros-enfoque__highlight .elementor-widget-container,
    .vs-nosotros-enfoque__highlight .elementor-text-editor,
    .vs-nosotros-enfoque__highlight p {
        font-size: 17px;
        line-height: 1.5;
    }
}


@media (max-width: 480px) {

    .vs-nosotros-enfoque {
        padding: 68px 20px;
    }

    .vs-nosotros-enfoque__title .elementor-heading-title {
        font-size: 36px;
    }

    .vs-nosotros-enfoque__line,
    .vs-nosotros-enfoque__line .elementor-divider-separator {
        width: 70px !important;
    }
}

/* =========================================================
   VIENTOS SONOROS - Página Nosotros
   Bloque: Los tres pilares
   ========================================================= */

.vs-nosotros-pilares {
    position: relative;
    padding: 110px 24px;
    overflow: hidden;
    background: #fbfafc;
}

/* Contenedor general */
.vs-nosotros-pilares>.elementor-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.vs-nosotros-pilares__inner>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 !important;
}

/* Evita márgenes heredados de Elementor */
.vs-nosotros-pilares__inner>.elementor-widget-wrap>.elementor-widget {
    width: 100%;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Cabecera de la sección
   --------------------------------------------------------- */

.vs-nosotros-pilares__eyebrow {
    margin-bottom: 18px !important;
    text-align: center;
}

.vs-nosotros-pilares__eyebrow .elementor-heading-title {
    margin: 0;
    color: #e63946 !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vs-nosotros-pilares__title {
    max-width: 820px;
    margin-bottom: 22px !important;
    text-align: center;
}

.vs-nosotros-pilares__title .elementor-heading-title {
    margin: 0;
    color: #18202d !important;
    font-size: clamp(42px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.vs-nosotros-pilares__intro {
    max-width: 820px;
    margin-bottom: 58px !important;
    text-align: center;
}

.vs-nosotros-pilares__intro .elementor-widget-container,
.vs-nosotros-pilares__intro .elementor-text-editor {
    color: #4a5565;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
}

.vs-nosotros-pilares__intro p {
    margin: 0;
}


/* ---------------------------------------------------------
   Sección interior de tarjetas
   --------------------------------------------------------- */

/* Fuerza al widget de sección interior a ocupar todo el ancho */
.vs-nosotros-pilares__inner .elementor-widget-inner-section,
.vs-nosotros-pilares__inner .elementor-inner-section {
    width: 100% !important;
    max-width: none !important;
    align-self: stretch !important;
    margin: 0 !important;
}

/* Contenedor interno de las tres columnas */
.vs-nosotros-pilares__inner .elementor-inner-section>.elementor-container,
.vs-nosotros-pilares__inner .elementor-widget-inner-section>.elementor-widget-container>.elementor-inner-section>.elementor-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 28px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
}

/* Las tres columnas deben repartirse el espacio disponible */
.vs-nosotros-pilar {
    position: relative;
    width: calc((100% - 56px) / 3) !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 calc((100% - 56px) / 3) !important;
    align-self: stretch;
    overflow: hidden;
    border: 1px solid rgba(24, 32, 45, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
        0 20px 50px rgba(24, 32, 45, 0.08),
        0 4px 12px rgba(24, 32, 45, 0.04);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

/* El interior de cada tarjeta también debe ocupar toda su anchura */
.vs-nosotros-pilar>.elementor-widget-wrap {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-height: 100%;
    padding: 42px 36px 38px !important;
}

/* Todos los widgets internos ocupan el ancho completo */
.vs-nosotros-pilar .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Número decorativo
   --------------------------------------------------------- */

.vs-nosotros-pilar__number {
    position: relative;
    margin-bottom: 28px !important;
}

.vs-nosotros-pilar__number .elementor-heading-title {
    margin: 0;
    color: rgba(24, 32, 45, 0.09);
    font-size: 72px;
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.06em;
}

/* Color suave asociado a cada tarjeta */
.vs-nosotros-pilar--pedagogia .vs-nosotros-pilar__number .elementor-heading-title {
    color: rgba(230, 57, 70, 0.12);
}

.vs-nosotros-pilar--musica .vs-nosotros-pilar__number .elementor-heading-title {
    color: rgba(79, 158, 216, 0.14);
}

.vs-nosotros-pilar--musicoterapia .vs-nosotros-pilar__number .elementor-heading-title {
    color: rgba(155, 107, 178, 0.14);
}


/* ---------------------------------------------------------
   Títulos de las tarjetas
   --------------------------------------------------------- */

.vs-nosotros-pilar__title {
    width: 100% !important;
    margin-bottom: 18px !important;
}

.vs-nosotros-pilar__title .elementor-heading-title {
    width: 100%;
    margin: 0;
    color: #18202d !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.15;
    letter-spacing: -0.025em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}


/* ---------------------------------------------------------
   Texto de las tarjetas
   --------------------------------------------------------- */

.vs-nosotros-pilar__text {
    width: 100% !important;
    margin-top: auto !important;
}

.vs-nosotros-pilar__text .elementor-widget-container,
.vs-nosotros-pilar__text .elementor-text-editor {
    width: 100%;
    color: #4a5565 !important;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;
}

.vs-nosotros-pilar__text p {
    margin: 0;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {

    .vs-nosotros-pilares {
        padding: 90px 40px;
    }

    .vs-nosotros-pilares__title .elementor-heading-title {
        font-size: clamp(40px, 5vw, 52px);
    }

    .vs-nosotros-pilares__intro {
        margin-bottom: 48px !important;
    }

    .vs-nosotros-pilares__inner .elementor-inner-section>.elementor-container {
        gap: 22px;
    }

    .vs-nosotros-pilar>.elementor-widget-wrap {
        padding: 36px 28px 32px !important;
    }

    .vs-nosotros-pilar__number .elementor-heading-title {
        font-size: 62px;
    }

    .vs-nosotros-pilar__title .elementor-heading-title {
        font-size: 27px;
    }

    .vs-nosotros-pilar__text .elementor-widget-container,
    .vs-nosotros-pilar__text .elementor-text-editor {
        font-size: 16px;
    }
}


@media (max-width: 767px) {

    .vs-nosotros-pilares {
        padding: 76px 22px;
    }

    .vs-nosotros-pilares__eyebrow {
        margin-bottom: 16px !important;
    }

    .vs-nosotros-pilares__eyebrow .elementor-heading-title {
        font-size: 12px;
    }

    .vs-nosotros-pilares__title {
        margin-bottom: 20px !important;
    }

    .vs-nosotros-pilares__title .elementor-heading-title {
        font-size: clamp(36px, 10vw, 46px);
        line-height: 1.1;
    }

    .vs-nosotros-pilares__intro {
        margin-bottom: 40px !important;
    }

    .vs-nosotros-pilares__intro .elementor-widget-container,
    .vs-nosotros-pilares__intro .elementor-text-editor {
        font-size: 16px;
        line-height: 1.72;
    }

        .vs-nosotros-pilares__inner .elementor-inner-section>.elementor-container,
        .vs-nosotros-pilares__inner .elementor-widget-inner-section>.elementor-widget-container>.elementor-inner-section>.elementor-container {
            display: flex !important;
            flex-direction: column !important;
            flex-wrap: nowrap !important;
            align-items: stretch !important;
            width: 100% !important;
            max-width: 100% !important;
            gap: 22px;
            margin-right: 0 !important;
            margin-left: 0 !important;
        }

        .vs-nosotros-pilar {
            float: none !important;
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            flex: 0 0 auto !important;
            margin-right: 0 !important;
            margin-left: 0 !important;
        }

    .vs-nosotros-pilar:hover {
        transform: none;
    }

    .vs-nosotros-pilar>.elementor-widget-wrap {
        padding: 34px 28px 30px !important;
    }

    .vs-nosotros-pilar__number {
        margin-bottom: 22px !important;
    }

    .vs-nosotros-pilar__number .elementor-heading-title {
        font-size: 56px;
    }

    .vs-nosotros-pilar__title {
        margin-bottom: 16px !important;
    }

    .vs-nosotros-pilar__title .elementor-heading-title {
        font-size: 27px;
    }

    .vs-nosotros-pilar__text .elementor-widget-container,
    .vs-nosotros-pilar__text .elementor-text-editor {
        font-size: 16px;
        line-height: 1.68;
    }
}


@media (max-width: 480px) {

    .vs-nosotros-pilares {
        padding: 68px 20px;
    }

    .vs-nosotros-pilares__title .elementor-heading-title {
        font-size: 36px;
    }

    .vs-nosotros-pilar {
        border-radius: 20px;
    }

    .vs-nosotros-pilar>.elementor-widget-wrap {
        padding: 30px 24px 28px !important;
    }
}

/* =========================================================
   VIENTOS SONOROS - Página Nosotros
   Bloque: Un proyecto abierto
   ========================================================= */

.vs-nosotros-abierto {
    position: relative;
    padding: 110px 24px;
    overflow: hidden;
    background: #fbfafc;
}

/* Contenedor general */
.vs-nosotros-abierto>.elementor-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.vs-nosotros-abierto__inner>.elementor-widget-wrap {
    padding: 0 !important;
}

/* Sección interior principal de dos columnas */
.vs-nosotros-abierto__inner>.elementor-widget-wrap>.elementor-inner-section {
    width: 100%;
    margin: 0;
}

.vs-nosotros-abierto__inner>.elementor-widget-wrap>.elementor-inner-section>.elementor-container {
    display: flex;
    align-items: stretch;
    gap: 72px;
    width: 100%;
    max-width: none;
    margin: 0;
}

/* Elimina el padding propio de las columnas de Elementor */
.vs-nosotros-abierto__media>.elementor-widget-wrap,
.vs-nosotros-abierto__content>.elementor-widget-wrap {
    padding: 0 !important;
}


/* =========================================================
   Columna de imagen
   ========================================================= */

.vs-nosotros-abierto__media {
    position: relative;
    width: 48% !important;
    flex: 0 0 48%;
    min-width: 0;
}

.vs-nosotros-abierto__media>.elementor-widget-wrap {
    display: flex !important;
    align-items: stretch !important;
    width: 100%;
    height: 100%;
}

.vs-nosotros-abierto__image {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.vs-nosotros-abierto__image .elementor-widget-container {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 560px;
    overflow: hidden;
    border-radius: 28px;
    background: transparent;
    box-shadow:
        0 24px 60px rgba(24, 32, 45, 0.11),
        0 6px 18px rgba(24, 32, 45, 0.05);
}

/* Compatibilidad con el contenedor interno del widget Imagen */
.vs-nosotros-abierto__image .elementor-image {
    display: flex;
    width: 100%;
    height: 100%;
}

/* Compatibilidad si la imagen tiene enlace */
.vs-nosotros-abierto__image a {
    display: flex;
    width: 100%;
    height: 100%;
}

/* Detalle decorativo */
.vs-nosotros-abierto__image .elementor-widget-container::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 2;
    width: 68px;
    height: 5px;
    border-radius: 999px;
    background: #e63946;
    pointer-events: none;
}

.vs-nosotros-abierto__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 560px;
    flex: 1 1 auto;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.6s ease;
}

.vs-nosotros-abierto__image:hover img {
    transform: scale(1.025);
}


/* =========================================================
   Columna de contenido
   ========================================================= */

.vs-nosotros-abierto__content {
    width: 52% !important;
    flex: 1 1 52%;
    min-width: 0;
}

.vs-nosotros-abierto__content>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 100%;
}

.vs-nosotros-abierto__content .elementor-widget {
    width: 100%;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Eyebrow
   --------------------------------------------------------- */

.vs-nosotros-abierto__eyebrow {
    margin-bottom: 20px !important;
}

.vs-nosotros-abierto__eyebrow .elementor-heading-title {
    margin: 0;
    color: #e63946;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Título
   --------------------------------------------------------- */

.vs-nosotros-abierto__title {
    max-width: 650px;
    margin-bottom: 28px !important;
}

.vs-nosotros-abierto__title .elementor-heading-title {
    margin: 0 !important;
    color: #18202d !important;
    font-size: clamp(40px, 4vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}


/* ---------------------------------------------------------
   Textos
   --------------------------------------------------------- */

.vs-nosotros-abierto__text {
    max-width: 680px;
    margin-bottom: 22px !important;
}

.vs-nosotros-abierto__text .elementor-widget-container,
.vs-nosotros-abierto__text .elementor-text-editor {
    color: #3d4655;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
}

.vs-nosotros-abierto__text p {
    margin: 0;
}

.vs-nosotros-abierto__text--secondary {
    margin-bottom: 34px !important;
}


/* =========================================================
   Botones
   ========================================================= */

/*
 * Funciona tanto si las acciones son una sección interior
 * como si has utilizado un contenedor horizontal.
 */
.vs-nosotros-abierto__actions {
    width: 100% !important;
    max-width: 680px;
    margin: 0 !important;
}

/* Si es una sección interior */
.vs-nosotros-abierto__actions.elementor-inner-section>.elementor-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    width: 100%;
    max-width: none;
    margin: 0;
}

.vs-nosotros-abierto__actions.elementor-inner-section .elementor-column {
    width: auto !important;
    flex: 0 0 auto;
}

.vs-nosotros-abierto__actions.elementor-inner-section .elementor-column>.elementor-widget-wrap {
    padding: 0 !important;
}

/* Si es un contenedor */
.vs-nosotros-abierto__actions.e-con {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    padding: 0;
}

/* Widget de botón */
.vs-nosotros-abierto__button {
    width: auto !important;
    margin: 0 !important;
}

.vs-nosotros-abierto__button .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 14px 24px !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.vs-nosotros-abierto__button .elementor-button:hover {
    transform: translateY(-2px);
}


/* Botón principal */
.vs-nosotros-abierto__button--primary .elementor-button {
    color: #ffffff !important;
    border-color: #18202d !important;
    background: #18202d !important;
    box-shadow: 0 12px 26px rgba(24, 32, 45, 0.16) !important;
}

.vs-nosotros-abierto__button--primary .elementor-button:hover,
.vs-nosotros-abierto__button--primary .elementor-button:focus {
    color: #ffffff !important;
    border-color: #e63946 !important;
    background: #e63946 !important;
    box-shadow: 0 16px 32px rgba(230, 57, 70, 0.2) !important;
}


/* Botón secundario */
.vs-nosotros-abierto__button--secondary .elementor-button {
    color: #18202d !important;
    border-color: rgba(24, 32, 45, 0.2) !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

.vs-nosotros-abierto__button--secondary .elementor-button:hover,
.vs-nosotros-abierto__button--secondary .elementor-button:focus {
    color: #e63946 !important;
    border-color: #e63946 !important;
    background: #ffffff !important;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {

    .vs-nosotros-abierto {
        padding: 90px 40px;
    }

    .vs-nosotros-abierto__inner>.elementor-widget-wrap>.elementor-inner-section>.elementor-container {
        gap: 48px;
    }

    .vs-nosotros-abierto__media {
        width: 46% !important;
        flex-basis: 46%;
    }

    .vs-nosotros-abierto__content {
        width: 54% !important;
        flex-basis: 54%;
    }

    .vs-nosotros-abierto__image .elementor-widget-container,
    .vs-nosotros-abierto__image img {
        min-height: 520px;
    }

    .vs-nosotros-abierto__title .elementor-heading-title {
        font-size: clamp(38px, 4.8vw, 50px);
    }

    .vs-nosotros-abierto__text .elementor-widget-container,
    .vs-nosotros-abierto__text .elementor-text-editor {
        font-size: 17px;
        line-height: 1.75;
    }

    .vs-nosotros-abierto__button .elementor-button {
        padding: 13px 20px;
        font-size: 14px;
    }
}


@media (max-width: 767px) {

    .vs-nosotros-abierto {
        padding: 76px 22px;
    }

    .vs-nosotros-abierto__inner>.elementor-widget-wrap>.elementor-inner-section>.elementor-container {
        flex-direction: column;
        gap: 42px;
    }

    .vs-nosotros-abierto__media,
    .vs-nosotros-abierto__content {
        width: 100% !important;
        flex: 0 0 100%;
    }

    .vs-nosotros-abierto__image .elementor-widget-container {
        min-height: 420px;
        border-radius: 22px;
    }

    .vs-nosotros-abierto__image img {
        min-height: 420px;
    }

    .vs-nosotros-abierto__image:hover img {
        transform: none;
    }

    .vs-nosotros-abierto__eyebrow {
        margin-bottom: 18px !important;
    }

    .vs-nosotros-abierto__eyebrow .elementor-heading-title {
        font-size: 12px;
    }

    .vs-nosotros-abierto__title {
        max-width: 100%;
        margin-bottom: 24px !important;
    }

    .vs-nosotros-abierto__title .elementor-heading-title {
        font-size: clamp(36px, 10vw, 46px);
        line-height: 1.1;
    }

    .vs-nosotros-abierto__text {
        max-width: 100%;
        margin-bottom: 20px !important;
    }

    .vs-nosotros-abierto__text--secondary {
        margin-bottom: 30px !important;
    }

    .vs-nosotros-abierto__text .elementor-widget-container,
    .vs-nosotros-abierto__text .elementor-text-editor {
        font-size: 16px;
        line-height: 1.72;
    }

    .vs-nosotros-abierto__actions.elementor-inner-section>.elementor-container,
    .vs-nosotros-abierto__actions.e-con {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .vs-nosotros-abierto__actions.elementor-inner-section .elementor-column,
    .vs-nosotros-abierto__button {
        width: 100% !important;
        flex: 0 0 100%;
    }

    .vs-nosotros-abierto__button .elementor-button {
        width: 100%;
        min-height: 50px;
    }
}


@media (max-width: 480px) {

    .vs-nosotros-abierto {
        padding: 68px 20px;
    }

    .vs-nosotros-abierto__image .elementor-widget-container,
    .vs-nosotros-abierto__image img {
        min-height: 350px;
    }

    .vs-nosotros-abierto__title .elementor-heading-title {
        font-size: 36px;
    }
}

/* =========================================================
   VIENTOS SONOROS - Página Nosotros
   Bloque: Galería
   ========================================================= */

.vs-nosotros-galeria {
    position: relative;
    padding: 110px 24px;
    overflow: hidden;
    background: #fbfafc;
}

/* Contenedor general */
.vs-nosotros-galeria>.elementor-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.vs-nosotros-galeria__inner>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 !important;
}

.vs-nosotros-galeria__inner>.elementor-widget-wrap>.elementor-widget {
    width: 100%;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Cabecera
   --------------------------------------------------------- */

.vs-nosotros-galeria__eyebrow {
    margin-bottom: 18px !important;
    text-align: center;
}

.vs-nosotros-galeria__eyebrow .elementor-heading-title {
    margin: 0 !important;
    color: #e63946 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
}

.vs-nosotros-galeria__title {
    max-width: 860px;
    margin-bottom: 22px !important;
    text-align: center;
}

.vs-nosotros-galeria__title .elementor-heading-title {
    margin: 0 !important;
    color: #18202d !important;
    font-size: clamp(42px, 4vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

.vs-nosotros-galeria__intro {
    max-width: 780px;
    margin-bottom: 56px !important;
    text-align: center;
}

.vs-nosotros-galeria__intro .elementor-widget-container,
.vs-nosotros-galeria__intro .elementor-text-editor {
    color: #4a5565;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
}

.vs-nosotros-galeria__intro p {
    margin: 0;
}


/* =========================================================
   Composición principal
   ========================================================= */

.vs-nosotros-galeria__inner>.elementor-widget-wrap>.elementor-inner-section {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: stretch !important;
}

.vs-nosotros-galeria__inner>.elementor-widget-wrap>.elementor-inner-section>.elementor-container {
    display: flex !important;
    align-items: stretch !important;
    gap: 24px;
    width: 100% !important;
    max-width: none !important;
    margin: 0;
}

.vs-nosotros-galeria__featured {
    width: 55% !important;
    flex: 0 0 55%;
    min-width: 0;
}

.vs-nosotros-galeria__grid {
    width: 45% !important;
    flex: 1 1 45%;
    min-width: 0;
}

.vs-nosotros-galeria__featured>.elementor-widget-wrap,
.vs-nosotros-galeria__grid>.elementor-widget-wrap {
    padding: 0 !important;
}


/* =========================================================
   Imagen principal
   ========================================================= */

.vs-nosotros-galeria__image {
    width: 100% !important;
    margin: 0 !important;
}

.vs-nosotros-galeria__image .elementor-widget-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 24px;
    background: #ffffff;
    box-shadow:
        0 18px 45px rgba(24, 32, 45, 0.09),
        0 4px 12px rgba(24, 32, 45, 0.04);
}

.vs-nosotros-galeria__image .elementor-image,
.vs-nosotros-galeria__image a {
    display: block;
    width: 100%;
    height: 100%;
}

.vs-nosotros-galeria__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition:
        transform 0.55s ease,
        filter 0.55s ease;
}

.vs-nosotros-galeria__image:hover img {
    transform: scale(1.035);
    filter: saturate(1.04);
}

.vs-nosotros-galeria__image--featured,
.vs-nosotros-galeria__image--featured .elementor-widget-container {
    height: 100%;
    min-height: 600px;
}

.vs-nosotros-galeria__image--featured img {
    min-height: 600px;
}


/* =========================================================
   Cuadrícula derecha
   ========================================================= */

.vs-nosotros-galeria__grid>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
}

/* Las dos filas interiores */
.vs-nosotros-galeria__grid .elementor-inner-section {
    width: 100% !important;
    flex: 1 1 0;
    margin: 0 !important;
}

.vs-nosotros-galeria__grid .elementor-inner-section>.elementor-container {
    display: flex !important;
    align-items: stretch !important;
    gap: 24px;
    width: 100% !important;
    height: 100%;
    max-width: none !important;
    margin: 0;
}

.vs-nosotros-galeria__grid .elementor-inner-section .elementor-column {
    width: calc(50% - 12px) !important;
    flex: 1 1 calc(50% - 12px);
    min-width: 0;
}

.vs-nosotros-galeria__grid .elementor-inner-section .elementor-column>.elementor-widget-wrap {
    padding: 0 !important;
    height: 100%;
}

.vs-nosotros-galeria__image--small,
.vs-nosotros-galeria__image--small .elementor-widget-container {
    height: 100%;
    min-height: 288px;
}

.vs-nosotros-galeria__image--small img {
    min-height: 288px;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {

    .vs-nosotros-galeria {
        padding: 90px 40px;
    }

    .vs-nosotros-galeria__title .elementor-heading-title {
        font-size: clamp(40px, 5vw, 52px) !important;
    }

    .vs-nosotros-galeria__intro {
        margin-bottom: 48px !important;
    }

    .vs-nosotros-galeria__inner>.elementor-widget-wrap>.elementor-inner-section>.elementor-container {
        gap: 20px;
    }

    .vs-nosotros-galeria__grid>.elementor-widget-wrap {
        gap: 20px;
    }

    .vs-nosotros-galeria__grid .elementor-inner-section>.elementor-container {
        gap: 20px;
    }

    .vs-nosotros-galeria__image--featured,
    .vs-nosotros-galeria__image--featured .elementor-widget-container,
    .vs-nosotros-galeria__image--featured img {
        min-height: 540px;
    }

    .vs-nosotros-galeria__image--small,
    .vs-nosotros-galeria__image--small .elementor-widget-container,
    .vs-nosotros-galeria__image--small img {
        min-height: 260px;
    }
}


@media (max-width: 767px) {

    .vs-nosotros-galeria {
        padding: 76px 22px;
    }

    .vs-nosotros-galeria__eyebrow {
        margin-bottom: 16px !important;
    }

    .vs-nosotros-galeria__eyebrow .elementor-heading-title {
        font-size: 12px !important;
    }

    .vs-nosotros-galeria__title {
        margin-bottom: 20px !important;
    }

    .vs-nosotros-galeria__title .elementor-heading-title {
        font-size: clamp(36px, 10vw, 46px) !important;
        line-height: 1.1 !important;
    }

    .vs-nosotros-galeria__intro {
        margin-bottom: 40px !important;
    }

    .vs-nosotros-galeria__intro .elementor-widget-container,
    .vs-nosotros-galeria__intro .elementor-text-editor {
        font-size: 16px;
        line-height: 1.72;
    }

    .vs-nosotros-galeria__inner>.elementor-widget-wrap>.elementor-inner-section>.elementor-container {
        flex-direction: column !important;
        gap: 20px;
    }

    .vs-nosotros-galeria__featured,
    .vs-nosotros-galeria__grid {
        width: 100% !important;
        flex: 0 0 100%;
    }

    .vs-nosotros-galeria__image--featured,
    .vs-nosotros-galeria__image--featured .elementor-widget-container,
    .vs-nosotros-galeria__image--featured img {
        min-height: 420px;
    }

    .vs-nosotros-galeria__grid>.elementor-widget-wrap {
        gap: 18px;
    }

    .vs-nosotros-galeria__grid .elementor-inner-section>.elementor-container {
        gap: 18px;
    }

    .vs-nosotros-galeria__image--small,
    .vs-nosotros-galeria__image--small .elementor-widget-container,
    .vs-nosotros-galeria__image--small img {
        min-height: 230px;
    }

    .vs-nosotros-galeria__image:hover img {
        transform: none;
        filter: none;
    }
}


@media (max-width: 520px) {

    .vs-nosotros-galeria {
        padding: 68px 20px;
    }

    .vs-nosotros-galeria__title .elementor-heading-title {
        font-size: 36px !important;
    }

    /* En móviles estrechos, las imágenes secundarias pasan a una columna */
    .vs-nosotros-galeria__grid .elementor-inner-section>.elementor-container {
        flex-direction: column !important;
    }

    .vs-nosotros-galeria__grid .elementor-inner-section .elementor-column {
        width: 100% !important;
        flex: 0 0 100%;
    }

    .vs-nosotros-galeria__image--featured,
    .vs-nosotros-galeria__image--featured .elementor-widget-container,
    .vs-nosotros-galeria__image--featured img {
        min-height: 360px;
    }

    .vs-nosotros-galeria__image--small,
    .vs-nosotros-galeria__image--small .elementor-widget-container,
    .vs-nosotros-galeria__image--small img {
        min-height: 260px;
    }
}

/* =========================================================
   VIENTOS SONOROS - Página Nosotros
   CTA hacia Equipo
   ========================================================= */

.vs-nosotros-equipo-cta {
    position: relative;
    padding: 110px 24px;
    overflow: hidden;
    background:
        linear-gradient(135deg,
            rgba(24, 32, 45, 0.97) 0%,
            rgba(31, 42, 58, 0.96) 100%);
}

/* Detalles decorativos suaves */
.vs-nosotros-equipo-cta::before,
.vs-nosotros-equipo-cta::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.vs-nosotros-equipo-cta::before {
    top: -140px;
    left: -100px;
    width: 360px;
    height: 360px;
    background: rgba(230, 57, 70, 0.1);
}

.vs-nosotros-equipo-cta::after {
    right: -120px;
    bottom: -180px;
    width: 420px;
    height: 420px;
    background: rgba(168, 218, 220, 0.08);
}

/* Contenedor general */
.vs-nosotros-equipo-cta>.elementor-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.vs-nosotros-equipo-cta__inner>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 !important;
    text-align: center;
}

.vs-nosotros-equipo-cta__inner .elementor-widget {
    width: 100%;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Eyebrow
   --------------------------------------------------------- */

.vs-nosotros-equipo-cta__eyebrow {
    margin-bottom: 18px !important;
}

.vs-nosotros-equipo-cta__eyebrow .elementor-heading-title {
    margin: 0 !important;
    color: #ff6b73 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Título
   --------------------------------------------------------- */

.vs-nosotros-equipo-cta__title {
    max-width: 820px;
    margin-bottom: 24px !important;
}

.vs-nosotros-equipo-cta__title .elementor-heading-title {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(42px, 4vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}


/* ---------------------------------------------------------
   Texto
   --------------------------------------------------------- */

.vs-nosotros-equipo-cta__text {
    max-width: 760px;
    margin-bottom: 34px !important;
}

.vs-nosotros-equipo-cta__text .elementor-widget-container,
.vs-nosotros-equipo-cta__text .elementor-text-editor {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
}

.vs-nosotros-equipo-cta__text p {
    margin: 0;
}


/* ---------------------------------------------------------
   Botón
   --------------------------------------------------------- */

.vs-nosotros-equipo-cta__button {
    width: auto !important;
    margin: 0 !important;
}

.vs-nosotros-equipo-cta__button .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    padding: 15px 28px !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    color: #18202d !important;
    background: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.vs-nosotros-equipo-cta__button .elementor-button:hover,
.vs-nosotros-equipo-cta__button .elementor-button:focus {
    color: #ffffff !important;
    border-color: #e63946 !important;
    background: #e63946 !important;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(230, 57, 70, 0.26);
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {

    .vs-nosotros-equipo-cta {
        padding: 90px 40px;
    }

    .vs-nosotros-equipo-cta__title .elementor-heading-title {
        font-size: clamp(40px, 5vw, 52px) !important;
    }

    .vs-nosotros-equipo-cta__text .elementor-widget-container,
    .vs-nosotros-equipo-cta__text .elementor-text-editor {
        font-size: 17px;
    }
}


@media (max-width: 767px) {

    .vs-nosotros-equipo-cta {
        padding: 76px 22px;
    }

    .vs-nosotros-equipo-cta__eyebrow {
        margin-bottom: 16px !important;
    }

    .vs-nosotros-equipo-cta__eyebrow .elementor-heading-title {
        font-size: 12px !important;
    }

    .vs-nosotros-equipo-cta__title {
        margin-bottom: 22px !important;
    }

    .vs-nosotros-equipo-cta__title .elementor-heading-title {
        font-size: clamp(36px, 10vw, 46px) !important;
        line-height: 1.1 !important;
    }

    .vs-nosotros-equipo-cta__text {
        margin-bottom: 30px !important;
    }

    .vs-nosotros-equipo-cta__text .elementor-widget-container,
    .vs-nosotros-equipo-cta__text .elementor-text-editor {
        font-size: 16px;
        line-height: 1.72;
    }

    .vs-nosotros-equipo-cta__button {
        width: 100% !important;
    }

    .vs-nosotros-equipo-cta__button .elementor-button {
        width: 100%;
        min-height: 52px !important;
    }
}


@media (max-width: 480px) {

    .vs-nosotros-equipo-cta {
        padding: 68px 20px;
    }

    .vs-nosotros-equipo-cta__title .elementor-heading-title {
        font-size: 36px !important;
    }
}