.elementor-12 .elementor-element.elementor-element-9197c3b{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-81ae9c9{font-family:"Manrope", Sans-serif;font-size:16px;font-weight:500;text-transform:uppercase;line-height:0.92em;letter-spacing:4px;color:#9C9C9C;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-1123395.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12 .elementor-element.elementor-element-1123395 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:90px;font-weight:600;line-height:0.92em;letter-spacing:1px;color:#000000;}.elementor-12 .elementor-element.elementor-element-da8a279.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-12 .elementor-element.elementor-element-da8a279{text-align:start;font-family:"Manrope", Sans-serif;font-size:26px;font-weight:400;line-height:1.5em;color:#6E6E6E;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-12 .elementor-element.elementor-element-fb230c1 .elementor-button:hover, .elementor-12 .elementor-element.elementor-element-fb230c1 .elementor-button:focus{color:var( --e-global-color-text );}.elementor-12 .elementor-element.elementor-element-fb230c1 .elementor-button:hover svg, .elementor-12 .elementor-element.elementor-element-fb230c1 .elementor-button:focus svg{fill:var( --e-global-color-text );}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-12 .elementor-element.elementor-element-81ae9c9{font-size:15px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-12 .elementor-element.elementor-element-1123395 .elementor-heading-title{font-size:32px;}.elementor-12 .elementor-element.elementor-element-da8a279{font-size:15px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-12 .elementor-element.elementor-element-81ae9c9{font-size:15px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-12 .elementor-element.elementor-element-1123395 .elementor-heading-title{font-size:30px;}.elementor-12 .elementor-element.elementor-element-da8a279{font-size:15px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}/* Start custom CSS */.hero-principal {
    position: relative;
    min-height: 820px;
    overflow: hidden;

    background: linear-gradient(
        to right,
        #ffffff 0%,
        #ffffff 50%,
        #000000 50%,
        #000000 100%
    );
}

.hero-contenido {
    position: absolute;
    top: 50%;
    left: max(5vw, 60px);
    transform: translateY(-50%);
    width: min(38vw, 560px);
    z-index: 4;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.hero-eyebrow {
    order: 1;
    margin: 0 0 38px !important;
    font-family: "Manrope", sans-serif;
    font-size: clamp(12px, 0.85vw, 16px);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.32em;
    color: #999999;
    text-transform: uppercase;
}

.hero-titulo {
    order:2;
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 5vw, 72px); /* CORREGIDO: Escala H1 lógica */
    font-weight: 500;
    line-height: 0.82;
    color: #111111;
}

.hero-eslogan {
    order:3;
    margin: 42px 0 0 !important;
    max-width: 450px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(17px, 1.35vw, 25px);
    font-weight: 400;
    line-height: 1.55;
    color: #5f5f5f;
    overflow-wrap: normal;
    word-break: normal;
}

.hero-boton {
    margin-top: 34px !important;
}

.hero-foto {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: clamp(520px, 42vw, 820px);
    max-width: none;
    z-index: 2;
}

@media (max-width: 1024px) {
    .hero-principal {
        min-height: 760px;
    }

    .hero-contenido {
        top: 43%;
        left: 8%;
        width: 36%;
    }

    .hero-eyebrow {
        margin-bottom: 32px;
        font-size: 12px;
        letter-spacing: 0.25em;
    }

    .hero-titulo {
        font-size: clamp(42px, 6vw, 60px); /* CORREGIDO */
        line-height: 0.88;
    }

    .hero-eslogan {
        margin-top: 38px;
        max-width: 310px;
        font-size: 15px;
    }

    .hero-foto {
        left: 58%;
        width: clamp(480px, 58vw, 650px);
    }
}

@media (max-width: 767px) {
    .hero-principal {
        min-height: 850px;
    }

    .hero-contenido {
        position: relative;
        top: auto;
        left: auto;
        transform: none;

        width: 100%;
        padding: 65px 28px 0;
    }

    .hero-eyebrow {
        margin-bottom: 28px;
        font-size: 11px;
        letter-spacing: 0.22em;
    }

    .hero-titulo {
        max-width: 180px;
        font-size: clamp(36px, 10vw, 48px); /* CORREGIDO */
        line-height: 0.86;
    }

    .hero-eslogan {
        margin-top: 38px;
        max-width: 220px;
        font-size: 14px;
        line-height: 1.55;
    }

    .hero-boton {
        margin-top: 26px;
    }

    .hero-foto {
        left: 50%;
        bottom: 0;
        width: min(540px, 125vw);
    }
}

/* ==================================================
   HERO - SMARTPHONE
   Fondo completamente negro
   ================================================== */

@media (max-width: 767px) {

    .hero-principal {
        width: 100% !important;

        background: #000000 !important;

        min-height: 850px;
        overflow: hidden;
    }

    /* Contenedor de textos */
    .hero-contenido {
        position: relative !important;

        top: auto !important;
        left: auto !important;

        transform: none !important;

        width: 100% !important;
        max-width: 100% !important;

        padding: 65px 28px 0 !important;

        z-index: 5;
    }

    /* ABOGADA Y NOTARIA */
    .hero-eyebrow,
    .hero-eyebrow .elementor-heading-title,
    .hero-eyebrow p {
        color: #9a9a9a !important;

        font-size: 11px !important;
        letter-spacing: 3px !important;
    }

    /* MIRLA TUBAC */
    .hero-titulo,
    .hero-titulo .elementor-heading-title,
    .hero-titulo h1 {
        width: 100% !important;
        max-width: 100% !important;

        color: #ffffff !important;

        font-size: clamp(36px, 10vw, 48px) !important; /* CORREGIDO */
        line-height: 0.90 !important;

        white-space: normal !important;
        word-break: normal !important;
    }

    /* Eslogan */
    .hero-eslogan,
    .hero-eslogan p {
        width: 100% !important;
        max-width: 320px !important;

        color: #b8b8b8 !important;

        font-size: 15px !important;
        line-height: 1.6 !important;

        white-space: normal !important;
        word-break: normal !important;
    }

    /* Foto */
    .hero-foto {
        position: absolute !important;

        left: 50% !important;
        bottom: 0 !important;

        transform: translateX(-50%) !important;

        width: min(520px, 125vw) !important;
        max-width: none !important;

        z-index: 2;
    }
}

.seccion-filosofia {
    position: relative;
    width: 100%;
    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 140px 30px !important;
    margin: 0;

    background-color: #ffffff;
    overflow: hidden;
}

.filosofia-contenido {
    width: 100%;
    max-width: 1100px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 34px;
    margin: 0 auto;
    padding: 0;
}

.filosofia-etiqueta {
    margin: 0;
    padding: 0;

    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-align: center;

    color: #9a9a9a;
}

.filosofia-titulo {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4.5vw, 60px); /* CORREGIDO: Escala H2 unificada */
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: 0;
    text-align: center;

    color: #2f2f2f;
    text-wrap: balance;
}

/* Elimina márgenes internos que Elementor pueda añadir */
.filosofia-etiqueta p,
.filosofia-etiqueta h1,
.filosofia-etiqueta h2,
.filosofia-etiqueta h3,
.filosofia-titulo p,
.filosofia-titulo h1,
.filosofia-titulo h2,
.filosofia-titulo h3 {
    margin: 0;
    padding: 0;
}

/* Tablet */
@media (max-width: 1024px) {
    .seccion-filosofia {
        min-height: 360px;
        padding: 110px 40px;
    }

    .filosofia-contenido {
        max-width: 780px;
        gap: 28px;
    }

    .filosofia-etiqueta {
        font-size: 12px;
        letter-spacing: 4px;
    }

    .filosofia-titulo {
        max-width: 720px;
        font-size: clamp(36px, 5vw, 52px); /* CORREGIDO */
        line-height: 1.15;
    }
}

/* Móvil */
@media (max-width: 767px) {

    .seccion-filosofia {
        position: relative;
        z-index: 5;

        width: 100%;
        min-height: auto;

        padding: 72px 22px 78px;
        margin: 0;

        background-color: #ffffff;
        overflow: hidden;
    }

    .filosofia-contenido {
        width: 100%;
        max-width: 100%;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        gap: 20px;
        margin: 0 auto;
        padding: 0;
    }

    /* Etiqueta superior */
    .filosofia-etiqueta,
    .filosofia-etiqueta .elementor-heading-title,
    .filosofia-etiqueta p {
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;

        font-family: "Manrope", sans-serif;
        font-size: 10px !important;
        font-weight: 600;
        line-height: 1.5 !important;
        letter-spacing: 3px !important;

        text-align: center;
        text-transform: uppercase;
        color: #929292;
    }

    /* Contenedor del encabezado */
    .filosofia-titulo {
        width: 100% !important;
        max-width: 360px !important;

        margin: 0 auto !important;
        padding: 0 !important;
    }

    /* H2 interno generado por Elementor */
    .filosofia-titulo .elementor-heading-title,
    .filosofia-titulo h2,
    h2.filosofia-titulo {
        width: 100%;
        max-width: 360px;

        margin: 0 auto !important;
        padding: 0 !important;

        font-family: "Cormorant Garamond", serif;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        font-weight: 500;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;

        color: #2f2f2f;
        text-align: center;

        white-space: normal !important;
        overflow-wrap: normal !important;
        word-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
        text-wrap: balance;
    }
}

/* Sobre Mirla*/

.seccion-sobre-mirla {
    width: 100%;
    padding: 120px 6vw !important;
    margin: 0;
    background: #f6f6f3;
}

.sobre-mirla-contenido {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(50px, 6vw, 90px);
}

.sobre-mirla-imagen {
    width: 45%;
    overflow: hidden;
}

.sobre-mirla-imagen img {
    display: block;
    width: 100%;
    height: 680px;
    object-fit: cover;
    object-position: center top;
}

.sobre-mirla-texto {
    width: 55%;
    max-width: 620px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.sobre-mirla-etiqueta,
.sobre-mirla-etiqueta .elementor-heading-title {
    margin: 0 0 24px;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #929292;
}

.sobre-mirla-titulo,
.sobre-mirla-titulo .elementor-heading-title {
    margin: 0 0 34px;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4.5vw, 60px); /* CORREGIDO */
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: 0;
    color: #202020;
}

.sobre-mirla-parrafo,
.sobre-mirla-parrafo p {
    margin: 0 0 22px;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.75;
    color: #555555;
}

.sobre-mirla-boton {
    margin-top: 16px;
}

.sobre-mirla-boton .elementor-button {
    padding: 17px 32px;
    border: 1px solid #111111;
    border-radius: 0;
    background: #111111;

    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;

    color: #ffffff;
    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.sobre-mirla-boton .elementor-button:hover {
    background: transparent;
    color: #111111;
}

/* Tablet */
@media (max-width: 1024px) {
    .seccion-sobre-mirla {
        padding: 100px 5vw;
    }

    .sobre-mirla-contenido {
        gap: 48px;
    }

    .sobre-mirla-imagen {
        width: 43%;
    }

    .sobre-mirla-imagen img {
        height: 580px;
    }

    .sobre-mirla-texto {
        width: 57%;
    }

    .sobre-mirla-titulo,
    .sobre-mirla-titulo .elementor-heading-title {
        font-size: clamp(36px, 5vw, 52px); /* CORREGIDO */
    }

    .sobre-mirla-parrafo,
    .sobre-mirla-parrafo p {
        font-size: 16px;
        line-height: 1.7;
    }
}

/* Smartphone */
@media (max-width: 767px) {
    .seccion-sobre-mirla {
        padding: 80px 22px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .sobre-mirla-contenido {
        flex-direction: column;
        align-items: flex-start;
        gap: 50px;
        width: 100%;
        box-sizing: border-box;
    }

    .sobre-mirla-imagen,
    .sobre-mirla-texto {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        padding: 0 !important;
        margin: 0 !important;
    }

    .sobre-mirla-imagen img {
        height: auto;
        max-height: 520px;
        object-position: center top;
        width: 100%;
    }

    .sobre-mirla-etiqueta,
    .sobre-mirla-etiqueta .elementor-heading-title {
        margin-bottom: 18px !important;
        font-size: 11px !important;
        letter-spacing: 3px !important;
    }

    .sobre-mirla-titulo,
    .sobre-mirla-titulo .elementor-heading-title {
        margin-bottom: 26px !important;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        line-height: 1.05 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        text-wrap: balance;
        width: 100% !important;
    }

    .sobre-mirla-parrafo,
    .sobre-mirla-parrafo p {
        margin-bottom: 18px !important;
        font-size: 16px !important;
        line-height: 1.65 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        width: 100% !important;
    }

    .sobre-mirla-boton {
        width: 100%;
        margin-top: 12px;
    }

    .sobre-mirla-boton .elementor-button {
        width: 100%;
        justify-content: center;
    }
}





/* ==================================================
   SECCIÓN ÁREAS DE PRÁCTICA
   ================================================== */

.seccion-areas-practica {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 120px 6vw;

    background-color: #111111;
    overflow: hidden;
}

.areas-contenido {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 64px;
}

/* ==================================================
   ENCABEZADO
   ================================================== */

.areas-encabezado {
    width: 100%;
    max-width: 900px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    gap: 22px;
    margin: 0;
    padding: 0;
}

.areas-etiqueta {
    width: 100%;
    margin: 0;
    padding: 0;
}

.areas-etiqueta,
.areas-etiqueta .elementor-heading-title,
.areas-etiqueta p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 4px;
    text-transform: uppercase;

    color: #929292;
}

.areas-titulo {
    width: 100%;
    max-width: 850px;
    margin: 0;
    padding: 0;
}

.areas-titulo,
.areas-titulo .elementor-heading-title,
.areas-titulo h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4.5vw, 60px); /* CORREGIDO */
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: 0;

    color: #ffffff;
    text-align: left;

    text-wrap: balance;
}

/* ==================================================
   CUADRÍCULA
   ================================================== */

.areas-grid {
    width: 100%;
    margin: 0;
    padding: 0;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;

    border: 1px solid rgba(255, 255, 255, 0.22);
    
    box-sizing: border-box;
    overflow: hidden;
    
}

/* Corrige envoltorios Atomic de Elementor */
.areas-grid > .e-con,
.areas-grid > .elementor-element {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* ==================================================
   TARJETAS
   ================================================== */

.area-card {
    position: relative;

    width: 100% !important;
    min-width: 0;
    min-height: 390px;

    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    margin: 0 !important;
    padding: 52px !important;

    background-color: transparent;

    border: 0 !important;

    box-sizing: border-box;
    overflow: hidden;

    transition:
        background-color 0.3s ease,
        transform 0.3s ease;
}

/* Divisiones verticales:
   tarjetas 01 y 03 */
.areas-grid > .area-card:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.22) !important;
}

/* División horizontal:
   tarjetas 01 y 02 */
.areas-grid > .area-card:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
}

.area-card::before {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.05),
        transparent 55%
    );

    opacity: 0;
    pointer-events: none;

    transition: opacity 0.3s ease;
}

.area-card:hover {
    background-color: #181818;
}

.area-card:hover::before {
    opacity: 1;
}

/* ==================================================
   NÚMERO
   ================================================== */

.area-numero {
    position: relative;
    z-index: 2;

    width: 100%;
    margin: 0 0 42px !important;
    padding: 0 !important;
}

.area-numero,
.area-numero .elementor-heading-title,
.area-numero p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 3px;

    color: #747474;
}

/* ==================================================
   TÍTULO DE LA TARJETA
   ================================================== */

.area-nombre {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 470px;

    margin: 0 0 24px !important;
    padding: 0 !important;
}

.area-nombre,
.area-nombre .elementor-heading-title,
.area-nombre h3 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(30px, 3vw, 42px); /* CORREGIDO: Escala H3 uniforme para tarjetas */
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 0;

    color: #ffffff;

    text-wrap: balance;
}

/* ==================================================
   DESCRIPCIÓN
   ================================================== */

.area-descripcion {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 510px;

    margin: 0 0 34px !important;
    padding: 0 !important;
}

.area-descripcion,
.area-descripcion p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;

    color: #b8b8b8;
}

/* ==================================================
   ENLACE
   ================================================== */

.area-enlace {
    position: relative;
    z-index: 2;

    margin-top: auto !important;
    padding: 12px 0 0 !important;
}

.area-enlace a,
.area-enlace .elementor-button {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 0;
    background: transparent;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;

    color: #ffffff;
    text-decoration: none;

    transition:
        gap 0.25s ease,
        color 0.25s ease;
}

.area-enlace a::after,
.area-enlace .elementor-button::after {
    content: "→";
    display: inline-block;
    font-size: 16px;
    line-height: 1;

    transition: transform 0.25s ease;
}

.area-enlace a:hover,
.area-enlace .elementor-button:hover {
    gap: 17px;
    color: #d4d4d4;
}

.area-enlace a:hover::after,
.area-enlace .elementor-button:hover::after {
    transform: translateX(4px);
}

/* Ocultar iconos extra de Elementor */
.area-enlace .elementor-button-icon {
    display: none;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {
    .seccion-areas-practica {
        padding: 100px 5vw;
    }

    .areas-contenido {
        gap: 52px;
    }

    .areas-encabezado {
        max-width: 760px;
    }

    .areas-titulo,
    .areas-titulo .elementor-heading-title,
    .areas-titulo h2 {
        font-size: clamp(36px, 5vw, 52px); /* CORREGIDO */
    }

    .area-card {
        min-height: 380px;
        padding: 40px !important;
    }

    .area-numero {
        margin-bottom: 36px !important;
    }

    .area-nombre,
    .area-nombre .elementor-heading-title,
    .area-nombre h3 {
        font-size: clamp(28px, 4vw, 36px); /* CORREGIDO */
    }

    .area-descripcion,
    .area-descripcion p {
        font-size: 14px;
        line-height: 1.65;
    }
}

/* ==================================================
   SMARTPHONE
   ================================================== */

@media (max-width: 767px) {
    .seccion-areas-practica {
        padding: 82px 22px;
    }

    .areas-contenido {
        gap: 40px;
    }

    .areas-encabezado {
        max-width: 100%;
        gap: 20px;
    }

    .areas-etiqueta,
    .areas-etiqueta .elementor-heading-title,
    .areas-etiqueta p {
        font-size: 10px;
        letter-spacing: 3px;
    }

    .areas-titulo,
    .areas-titulo .elementor-heading-title,
    .areas-titulo h2 {
        font-size: clamp(32px, 9vw, 44px); /* CORREGIDO */
        line-height: 1.05;
    }

    .areas-grid {
    grid-template-columns: 1fr;
}

/* En móvil desaparece la división vertical */
.areas-grid > .area-card:nth-child(odd) {
    border-right: 0 !important;
}

/* Línea debajo de todas excepto la última */
.areas-grid > .area-card {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
}

.areas-grid > .area-card:last-child {
    border-bottom: 0 !important;
}

    .area-card {
        min-height: auto;
        padding: 38px 28px 42px !important;
    }

    .area-numero {
        margin-bottom: 32px !important;
    }

    .area-nombre {
        max-width: 100%;
        margin-bottom: 20px !important;
    }

    .area-nombre,
    .area-nombre .elementor-heading-title,
    .area-nombre h3 {
        font-size: clamp(26px, 8vw, 32px); /* CORREGIDO */
        line-height: 1.04;
    }

    .area-descripcion {
        max-width: 100%;
        margin-bottom: 28px !important;
    }

    .area-descripcion,
    .area-descripcion p {
        font-size: 15px;
        line-height: 1.65;
    }

    .area-enlace {
        margin-top: 0 !important;
    }
}

/* ==================================================
   ACCESIBILIDAD
   ================================================== */

@media (prefers-reduced-motion: reduce) {
    .area-card,
    .area-card::before,
    .area-enlace a,
    .area-enlace .elementor-button,
    .area-enlace a::after,
    .area-enlace .elementor-button::after {
        transition: none;
    }
}

/* ==================================================
   CORRECCIÓN DE BORDES DEL GRID
   ================================================== */

.areas-grid {
    border: 1px solid rgba(255, 255, 255, 0.22) !important;

    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;

    padding: 0 !important;
    box-sizing: border-box;
    overflow: hidden;
}

.areas-grid,
.areas-grid > * {
    box-sizing: border-box;
}

.areas-grid > .area-card {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    border: 0 !important;

    align-self: stretch !important;
    justify-self: stretch !important;
}

/* Línea vertical central */
.areas-grid > .area-card:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.22) !important;
}

/* Línea horizontal central */
.areas-grid > .area-card:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
}

@media (max-width: 767px) {
    .areas-grid > .area-card:nth-child(odd) {
        border-right: 0 !important;
    }

    .areas-grid > .area-card {
        border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
    }

    .areas-grid > .area-card:last-child {
        border-bottom: 0 !important;
    }
}


/* ==================================================
   ÁREAS DE PRÁCTICA
   AJUSTE TIPOGRÁFICO SMARTPHONE (Redundante agrupado)
   ================================================== */

@media (max-width: 767px) {

    .seccion-areas-practica {
        padding: 76px 20px !important;
    }

    .areas-contenido {
        gap: 38px !important;
    }

    .areas-encabezado {
        width: 100% !important;
        max-width: 100% !important;
        gap: 18px !important;
    }

    .areas-etiqueta,
    .areas-etiqueta .elementor-heading-title,
    .areas-etiqueta p {
        width: 100% !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
        letter-spacing: 2.6px !important;
        white-space: normal !important;
    }

    .areas-titulo {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .areas-titulo,
    .areas-titulo .elementor-heading-title,
    .areas-titulo h2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        font-family: "Cormorant Garamond", serif;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        font-weight: 500;
        line-height: 1.03 !important;
        letter-spacing: 0 !important;
        color: #ffffff;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    .areas-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    .area-card {
        width: 100% !important;
        min-height: auto !important;
        padding: 34px 26px 38px !important;
    }

    .area-numero {
        margin-bottom: 27px !important;
    }

    .area-numero,
    .area-numero .elementor-heading-title,
    .area-numero p {
        font-size: 10px !important;
        line-height: 1 !important;
        letter-spacing: 2.5px !important;
    }

    .area-nombre {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    .area-nombre,
    .area-nombre .elementor-heading-title,
    .area-nombre h3 {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(26px, 8vw, 32px) !important; /* CORREGIDO */
        line-height: 1.03 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    .area-descripcion {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 28px !important;
    }

    .area-descripcion,
    .area-descripcion p {
        font-size: 14px !important;
        line-height: 1.65 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .area-enlace {
        margin-top: 0 !important;
        padding-top: 4px !important;
    }

    .area-enlace a,
    .area-enlace .elementor-button {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
}


/* ==================================================
   SECCIÓN: POR QUÉ TRABAJAR CONMIGO
   ================================================== */

.seccion-por-que {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 130px 6vw;

    background-color: #f6f6f3;
    overflow: hidden;
}

.porque-contenido {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
    padding: 0;

    display: flex;
    flex-direction: column;
    align-items: stretch;

    gap: 70px;
}

/* ==================================================
   ENCABEZADO
   ================================================== */

.porque-encabezado {
    width: 100%;
    max-width: 900px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 22px;
    margin: 0;
    padding: 0;
}

.porque-etiqueta {
    width: 100%;
    margin: 0;
    padding: 0;
}

.porque-etiqueta,
.porque-etiqueta .elementor-heading-title,
.porque-etiqueta p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 4px;

    text-transform: uppercase;
    color: #8e8e8e;
}

.porque-titulo {
    width: 100%;
    max-width: 850px;

    margin: 0;
    padding: 0;
}

.porque-titulo,
.porque-titulo .elementor-heading-title,
.porque-titulo h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4.5vw, 60px); /* CORREGIDO */
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: 0;

    color: #202020;
    text-align: left;
    text-wrap: balance;
}

.porque-intro {
    width: 100%;
    max-width: 720px;

    margin: 0;
    padding: 0;
}

.porque-intro,
.porque-intro p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;

    color: #5a5a5a;
}

/* ==================================================
   GRID ATOMIC
   Elementor controla las columnas.
   CSS controla bordes, tamaño y apariencia.
   ================================================== */

.porque-grid {
    width: 100%;
    margin: 0;
    padding: 0;

    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;

    border-top: 1px solid rgba(17, 17, 17, 0.22);
    border-left: 1px solid rgba(17, 17, 17, 0.22);

    box-sizing: border-box;
}

.porque-grid,
.porque-grid > * {
    box-sizing: border-box;
}

/* ==================================================
   TARJETAS
   ================================================== */

.porque-card {
    position: relative;

    width: 100% !important;
    min-width: 0;
    min-height: 360px;

    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    margin: 0 !important;
    padding: 48px !important;

    background-color: transparent;

    border-right: 1px solid rgba(17, 17, 17, 0.22);
    border-bottom: 1px solid rgba(17, 17, 17, 0.22);

    box-sizing: border-box;
    overflow: hidden;

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}

/* Fondo sutil de hover */

.porque-card::before {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        rgba(17, 17, 17, 0.045),
        transparent 58%
    );

    opacity: 0;
    pointer-events: none;

    transition: opacity 0.3s ease;
}

.porque-card:hover {
    background-color: #eeeeea;
}

.porque-card:hover::before {
    opacity: 1;
}

/* ==================================================
   NÚMERO
   ================================================== */

.porque-numero {
    position: relative;
    z-index: 2;

    width: 100%;

    margin: 0 0 58px !important;
    padding: 0 !important;
}

.porque-numero,
.porque-numero .elementor-heading-title,
.porque-numero p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 3px;

    color: #969696;
}

/* ==================================================
   TÍTULO DE TARJETA
   ================================================== */

.porque-card-titulo {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 320px;

    margin: 0 0 24px !important;
    padding: 0 !important;
}

.porque-card-titulo,
.porque-card-titulo .elementor-heading-title,
.porque-card-titulo h3 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(30px, 3vw, 42px); /* CORREGIDO: Escala H3 unificada */
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: 0;

    color: #202020;
    text-wrap: balance;
}

/* ==================================================
   TEXTO DE TARJETA
   ================================================== */

.porque-card-texto {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 330px;

    margin: 0 !important;
    padding: 0 !important;
}

.porque-card-texto,
.porque-card-texto p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;

    color: #555555;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {
    .seccion-por-que {
        padding: 105px 5vw;
    }

    .porque-contenido {
        gap: 55px;
    }

    .porque-encabezado {
        max-width: 780px;
    }

    .porque-titulo,
    .porque-titulo .elementor-heading-title,
    .porque-titulo h2 {
        font-size: clamp(36px, 5vw, 52px); /* CORREGIDO */
    }

    .porque-intro,
    .porque-intro p {
        font-size: 17px;
    }

    .porque-card {
        min-height: 340px;
        padding: 40px !important;
    }

    .porque-numero {
        margin-bottom: 44px !important;
    }

    .porque-card-titulo,
    .porque-card-titulo .elementor-heading-title,
    .porque-card-titulo h3 {
        font-size: clamp(28px, 4vw, 36px); /* CORREGIDO */
    }

    .porque-card-texto,
    .porque-card-texto p {
        font-size: 14px;
        line-height: 1.65;
    }
}

/* ==================================================
   SMARTPHONE
   ================================================== */

@media (max-width: 767px) {
    .seccion-por-que {
        padding: 82px 22px;
    }

    .porque-contenido {
        gap: 42px;
    }

    .porque-encabezado {
        max-width: 100%;
        gap: 20px;
    }

    .porque-etiqueta,
    .porque-etiqueta .elementor-heading-title,
    .porque-etiqueta p {
        font-size: 10px;
        letter-spacing: 3px;
    }

    .porque-titulo,
    .porque-titulo .elementor-heading-title,
    .porque-titulo h2 {
        font-size: clamp(32px, 9vw, 44px); /* CORREGIDO */
        line-height: 1.05;
    }

    .porque-intro,
    .porque-intro p {
        font-size: 16px;
        line-height: 1.65;
    }

    .porque-card {
        min-height: auto;
        padding: 38px 28px 42px !important;
        
    }

    .porque-numero {
        margin-bottom: 34px !important;
    }

    .porque-card-titulo {
        max-width: 100%;
        margin-bottom: 20px !important;
    }

    .porque-card-titulo,
    .porque-card-titulo .elementor-heading-title,
    .porque-card-titulo h3 {
        font-size: clamp(26px, 8vw, 32px); /* CORREGIDO */
        line-height: 1.04;
    }

    .porque-card-texto {
        max-width: 100%;
    }

    .porque-card-texto,
    .porque-card-texto p {
        font-size: 15px;
        line-height: 1.65;
    }
}

/* ==================================================
   ACCESIBILIDAD
   ================================================== */

@media (prefers-reduced-motion: reduce) {
    .porque-card,
    .porque-card::before {
        transition: none;
    }
}



/* Marco exterior completo */
.porque-grid {
    border: 1px solid rgba(17, 17, 17, 0.22) !important;
}

/* Eliminar bordes de todas las tarjetas */
.porque-grid > .porque-card {
    border: 0 !important;
}

/* Divisiones verticales en escritorio: columnas 1 y 2 */
.porque-grid > .porque-card:not(:nth-child(3n)) {
    border-right: 1px solid rgba(17, 17, 17, 0.22) !important;
}

/* División horizontal: primeras tres tarjetas */
.porque-grid > .porque-card:nth-child(-n + 3) {
    border-bottom: 1px solid rgba(17, 17, 17, 0.22) !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .porque-grid > .porque-card {
        border: 0 !important;
    }

    .porque-grid > .porque-card:nth-child(odd) {
        border-right: 1px solid rgba(17, 17, 17, 0.22) !important;
    }

    .porque-grid > .porque-card:nth-child(-n + 4) {
        border-bottom: 1px solid rgba(17, 17, 17, 0.22) !important;
    }
}

@media (max-width: 767px) {
    .porque-grid > .porque-card {
        border: 0 !important;
        border-bottom: 1px solid rgba(17, 17, 17, 0.22) !important;
    }

    .porque-grid > .porque-card:last-child {
        border-bottom: 0 !important;
    }
    .porque-grid > .porque-card:not(:nth-child(3n)) {
    border-right:0 !important;
}
}

/* ==================================================
   POR QUÉ TRABAJAR CONMIGO
   AJUSTE TIPOGRÁFICO SMARTPHONE (Redundante agrupado)
   ================================================== */

@media (max-width: 767px) {

    .seccion-por-que {
        padding: 76px 20px !important;
    }

    .porque-contenido {
        gap: 38px !important;
    }

    .porque-encabezado {
        width: 100% !important;
        max-width: 100% !important;
        gap: 18px !important;
    }

    /* ETIQUETA */
    .porque-etiqueta,
    .porque-etiqueta .elementor-heading-title,
    .porque-etiqueta p {
        width: 100% !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
        letter-spacing: 2.6px !important;
        white-space: normal !important;
    }

    /* TÍTULO PRINCIPAL */
    .porque-titulo {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .porque-titulo,
    .porque-titulo .elementor-heading-title,
    .porque-titulo h2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        font-family: "Cormorant Garamond", serif;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        font-weight: 500;
        line-height: 1.03 !important;
        letter-spacing: 0 !important;
        color: #202020;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    /* INTRODUCCIÓN */
    .porque-intro {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .porque-intro,
    .porque-intro p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: "Manrope", sans-serif;
        font-size: 15px !important;
        font-weight: 400;
        line-height: 1.65 !important;
        color: #555555;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    /* GRID */
    .porque-grid {
        width: 100% !important;
    }

    /* TARJETAS */
    .porque-card {
        width: 100% !important;
        min-height: auto !important;
        padding: 34px 26px 38px !important;
    }

    /* NÚMERO */
    .porque-numero {
        margin-bottom: 27px !important;
    }

    .porque-numero,
    .porque-numero .elementor-heading-title,
    .porque-numero p {
        font-size: 10px !important;
        line-height: 1 !important;
        letter-spacing: 2.5px !important;
    }

    /* TÍTULO DE TARJETA */
    .porque-card-titulo {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    .porque-card-titulo,
    .porque-card-titulo .elementor-heading-title,
    .porque-card-titulo h3 {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(26px, 8vw, 32px) !important; /* CORREGIDO */
        line-height: 1.03 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    /* TEXTO DE TARJETA */
    .porque-card-texto {
        width: 100% !important;
        max-width: 100% !important;
    }

    .porque-card-texto,
    .porque-card-texto p {
        width: 100% !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}

/* ==================================================
   RECONOCIMIENTOS
   ================================================== */

.seccion-reconocimientos {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 130px 6vw;

    background-color: #111111;
    overflow: hidden;
}

.reconocimientos-contenido {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
    padding: 0;

    display: flex;
    flex-direction: column;
    align-items: stretch;

    gap: 80px;
}

/* ==================================================
   ENCABEZADO
   ================================================== */

.reconocimientos-encabezado {
    width: 100%;
    max-width: 900px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 22px;
    margin: 0;
    padding: 0;
}

.reconocimientos-etiqueta {
    width: 100%;
    margin: 0;
    padding: 0;
}

.reconocimientos-etiqueta,
.reconocimientos-etiqueta .elementor-heading-title,
.reconocimientos-etiqueta p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 4px;

    text-transform: uppercase;
    color: #929292;
}

.reconocimientos-titulo {
    width: 100%;
    max-width: 850px;

    margin: 0;
    padding: 0;
}

.reconocimientos-titulo,
.reconocimientos-titulo .elementor-heading-title,
.reconocimientos-titulo h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4.5vw, 60px); /* CORREGIDO */
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: 0;

    color: #ffffff;
    text-align: left;
    text-wrap: balance;
}

.reconocimientos-intro {
    width: 100%;
    max-width: 760px;

    margin: 0;
    padding: 0;
}

.reconocimientos-intro,
.reconocimientos-intro p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;

    color: #b8b8b8;
}

/* ==================================================
   LISTADO EDITORIAL
   ================================================== */

.reconocimientos-lista {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 0;
    margin: 0;
    padding: 0;

    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.reconocimiento-item {
    position: relative;

    width: 100%;
    min-height: 300px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    gap: clamp(50px, 8vw, 120px);

    margin: 0;
    padding: 58px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.2);

    transition: background-color 0.3s ease;
}

.reconocimiento-item::before {
    content: "";
    position: absolute;

    top: 0;
    bottom: 0;
    left: 50%;

    width: 1px;

    background-color: rgba(255, 255, 255, 0.12);
    pointer-events: none;
}

.reconocimiento-item::before {
    display: none !important;
}

.reconocimiento-item:hover {
    background-color: rgba(255, 255, 255, 0.025);
}

/* ==================================================
   LOGOTIPO
   ================================================== */

.reconocimiento-logo {
    width: 42%;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    padding: 0 50px 0 0;
}

.reconocimiento-logo-imagen {
    width: 100%;
    max-width: 190px;
}

.reconocimiento-logo-imagen img {
    display: block;

    width: 100%;
    height: auto;
    max-height: 90px;

    object-fit: contain;
    object-position: left center;

    filter: grayscale(1) brightness(0) invert(1);
    opacity: 0.72;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.reconocimiento-item:hover .reconocimiento-logo-imagen img {
    opacity: 1;
    transform: translateY(-3px);
}

/* ==================================================
   DATOS DEL RECONOCIMIENTO
   ================================================== */

.reconocimiento-datos {
    width: 58%;
    max-width: 610px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 18px;
    padding-left: 50px;
}

.reconocimiento-anio {
    margin: 0;
    padding: 0;
}

.reconocimiento-anio,
.reconocimiento-anio .elementor-heading-title,
.reconocimiento-anio p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 3px;

    color: #777777;
}

/* ==================================================
   NUEVA CLASE AÑADIDA: SUBTÍTULO
   ================================================== */
.reconocimiento-subtitulo {
    width: 100%;
    margin: 0;
    padding: 0;
}

.reconocimiento-subtitulo,
.reconocimiento-subtitulo .elementor-heading-title,
.reconocimiento-subtitulo h3,
.reconocimiento-subtitulo h4,
.reconocimiento-subtitulo p {
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff !important;
}

.reconocimiento-nombre {
    width: 100%;
    margin: 0;
    padding: 0;
}

.reconocimiento-nombre,
.reconocimiento-nombre .elementor-heading-title,
.reconocimiento-nombre h3 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(34px, 3.5vw, 46px); /* CORREGIDO */
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 0;

    color: #ffffff;
    text-wrap: balance;
}

.reconocimiento-texto {
    width: 100%;
    max-width: 560px;

    margin: 0;
    padding: 0;
}

.reconocimiento-texto,
.reconocimiento-texto p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;

    color: #b8b8b8;
}

/* ==================================================
   RECONOCIMIENTOS
   AJUSTE RESPONSIVE SMARTPHONE
   ================================================== */

@media (max-width: 767px) {

    /* ----------------------------------------------
       SECCIÓN
       ---------------------------------------------- */

    .seccion-reconocimientos {
        width: 100% !important;
        padding: 76px 20px !important;
        box-sizing: border-box;
        overflow: hidden;
    }

    .reconocimientos-contenido {
        width: 100% !important;
        max-width: 100% !important;
        gap: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ----------------------------------------------
       ENCABEZADO
       ---------------------------------------------- */

    .reconocimientos-encabezado {
        width: 100% !important;
        max-width: 100% !important;
        gap: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ----------------------------------------------
       ETIQUETA
       ---------------------------------------------- */

    .reconocimientos-etiqueta,
    .reconocimientos-etiqueta .elementor-heading-title,
    .reconocimientos-etiqueta p {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
        letter-spacing: 2.6px !important;
        white-space: normal !important;
    }

    /* ----------------------------------------------
       TÍTULO PRINCIPAL
       ---------------------------------------------- */

    .reconocimientos-titulo {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .reconocimientos-titulo,
    .reconocimientos-titulo .elementor-heading-title,
    .reconocimientos-titulo h2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        font-weight: 500;
        line-height: 1.03 !important;
        letter-spacing: 0 !important;
        color: #ffffff;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    /* ----------------------------------------------
       INTRODUCCIÓN
       ---------------------------------------------- */

    .reconocimientos-intro {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .reconocimientos-intro,
    .reconocimientos-intro p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: "Manrope", sans-serif;
        font-size: 15px !important;
        font-weight: 400;
        line-height: 1.65 !important;
        color: #b8b8b8;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    /* ----------------------------------------------
       RECONOCIMIENTOS
       ---------------------------------------------- */

    .reconocimiento-item {
        width: 100% !important;
        min-height: auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 32px !important;
        padding: 40px 0 !important;
    }

    .reconocimiento-logo,
    .reconocimiento-datos {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .reconocimiento-logo-imagen {
        max-width: 135px !important;
    }

    .reconocimiento-logo-imagen img {
        max-height: 65px !important;
    }

    /* ----------------------------------------------
       AÑO
       ---------------------------------------------- */

    .reconocimiento-anio,
    .reconocimiento-anio .elementor-heading-title,
    .reconocimiento-anio p {
        font-size: 10px !important;
        line-height: 1 !important;
        letter-spacing: 2.5px !important;
    }

    /* ----------------------------------------------
       SUBTÍTULO
       ---------------------------------------------- */

    .reconocimiento-subtitulo,
    .reconocimiento-subtitulo .elementor-heading-title,
    .reconocimiento-subtitulo h3,
    .reconocimiento-subtitulo h4,
    .reconocimiento-subtitulo p {
        width: 100% !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    /* ----------------------------------------------
       NOMBRE DEL RECONOCIMIENTO
       ---------------------------------------------- */

    .reconocimiento-nombre {
        width: 100% !important;
        max-width: 100% !important;
    }

    .reconocimiento-nombre,
    .reconocimiento-nombre .elementor-heading-title,
    .reconocimiento-nombre h3 {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(26px, 8vw, 34px) !important; /* CORREGIDO */
        line-height: 1.03 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    /* ----------------------------------------------
       TEXTO
       ---------------------------------------------- */

    .reconocimiento-texto {
        width: 100% !important;
        max-width: 100% !important;
    }

    .reconocimiento-texto,
    .reconocimiento-texto p {
        width: 100% !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    /* ----------------------------------------------
       TESTIMONIO
       ---------------------------------------------- */

    .reconocimiento-testimonio {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 58px 0 0 !important;
        gap: 20px !important;
    }

    .testimonio-comillas {
        font-size: 80px !important;
    }

    .testimonio-texto,
    .testimonio-texto .elementor-heading-title,
    .testimonio-texto blockquote,
    .testimonio-texto p {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(20px, 6.5vw, 26px) !important; /* CORREGIDO */
        line-height: 1.1 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-wrap: pretty !important;
    }

    .testimonio-fuente,
    .testimonio-fuente .elementor-heading-title,
    .testimonio-fuente p {
        font-size: 9px !important;
        letter-spacing: 1.4px !important;
        line-height: 1.5 !important;
    }
}

/* ==================================================
   TESTIMONIO
   ================================================== */

.reconocimiento-testimonio {
    position: relative;

    width: 100%;
    max-width: 980px;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 24px;

    margin: 20px auto 0;
    padding: 80px 40px 20px;

    text-align: center;
}

.testimonio-comillas {
    position: absolute;

    top: 0;
    left: 50%;

    transform: translateX(-50%);

    margin: 0;
    padding: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 120px;
    font-weight: 400;
    line-height: 1;

    color: rgba(255, 255, 255, 0.14);
}

.testimonio-texto {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 900px;

    margin: 0;
    padding: 0;
}

.testimonio-texto,
.testimonio-texto .elementor-heading-title,
.testimonio-texto blockquote,
.testimonio-texto p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(26px, 2.2vw, 34px); /* CORREGIDO: Reducido para no competir visualmente */
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: 0;

    color: #ffffff;
    text-align: center;
    text-wrap: balance;
}

.testimonio-fuente {
    width: 100%;
    margin: 0;
    padding: 0;
}

.testimonio-fuente,
.testimonio-fuente .elementor-heading-title,
.testimonio-fuente p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 2px;

    color: #8d8d8d;
    text-align: center;
    text-transform: uppercase;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {
    .seccion-reconocimientos {
        padding: 105px 5vw;
    }

    .reconocimientos-contenido {
        gap: 64px;
    }

    .reconocimientos-titulo,
    .reconocimientos-titulo .elementor-heading-title,
    .reconocimientos-titulo h2 {
        font-size: clamp(36px, 5vw, 52px); /* CORREGIDO */
    }

    .reconocimiento-item {
        min-height: 270px;
        gap: 40px;
        padding: 48px 0;
    }

    .reconocimiento-logo {
        width: 38%;
        padding-right: 35px;
    }

    .reconocimiento-datos {
        width: 62%;
        padding-left: 35px;
    }

    .reconocimiento-logo-imagen {
        max-width: 160px;
    }

    /* Ajuste para Tablet */
    .reconocimiento-subtitulo,
    .reconocimiento-subtitulo .elementor-heading-title,
    .reconocimiento-subtitulo h3,
    .reconocimiento-subtitulo h4,
    .reconocimiento-subtitulo p {
        font-size: 15px;
    }

    .reconocimiento-nombre,
    .reconocimiento-nombre .elementor-heading-title,
    .reconocimiento-nombre h3 {
        font-size: clamp(30px, 4vw, 40px); /* CORREGIDO */
    }

    .reconocimiento-texto,
    .reconocimiento-texto p {
        font-size: 15px;
    }

    .reconocimiento-testimonio {
        padding-top: 70px;
    }

    .testimonio-texto,
    .testimonio-texto .elementor-heading-title,
    .testimonio-texto blockquote,
    .testimonio-texto p {
        font-size: clamp(24px, 3vw, 30px); /* CORREGIDO */
    }
}

/* ==================================================
   SMARTPHONE
   ================================================== */

@media (max-width: 767px) {
    .seccion-reconocimientos {
        padding: 82px 22px;
    }

    .reconocimientos-contenido {
        gap: 48px;
    }

    .reconocimientos-encabezado {
        gap: 20px;
    }

    .reconocimientos-etiqueta,
    .reconocimientos-etiqueta .elementor-heading-title,
    .reconocimientos-etiqueta p {
        font-size: 10px;
        letter-spacing: 3px;
    }

    .reconocimientos-titulo,
    .reconocimientos-titulo .elementor-heading-title,
    .reconocimientos-titulo h2 {
        font-size: clamp(32px, 9vw, 44px); /* CORREGIDO */
        line-height: 1.05;
    }

    .reconocimientos-intro,
    .reconocimientos-intro p {
        font-size: 16px;
        line-height: 1.65;
    }

    .reconocimiento-item {
        min-height: auto;
        flex-direction: column;
        align-items: flex-start;
        gap: 38px;
        padding: 45px 0;
    }

    .reconocimiento-item::before {
        display: none;
    }

    .reconocimiento-logo,
    .reconocimiento-datos {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .reconocimiento-logo-imagen {
        max-width: 145px;
    }

    .reconocimiento-logo-imagen img {
        max-height: 70px;
    }

    .reconocimiento-datos {
        gap: 16px;
    }

    /* Ajuste para Smartphone */
    .reconocimiento-subtitulo,
    .reconocimiento-subtitulo .elementor-heading-title,
    .reconocimiento-subtitulo h3,
    .reconocimiento-subtitulo h4,
    .reconocimiento-subtitulo p {
        font-size: 14px;
    }

    .reconocimiento-nombre,
    .reconocimiento-nombre .elementor-heading-title,
    .reconocimiento-nombre h3 {
        font-size: clamp(26px, 8vw, 34px); /* CORREGIDO */
        line-height: 1.04;
    }

    .reconocimiento-texto,
    .reconocimiento-texto p {
        font-size: 15px;
        line-height: 1.65;
    }

    .reconocimiento-testimonio {
        margin-top: 5px;
        padding: 65px 0 0;
        gap: 22px;
    }

    .testimonio-comillas {
        font-size: 90px;
    }

    .testimonio-texto,
    .testimonio-texto .elementor-heading-title,
    .testimonio-texto blockquote,
    .testimonio-texto p {
        max-width: 100%;
        font-size: clamp(20px, 7vw, 26px); /* CORREGIDO */
        line-height: 1.12;
    }

    .testimonio-fuente,
    .testimonio-fuente .elementor-heading-title,
    .testimonio-fuente p {
        font-size: 10px;
        letter-spacing: 1.5px;
    }
}

/* ==================================================
   REDUCIR MOVIMIENTO
   ================================================== */

@media (prefers-reduced-motion: reduce) {
    .reconocimiento-item,
    .reconocimiento-logo-imagen img {
        transition: none;
    }
}

.reconocimiento-nombre,
.reconocimiento-nombre .elementor-heading-title {
    color: #ffffff !important;
}

.reconocimiento-anio,
.reconocimiento-anio .elementor-heading-title {
    color: #8a8a8a !important;
}

.reconocimiento-texto,
.reconocimiento-texto p {
    color: #c2c2c2 !important;
}

/*======================================
=            SECTION LABEL
======================================*/

.seccion-testimonios{
    padding:140px 6vw;
}

.section-label{
    width:100%;
    margin:0;
    padding:0;
}

.section-label,
.section-label .elementor-heading-title{

    font-family:"Manrope",sans-serif;
    font-size:12px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#929292;

    margin:0!important;
    padding:0!important;
}

/*======================================
=            SECTION TITLE
======================================*/

.section-title{
    width:100%;
    max-width:850px;
    margin:0;
    padding:0;
}

.section-title,
.section-title .elementor-heading-title{

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(40px,4.5vw,60px); /* CORREGIDO */
    font-weight:500;
    line-height:1.06;
    letter-spacing:0;
    color:inherit;
    text-wrap:balance;

    margin:0!important;
    padding:0!important;
}

/*======================================
=        SECTION DESCRIPTION
======================================*/

.section-description{
    width:100%;
    max-width:720px;
    margin:0;
    padding:0;
}

.section-description,
.section-description p{

    font-family:"Manrope",sans-serif;
    font-size:17px;
    font-weight:400;
    line-height:1.7;
    color:inherit;

    margin:0!important;
    padding:0!important;
}


@media(max-width:1024px){
    
.seccion-testimonios{
padding:110px 5vw;
}

.section-title,
.section-title .elementor-heading-title{
font-size:clamp(36px,5vw,52px); /* CORREGIDO */
}

.section-description,
.section-description p{
font-size:16px;
}

}

@media(max-width:767px){
    
.seccion-testimonios{
padding:90px 22px;
}

.section-label,
.section-label .elementor-heading-title{
font-size:10px;
letter-spacing:3px;
}

.section-title,
.section-title .elementor-heading-title{
font-size:clamp(32px,9vw,44px); /* CORREGIDO */
line-height:1.05;
}

.section-description,
.section-description p{
font-size:15px;
line-height:1.65;
}

}

.testimonios-contenido{
    gap: 80px;
}

/* ==================================================
   SECCIÓN TESTIMONIOS (GRID Y TARJETAS)
   ================================================== */
.testimonios-contenido {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* Se asegura el gap que definiste previamente */
    gap: 80px; 
}

.testimonios-encabezado {
    width: 100%;
    max-width: 900px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
}

.testimonios-grid {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    
    /* Borde exterior del grid */
    border: 1px solid rgba(17, 17, 17, 0.22);
    box-sizing: border-box;
}

.testimonio-card {
    position: relative;
    width: 100%;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    
    margin: 0;
    padding: 58px;
    
    background-color: transparent;
    border-right: 1px solid rgba(17, 17, 17, 0.22);
    
    box-sizing: border-box;
    overflow: hidden;
    transition: background-color 0.3s ease;
}

/* Quitar el borde derecho a la última tarjeta en desktop */
.testimonio-card:last-child {
    border-right: none;
}

/* Efecto Hover sutil igual al resto del sitio */
.testimonio-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(17, 17, 17, 0.04),
        transparent 60%
    );
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.testimonio-card:hover {
    background-color: #f9f9f9;
}

.testimonio-card:hover::before {
    opacity: 1;
}

.testimonio-icono {
    font-family: "Cormorant Garamond", serif;
    font-size: 80px;
    line-height: 0.5;
    color: #111111;
    opacity: 0.15;
    margin: 0 0 30px;
}

.testimonio-cita {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 500;
    line-height: 1.25;
    color: #202020;
    margin: 0 0 40px;
    text-wrap: balance;
}

.testimonio-autor {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: auto; /* Empuja el autor hacia abajo para alinear tarjetas */
}

.autor-nombre {
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #111111;
    margin: 0;
}

.autor-cargo {
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #777777;
    margin: 0;
}

/* ==================================================
   TABLET
   ================================================== */
@media (max-width: 1024px) {
    .testimonios-contenido {
        gap: 60px;
    }
    
    .testimonio-card {
        padding: 40px;
        min-height: 380px;
    }

    .testimonio-cita {
        font-size: 26px;
    }
}

/* ==================================================
   SMARTPHONE
   ================================================== */
@media (max-width: 767px) {
    .testimonios-contenido {
        gap: 40px;
    }

    .testimonios-encabezado {
        gap: 20px;
    }

    .testimonios-grid {
        grid-template-columns: 1fr;
    }

    .testimonio-card {
        border-right: none;
        border-bottom: 1px solid rgba(17, 17, 17, 0.22);
        padding: 40px 28px;
        min-height: auto;
    }

    .testimonio-card:last-child {
        border-bottom: none;
    }

    .testimonio-icono {
        font-size: 60px;
        margin-bottom: 20px;
    }

    .testimonio-cita {
        font-size: clamp(22px, 7vw, 26px);
        margin-bottom: 30px;
    }

    .autor-nombre {
        font-size: 14px;
    }

    .autor-cargo {
        font-size: 13px;
    }
}

/* ==================================================
   ACCESIBILIDAD
   ================================================== */
@media (prefers-reduced-motion: reduce) {
    .testimonio-card,
    .testimonio-card::before {
        transition: none;
    }
}


/* ==================================================
   TESTIMONIOS
   AJUSTE TIPOGRÁFICO SMARTPHONE (Agrupado)
   ================================================== */

@media (max-width: 767px) {

    .seccion-testimonios {
        width: 100% !important;
        padding: 76px 20px !important;
        box-sizing: border-box;
        overflow: hidden;
    }

    .testimonios-contenido {
        width: 100% !important;
        max-width: 100% !important;
        gap: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .testimonios-encabezado {
        width: 100% !important;
        max-width: 100% !important;
        gap: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ETIQUETA */
    .section-label,
    .section-label .elementor-heading-title {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
        letter-spacing: 2.6px !important;
        white-space: normal !important;
    }

    /* TÍTULO */
    .section-title {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .section-title,
    .section-title .elementor-heading-title {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        font-weight: 500;
        line-height: 1.03 !important;
        letter-spacing: 0 !important;
        color: inherit;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    /* DESCRIPCIÓN */
    .section-description {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .section-description,
    .section-description p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 1.65 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    /* GRID */
    .testimonios-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    /* TARJETAS */
    .testimonio-card {
        width: 100% !important;
        min-height: auto !important;
        padding: 34px 26px 38px !important;
    }

    .testimonio-icono {
        font-size: 54px !important;
        margin-bottom: 18px !important;
    }

    .testimonio-cita {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(20px, 6.5vw, 26px) !important;
        line-height: 1.2 !important;
        margin-bottom: 28px !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-wrap: pretty !important;
    }

    .autor-nombre {
        font-size: 13px !important;
    }

    .autor-cargo {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
}


/* ==================================================
   CTA FINAL
   ================================================== */

.seccion-cta {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 130px 6vw;

    background-color: #111111;
    color: #ffffff;

    overflow: hidden;
}


/* ==================================================
   CONTENIDO
   ================================================== */

.cta-contenido {
    position: relative;
    width: 100%;
    max-width: 1280px;

    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    gap: clamp(60px, 7vw, 110px);

    margin: 0 auto;
    padding: 0;
}


/* ==================================================
   COLUMNA DE TEXTO
   ================================================== */

.cta-textos {
    position: relative;
    z-index: 2;

    width: 55%;
    max-width: 690px;

    display: flex !important;
    flex-direction: column;
    align-items: flex-start;

    gap: 24px;

    margin: 0;
    padding: 0;
}


/* ==================================================
   ETIQUETA
   ================================================== */

.cta-etiqueta,
.cta-etiqueta .elementor-heading-title,
.cta-etiqueta p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 4px;
    text-transform: uppercase;

    color: #8f8f8f;
}


/* ==================================================
   TÍTULO
   ================================================== */

.cta-titulo {
    width: 100%;
    max-width: 690px;

    margin: 0;
    padding: 0;
}

.cta-titulo,
.cta-titulo .elementor-heading-title,
.cta-titulo h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4.5vw, 60px); /* CORREGIDO */
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.5px;

    color: #ffffff;
    text-align: left;
    text-wrap: balance;
}


/* ==================================================
   DESCRIPCIÓN
   ================================================== */

.cta-descripcion {
    width: 100%;
    max-width: 570px;

    margin: 4px 0 0;
    padding: 0;
}

.cta-descripcion,
.cta-descripcion p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;

    color: #b8b8b8;
}


/* ==================================================
   ACCIONES
   ================================================== */

.cta-acciones {
    width: 100%;

    display: flex !important;
    align-items: center;
    justify-content: flex-start;

    margin: 14px 0 0;
    padding: 0;
}


/* ==================================================
   BOTÓN
   ================================================== */

.cta-boton .elementor-button,
.cta-boton a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;

    gap: 14px;
    min-height: 54px;
    padding: 17px 30px;

    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 0;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;

    color: #111111;
    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        gap 0.25s ease;
}


.cta-boton .elementor-button::after,
.cta-boton a::after {
    content: "→";
    display: inline-block;
    font-size: 17px;
    line-height: 1;
    transition: transform 0.25s ease;
}


.cta-boton .elementor-button:hover,
.cta-boton a:hover {
    background-color: transparent;
    color: #ffffff;
    gap: 19px;
}


.cta-boton .elementor-button:hover::after,
.cta-boton a:hover::after {
    transform: translateX(4px);
}


/* Ocultamos iconos introducidos por Elementor */
.cta-boton .elementor-button-icon {
    display: none;
}


/* ==================================================
   COLUMNA VISUAL
   ================================================== */

.cta-visual {
    position: relative;

    width: 45%;
    min-width: 0;

    display: flex !important;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;
}


/* ==================================================
   IMAGEN
   ================================================== */

.cta-imagen {
    position: relative;
    width: 100%;
    max-width: 470px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}


.cta-imagen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;

    object-fit: cover;
    object-position: center top;

   filter: saturate(72%) contrast(1.04) brightness(.98) !important;

    transition:
        transform 0.6s ease,
        filter 0.6s ease;
}


/* Gradiente inferior muy sutil */

.cta-imagen::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            transparent 68%,
            rgba(17, 17, 17, 0.38) 100%
        );
}


.cta-imagen:hover img {
    transform: scale(1.02);
    filter: grayscale(75%);
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {

    .seccion-cta {
        padding: 105px 5vw;
    }

    .cta-contenido {
        gap: 50px;
    }

    .cta-textos {
        width: 56%;
    }

    .cta-visual {
        width: 44%;
    }

    .cta-titulo,
    .cta-titulo .elementor-heading-title,
    .cta-titulo h2 {
        font-size: clamp(36px, 5vw, 52px); /* CORREGIDO */
        line-height: 1.03;
    }

    .cta-descripcion,
    .cta-descripcion p {
        font-size: 15px;
    }

    .cta-imagen {
        max-width: 390px;
    }

}


/* ==================================================
   CTA - SMARTPHONE
   ================================================== */

@media (max-width: 767px) {

    .seccion-cta {
        width: 100%;
        padding: 80px 22px 0 !important;
        margin: 0;

        background: #111111;
        overflow: hidden;
    }

    /* ----------------------------------------------
       CONTENEDOR GENERAL
       ---------------------------------------------- */

    .cta-contenido {
        width: 100% !important;
        max-width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: stretch !important;
        justify-content: flex-start !important;

        gap: 52px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* Corrige wrappers de Elementor Atomic */
    .cta-contenido > .e-con,
    .cta-contenido > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    /* ----------------------------------------------
       TEXTOS
       ---------------------------------------------- */

    .cta-textos {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;

        gap: 20px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* ----------------------------------------------
       ETIQUETA
       ---------------------------------------------- */

    .cta-etiqueta,
    .cta-etiqueta .elementor-heading-title,
    .cta-etiqueta p {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        font-family: "Manrope", sans-serif;
        font-size: 10px !important;
        font-weight: 600;

        line-height: 1.4 !important;
        letter-spacing: 3px !important;

        text-transform: uppercase;

        color: #949494;
    }

    /* ----------------------------------------------
       TÍTULO
       ---------------------------------------------- */

    .cta-titulo {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    .cta-titulo,
    .cta-titulo .elementor-heading-title,
    .cta-titulo h2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        font-family: "Cormorant Garamond", serif;
        font-size: clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        font-weight: 500;
        line-height: 1.04 !important;
        letter-spacing: 0 !important;

        color: #ffffff;
        text-align: left;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-wrap: balance;
    }

    /* ----------------------------------------------
       DESCRIPCIÓN
       ---------------------------------------------- */

    .cta-descripcion {
        width: 100% !important;
        max-width: 420px !important;

        margin: 4px 0 0 !important;
        padding: 0 !important;
    }


    .cta-descripcion,
    .cta-descripcion p {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        font-family: "Manrope", sans-serif;
        font-size: 15px !important;
        font-weight: 400;

        line-height: 1.65 !important;
        color: #b8b8b8;

        white-space: normal !important;
        word-break: normal !important;
    }

    /* ----------------------------------------------
       ACCIONES
       ---------------------------------------------- */

    .cta-acciones {
        width: 100% !important;
        display: flex !important;
        margin: 12px 0 0 !important;
        padding: 0 !important;
    }

    .cta-boton {
        width: 100% !important;
    }

    .cta-boton .elementor-button,
    .cta-boton a {
        width: 100% !important;
        min-height: 56px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;

        padding: 18px 22px !important;

        background: #ffffff;
        border: 1px solid #ffffff;
        border-radius: 0;

        font-family: "Manrope", sans-serif;
        font-size: 13px;
        font-weight: 600;
        color: #111111;
    }


    /* ----------------------------------------------
       CONTENEDOR DE LA FOTO
       ---------------------------------------------- */

    .cta-visual {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;

        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* ----------------------------------------------
       FOTO
       ---------------------------------------------- */

    .cta-imagen {
        width: 100% !important;
        max-width: 430px !important;

        margin: 0 auto !important;
        padding: 0 !important;

        overflow: hidden;
    }


    .cta-imagen img {
        display: block;

        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 5;

        object-fit: cover;
        object-position: center top;

        filter:
            saturate(78%)
            contrast(1.03)
            brightness(.98);

        margin: 0;
    }

}


/* ==================================================
   SMARTPHONE PEQUEÑO
   ================================================== */

@media (max-width: 430px) {

    .seccion-cta {
        padding: 72px 20px 0 !important;
    }

    .cta-contenido {
        gap: 46px !important;
    }

    .cta-titulo,
    .cta-titulo .elementor-heading-title,
    .cta-titulo h2 {
        font-size: clamp(28px, 9vw, 36px) !important; /* CORREGIDO */
        line-height: 1.03 !important;
    }

    .cta-descripcion,
    .cta-descripcion p {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .cta-imagen {
        max-width: 360px !important;
    }

}


/* ==================================================
   ACCESIBILIDAD
   ================================================== */

@media (prefers-reduced-motion: reduce) {

    .cta-boton .elementor-button,
    .cta-boton a,
    .cta-boton .elementor-button::after,
    .cta-boton a::after,
    .cta-imagen img {
        transition: none;
    }


    .cta-imagen:hover img {
        transform: none;
    }

}/* End custom CSS */