.elp-home{--elp-navy:#062b3d;--elp-cyan:#11b8ca;--elp-hover:#00a2ff;background:#fff;padding:90px 0;font-family:Manrope,Arial,sans-serif;overflow:hidden;text-align:center}.elp-home *{box-sizing:border-box}.elp-heading{padding:0 20px}.elp-heading>span{color:var(--elp-cyan);font-size:13px;font-weight:800;letter-spacing:2px}.elp-heading h2{color:var(--elp-navy);font-size:clamp(30px,4vw,44px);font-weight:800;margin:18px 0 12px}.elp-heading p{color:#586875;margin:0 0 30px}.elp-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 15px;margin-bottom:35px}.elp-filter{cursor:pointer;border:1px solid #d9e3e8;background:#fff;color:var(--elp-navy);padding:10px 22px;border-radius:3px;font:700 14px Manrope,Arial,sans-serif}.elp-filter.is-active,.elp-filter:hover{background:var(--elp-cyan);border-color:var(--elp-cyan);color:#fff}.elp-stage{position:relative;max-width:100%;display:flex;align-items:center;justify-content:center;gap:15px;padding:0 20px}.elp-track{display:flex;align-items:center;justify-content:center;gap:30px;min-width:0;flex:1;max-width:1280px}.elp-project{display:block;position:relative;flex:0 1 650px;min-width:0;height:420px;border-radius:5px;overflow:hidden;background:#e9eef0;text-align:left;isolation:isolate}.elp-project>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}.elp-project:hover>img,.elp-project:focus-within>img{transform:scale(1.05) rotate(1deg)}.elp-project:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent,rgba(0,0,0,.8));transition:opacity .5s}.elp-project:hover:before,.elp-project:focus-within:before{opacity:0}.elp-project .elp-color{position:absolute;inset:0;z-index:2;background:rgba(0,162,255,.9);opacity:0;transform:perspective(700px) rotateX(-90deg);transform-origin:top;transition:transform .5s ease,opacity .5s ease;pointer-events:none}.elp-project:hover .elp-color,.elp-project:focus-within .elp-color{opacity:1;transform:perspective(700px) rotateX(0)}.elp-project .elp-title{position:absolute;z-index:3;bottom:0;left:0;right:0;color:#fff;padding:65px 22px 22px;text-align:left;font-weight:800;font-size:15px;transition:opacity .3s}.elp-project:hover .elp-title,.elp-project:focus-within .elp-title{opacity:0}.elp-project .elp-overlay-title{position:absolute;z-index:4;left:30px;right:90px;bottom:30px;color:#fff;opacity:0;transform:scaleY(0);transform-origin:bottom;transition:opacity .5s ease,transform .5s ease;pointer-events:none}.elp-project:hover .elp-overlay-title,.elp-project:focus-within .elp-overlay-title{opacity:1;transform:scaleY(1)}.elp-overlay-title h3{margin:0;color:#fff;font:800 clamp(19px,2.2vw,27px)/1.3 Manrope,Arial,sans-serif}.elp-overlay-title p{margin:0 0 8px;color:#fff;font-size:13px;font-weight:700}.elp-project .elp-actions{position:absolute;z-index:5;top:25px;right:25px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateX(55px);transition:opacity .5s ease,transform .5s ease}.elp-project:hover .elp-actions,.elp-project:focus-within .elp-actions{opacity:1;transform:translateX(0)}.elp-actions a,.elp-actions button{display:flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:0;border-radius:3px;background:#fff;color:var(--elp-navy);font-size:25px;text-decoration:none;cursor:pointer;transition:background .25s,color .25s}.elp-actions a:hover,.elp-actions button:hover,.elp-actions a:focus-visible,.elp-actions button:focus-visible{background:var(--elp-navy);color:#fff}.elp-prev,.elp-next{flex:0 0 45px;width:45px;height:45px;border:1px solid #dce4e8;border-radius:50%;background:#fff;color:var(--elp-navy);cursor:pointer;font-size:22px}.elp-prev:disabled,.elp-next:disabled{opacity:.3;cursor:not-allowed}.elp-empty{padding:45px 20px;color:#52616b}.elp-all{display:inline-block;margin-top:35px;padding:15px 25px;background:var(--elp-navy);color:#fff!important;text-decoration:none;font-weight:700}.elp-all:hover{background:var(--elp-cyan)}.elp-lightbox[hidden]{display:none!important}.elp-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:60px 25px 30px;background:rgba(0,0,0,.9)}.elp-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 100px);object-fit:contain}.elp-lightbox-close{position:absolute;right:20px;top:15px;background:#fff;color:#111;border:0;border-radius:50%;width:42px;height:42px;font-size:27px;cursor:pointer}.elp-lightbox-caption{position:absolute;bottom:8px;left:20px;right:20px;text-align:center;color:#fff;font:600 14px Manrope,Arial,sans-serif}@media(max-width:767px){.elp-home{padding:65px 0}.elp-stage{padding:0 10px;gap:6px}.elp-project{height:290px}.elp-prev,.elp-next{flex-basis:32px;width:32px;height:32px}.elp-project .elp-title{font-size:16px}.elp-filter{padding:8px 12px}.elp-project .elp-actions{opacity:1;transform:none;top:12px;right:12px}.elp-actions a,.elp-actions button{width:40px;height:40px;font-size:20px}.elp-project .elp-overlay-title{opacity:1;transform:none;left:15px;bottom:15px;right:15px}.elp-project .elp-title{display:none}.elp-project .elp-color{opacity:1;transform:none;background:linear-gradient(transparent,rgba(0,0,0,.75))}.elp-overlay-title h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.elp-home *{transition:none!important}}

/* ELENGY v1.0: carrusel de tres tarjetas */
.elp-home .elp-stage{max-width:1600px;margin:0 auto;gap:15px;padding:0 20px}
.elp-home .elp-track{display:flex;align-items:stretch;justify-content:center;gap:24px;max-width:none;width:100%;min-width:0}
.elp-home .elp-project{flex:1 1 0;width:0;min-width:0;height:390px;border-radius:5px}
.elp-home .elp-project .elp-actions{flex-direction:row;top:20px;right:20px;gap:9px}
.elp-home .elp-actions a,.elp-home .elp-actions button{width:46px;height:46px;font-size:23px}
.elp-home .elp-prev,.elp-home .elp-next{flex:0 0 44px;width:44px;height:44px}
.elp-home .elp-project .elp-overlay-title{left:24px;right:20px;bottom:24px}
.elp-home .elp-project .elp-overlay-title h3{font-size:clamp(16px,1.3vw,20px)}
@media(max-width:1023px){.elp-home .elp-track{gap:16px}.elp-home .elp-project{height:350px}}
@media(max-width:767px){.elp-home .elp-stage{padding:0 8px;gap:5px}.elp-home .elp-track{gap:0}.elp-home .elp-project{height:340px}.elp-home .elp-prev,.elp-home .elp-next{flex:0 0 32px;width:32px;height:32px}.elp-home .elp-project .elp-actions{top:12px;right:12px}.elp-home .elp-actions a,.elp-home .elp-actions button{width:38px;height:38px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.elp-home *{scroll-behavior:auto!important}}

/* Correcci贸n v1.0.0: ranuras de ancho fijo y fotograf铆a sin bandas. */
.elp-home .elp-track{display:grid!important;grid-template-columns:repeat(var(--elp-slots,3),minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:24px;width:100%;min-width:0;max-width:none}
.elp-home .elp-project{position:relative;display:block;width:100%!important;min-width:0;min-height:0;height:390px;flex:none!important;overflow:hidden;background:#e9eef0}
.elp-home .elp-project>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;border:0!important}
.elp-home .elp-project.elp-placeholder{background:#f2f5f7;border:1px dashed #dce4e8;box-shadow:none;pointer-events:none}
.elp-home .elp-project.elp-placeholder::before{display:none}
.elp-home .elp-project .elp-actions{flex-direction:row}
@media(max-width:1023px){.elp-home .elp-track{gap:16px}.elp-home .elp-project{height:350px}}
@media(max-width:767px){.elp-home .elp-track{gap:0}.elp-home .elp-project{height:340px}}


/* =========================================================
   ELENGY - FILTROS DE PAÍSES HOME
   Banderas protagonistas + icono mundial
   ========================================================= */

.elp-home .elp-filters{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;

    gap:28px;

    padding:0 15px;
    margin:32px 0 35px;
}


/* =========================================================
   FILTRO BASE
   ========================================================= */

.elp-home .elp-filter{
    position:relative;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    width:58px;
    min-width:58px;
    min-height:72px;

    padding:0 2px 11px;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    box-shadow:none !important;

    color:var(--elp-navy);

    font-family:Manrope,Arial,sans-serif;
    font-size:12px;
    font-weight:700;
    line-height:1.15;

    cursor:pointer;

    transition:
        color .25s ease,
        transform .25s ease;
}


/* =========================================================
   BANDERAS
   ========================================================= */

.elp-home .elp-country-flag{
    position:static !important;

    display:block;

    width:auto;
    height:38px;
    max-width:50px;

    object-fit:contain;

    margin:0 auto 8px;

    transform:none !important;

    transition:
        transform .25s ease,
        filter .25s ease;
}


/* =========================================================
   ICONO MUNDO - TODOS
   ========================================================= */

.elp-home .elp-world-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    margin:0 auto 8px;

    color:var(--elp-cyan);

    transition:
        transform .25s ease,
        color .25s ease;
}


.elp-home .elp-world-icon svg{
    display:block;

    width:38px;
    height:38px;

    fill:none;

    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* =========================================================
   TEXTO
   ========================================================= */

.elp-home .elp-filter-name{
    display:block;

    margin:0;
    padding:0;

    line-height:1.15;
    white-space:nowrap;
}


/* =========================================================
   HOVER
   ========================================================= */

.elp-home .elp-filter:hover{
    color:var(--elp-cyan) !important;
}


/* Bandera */
.elp-home .elp-filter-country:hover .elp-country-flag{
    transform:scale(1.10) !important;
}


/* Mundo */
.elp-home .elp-filter-all:hover .elp-world-icon{
    transform:scale(1.10);
}


/* =========================================================
   ACTIVO
   ========================================================= */

.elp-home .elp-filter.is-active{
    color:var(--elp-cyan) !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}


/* Línea indicadora */
.elp-home .elp-filter.is-active::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:0;

    width:30px;
    height:2px;

    border-radius:2px;

    background:var(--elp-cyan);

    transform:translateX(-50%);
}


/* =========================================================
   FOCUS
   ========================================================= */

.elp-home .elp-filter:focus{
    outline:none;
}


.elp-home .elp-filter:focus-visible{
    outline:2px solid var(--elp-cyan);
    outline-offset:5px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1023px){

    .elp-home .elp-filters{
        gap:24px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media(max-width:767px){

    .elp-home .elp-filters{
        gap:16px;

        padding:0 8px;

        margin-top:27px;
        margin-bottom:30px;
    }


    .elp-home .elp-filter{
        width:52px;
        min-width:52px;
        min-height:64px;

        padding-bottom:9px;

        font-size:11px;
    }


    /* BANDERAS */
    .elp-home .elp-country-flag{
        height:32px;
        max-width:44px;

        margin-bottom:7px;
    }


    /* MUNDO */
    .elp-home .elp-world-icon{
        width:32px;
        height:32px;

        margin-bottom:7px;
    }


    .elp-home .elp-world-icon svg{
        width:32px;
        height:32px;
    }


    /* ACTIVO */
    .elp-home .elp-filter.is-active::after{
        width:25px;
    }

}


/* =========================================================
   MÓVILES PEQUEÑOS
   ========================================================= */

@media(max-width:390px){

    .elp-home .elp-filters{
        gap:11px;
    }


    .elp-home .elp-filter{
        width:50px;
        min-width:50px;
    }

}