.elementor-4808 .elementor-element.elementor-element-74cf85eb{--display:flex;--min-height:100dvh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;--overflow:auto;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4808 .elementor-element.elementor-element-35ebf9a2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-4808 .elementor-element.elementor-element-22b0b17e .elementor-icon-wrapper{text-align:center;}.elementor-4808 .elementor-element.elementor-element-22b0b17e.elementor-view-stacked .elementor-icon{background-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-22b0b17e.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-22b0b17e.elementor-view-default .elementor-icon{color:#1A1A1A;border-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-22b0b17e.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-22b0b17e.elementor-view-default .elementor-icon svg{fill:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-22b0b17e .elementor-icon{font-size:14px;}.elementor-4808 .elementor-element.elementor-element-22b0b17e .elementor-icon svg{height:14px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4808 .elementor-element.elementor-element-63ed9d39 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-63ed9d39{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-4808 .elementor-element.elementor-element-6036fc14{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4808 .elementor-element.elementor-element-7b7a5447 .elementor-icon-wrapper{text-align:center;}.elementor-4808 .elementor-element.elementor-element-7b7a5447.elementor-view-stacked .elementor-icon{background-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7b7a5447.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-7b7a5447.elementor-view-default .elementor-icon{color:#1A1A1A;border-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7b7a5447.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-7b7a5447.elementor-view-default .elementor-icon svg{fill:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7b7a5447 .elementor-icon{font-size:14px;}.elementor-4808 .elementor-element.elementor-element-7b7a5447 .elementor-icon svg{height:14px;}.elementor-4808 .elementor-element.elementor-element-20468543 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-20468543{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-4808 .elementor-element.elementor-element-353854f3 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-353854f3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 047px;}.elementor-4808 .elementor-element.elementor-element-72cb3357 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-72cb3357{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 47px;}.elementor-4808 .elementor-element.elementor-element-37f666de .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-37f666de{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 47px;}.elementor-4808 .elementor-element.elementor-element-50dd7136{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4808 .elementor-element.elementor-element-7f39dde2 .elementor-icon-wrapper{text-align:center;}.elementor-4808 .elementor-element.elementor-element-7f39dde2.elementor-view-stacked .elementor-icon{background-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7f39dde2.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-7f39dde2.elementor-view-default .elementor-icon{color:#1A1A1A;border-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7f39dde2.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-7f39dde2.elementor-view-default .elementor-icon svg{fill:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7f39dde2 .elementor-icon{font-size:14px;}.elementor-4808 .elementor-element.elementor-element-7f39dde2 .elementor-icon svg{height:14px;}.elementor-4808 .elementor-element.elementor-element-7e767091 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-7e767091{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-4808 .elementor-element.elementor-element-2ec901de{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4808 .elementor-element.elementor-element-1c91434b .elementor-icon-wrapper{text-align:center;}.elementor-4808 .elementor-element.elementor-element-1c91434b.elementor-view-stacked .elementor-icon{background-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-1c91434b.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-1c91434b.elementor-view-default .elementor-icon{color:#1A1A1A;border-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-1c91434b.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-1c91434b.elementor-view-default .elementor-icon svg{fill:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-1c91434b .elementor-icon{font-size:14px;}.elementor-4808 .elementor-element.elementor-element-1c91434b .elementor-icon svg{height:14px;}.elementor-4808 .elementor-element.elementor-element-3a955654 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-3a955654{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-4808 .elementor-element.elementor-element-6a0840d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4808 .elementor-element.elementor-element-72221a09 .elementor-icon-wrapper{text-align:center;}.elementor-4808 .elementor-element.elementor-element-72221a09.elementor-view-stacked .elementor-icon{background-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-72221a09.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-72221a09.elementor-view-default .elementor-icon{color:#1A1A1A;border-color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-72221a09.elementor-view-framed .elementor-icon, .elementor-4808 .elementor-element.elementor-element-72221a09.elementor-view-default .elementor-icon svg{fill:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-72221a09 .elementor-icon{font-size:14px;}.elementor-4808 .elementor-element.elementor-element-72221a09 .elementor-icon svg{height:14px;}.elementor-4808 .elementor-element.elementor-element-31886285 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-31886285{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-4808 .elementor-element.elementor-element-44329e36 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;text-transform:capitalize;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-44329e36{margin:60px 0px calc(var(--kit-widget-spacing, 0px) + 010px) 0px;}.elementor-4808 .elementor-element.elementor-element-1b96008a .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;color:#1A1A1A;}.elementor-4808 .elementor-element.elementor-element-1b96008a{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 010px) 0px;}.elementor-4808 .elementor-element.elementor-element-5c5b24d8{--grid-template-columns:repeat(0, auto);text-align:left;--icon-size:21px;--grid-column-gap:5px;--grid-row-gap:0px;margin:-21px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;padding:0px 0px 0px 0px;z-index:1001;}.elementor-4808 .elementor-element.elementor-element-5c5b24d8 .elementor-social-icon{background-color:#02010100;}.elementor-4808 .elementor-element.elementor-element-5c5b24d8 .elementor-social-icon i{color:#C5A059;}.elementor-4808 .elementor-element.elementor-element-5c5b24d8 .elementor-social-icon svg{fill:#C5A059;}#elementor-popup-modal-4808 .dialog-message{width:40vw;height:100vh;align-items:flex-start;}#elementor-popup-modal-4808{justify-content:flex-end;align-items:flex-start;pointer-events:all;}#elementor-popup-modal-4808 .dialog-close-button{display:flex;font-size:18px;}#elementor-popup-modal-4808 .dialog-widget-content{animation-duration:0.9s;background-color:#F2F0EB;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}body:not(.rtl) #elementor-popup-modal-4808 .dialog-close-button{right:10%;}body.rtl #elementor-popup-modal-4808 .dialog-close-button{left:10%;}#elementor-popup-modal-4808 .dialog-close-button i{color:#1A1A1A;}#elementor-popup-modal-4808 .dialog-close-button svg{fill:#1A1A1A;}@media(max-width:767px){.elementor-4808 .elementor-element.elementor-element-74cf85eb{--padding-top:8vw;--padding-bottom:20vw;--padding-left:8vw;--padding-right:8vw;--z-index:1001;}.elementor-4808 .elementor-element.elementor-element-63ed9d39 .elementor-heading-title{font-size:3.9vw;letter-spacing:0.1em;}.elementor-4808 .elementor-element.elementor-element-7b7a5447{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-4808 .elementor-element.elementor-element-20468543 .elementor-heading-title{font-size:3.9vw;letter-spacing:0.1em;}.elementor-4808 .elementor-element.elementor-element-353854f3 .elementor-heading-title{font-size:3.5vw;letter-spacing:0.04em;}.elementor-4808 .elementor-element.elementor-element-72cb3357 .elementor-heading-title{font-size:3.5vw;letter-spacing:0.04em;}.elementor-4808 .elementor-element.elementor-element-37f666de .elementor-heading-title{font-size:3.5vw;letter-spacing:0.04em;}.elementor-4808 .elementor-element.elementor-element-7e767091 .elementor-heading-title{font-size:3.9vw;letter-spacing:0.1em;}.elementor-4808 .elementor-element.elementor-element-3a955654 .elementor-heading-title{font-size:3.9vw;letter-spacing:0.1em;}.elementor-4808 .elementor-element.elementor-element-31886285 .elementor-heading-title{font-size:3.9vw;}.elementor-4808 .elementor-element.elementor-element-44329e36 .elementor-heading-title{font-size:3.5vw;}.elementor-4808 .elementor-element.elementor-element-1b96008a .elementor-heading-title{font-size:3.9vw;letter-spacing:0.1em;}.elementor-4808 .elementor-element.elementor-element-5c5b24d8{text-align:left;--grid-column-gap:20px;margin:-21px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}#elementor-popup-modal-4808 .dialog-message{width:100vw;padding:0px 0px 0px 0px;}#elementor-popup-modal-4808{justify-content:center;align-items:flex-end;}#elementor-popup-modal-4808 .dialog-close-button{font-size:22px;}#elementor-popup-modal-4808 .dialog-widget-content{margin:0px 0px 0px 0px;}}/* Start custom CSS for heading, class: .elementor-element-63ed9d39 *//* 1. CONFIGURACIÓN DEL ENLACE */
.elementor-4808 .elementor-element.elementor-element-63ed9d39 a {
    text-decoration: none !important;
    display: inline-block; /* La línea medirá lo que mide el texto */
    position: relative;
    color: #1A1A1A; /* Tu negro de marca */
    padding-bottom: 3px; /* Espacio elegante entre texto y línea */
}

/* 2. CREACIÓN DE LA LÍNEA (ESTADO INICIAL) */
.elementor-4808 .elementor-element.elementor-element-63ed9d39 a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; /* Empieza en cero */
    height: 2px; /* Grosor base */
    background-color: #1A1A1A;
    
    /* --- TRUCO DE PRECISIÓN PARA QUE NO SE VEA NEGRITA --- */
    transform: scaleY(0.7); /* Adelgaza la línea a un nivel ultra fino */
    transform-origin: left;
    -webkit-font-smoothing: antialiased; /* Suaviza el borde en Mac/iPhone */
    
    /* Transición fluida y premium */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 3. EFECTO AL PASAR EL CURSOR (HOVER) */
.elementor-4808 .elementor-element.elementor-element-63ed9d39 a:hover::after {
    width: 100%; /* La línea crece al total del texto */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-20468543 *//* 1. CONFIGURACIÓN DEL ENLACE */
.elementor-4808 .elementor-element.elementor-element-20468543 a {
    text-decoration: none !important;
    display: inline-block; /* La línea medirá lo que mide el texto */
    position: relative;
    color: #1A1A1A; /* Tu negro de marca */
    padding-bottom: 3px; /* Espacio elegante entre texto y línea */
}

/* 2. CREACIÓN DE LA LÍNEA (ESTADO INICIAL) */
.elementor-4808 .elementor-element.elementor-element-20468543 a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; /* Empieza en cero */
    height: 2px; /* Grosor base */
    background-color: #1A1A1A;
    
    /* --- TRUCO DE PRECISIÓN PARA QUE NO SE VEA NEGRITA --- */
    transform: scaleY(0.7); /* Adelgaza la línea a un nivel ultra fino */
    transform-origin: left;
    -webkit-font-smoothing: antialiased; /* Suaviza el borde en Mac/iPhone */
    
    /* Transición fluida y premium */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 3. EFECTO AL PASAR EL CURSOR (HOVER) */
.elementor-4808 .elementor-element.elementor-element-20468543 a:hover::after {
    width: 100%; /* La línea crece al total del texto */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-353854f3 *//* --- CONFIGURACIÓN DEL ENLACE MAESTRO --- */
.elementor-4808 .elementor-element.elementor-element-353854f3 a {
    position: relative;
    text-decoration: none !important; /* Quitamos subrayado viejo */
    color: #1A1A1A; /* Aseguramos tu color de marca */
    display: inline-block; /* Para que la línea mida lo que el texto */
    overflow: hidden; /* ¡Clave! Esconde la línea cuando se sale del borde */
    padding-bottom: 2px; /* Un poco de aire para la línea */
}

/* --- ESTADO INICIAL DE LA LÍNEA (DE ENTRADA SUBRAYADO) --- */
.elementor-4808 .elementor-element.elementor-element-353854f3 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* La línea cubre todo el texto inicialmente */
    height: 1px; /* Grosor refinado */
    background-color: #1A1A1A; /* Color de tu marca */
    transform: translateX(0%); /* Posición inicial: centrado */
}

/* --- EL ACTIVADOR: AL PASAR EL CURSOR (HOVER) --- */
.elementor-4808 .elementor-element.elementor-element-353854f3 a:hover::after {
    /* Asignamos la animación personalizada 'APLineRoll' */
    /* Duración de 0.7s para que se vea premium y calma */
    animation: APLineRoll 0.7s ease-in-out; 
}

/* --- DEFINICIÓN DE LA ANIMACIÓN 'APLineRoll' --- */
/* Esta es la magia que hace que la línea vaya y vuelva */
@keyframes APLineRoll {
    /* FASE 1: Salida hacia la derecha */
    /* La línea se desliza desde el centro hasta desaparecer por la derecha */
    0% {
        transform: translateX(0%);
    }
    49% {
        transform: translateX(100%);
        opacity: 1; /* Sigue siendo visible */
    }
    
    /* FASE DE RESETEO (INSTANTÁNEA E INVISIBLE) */
    /* La línea se apaga y teletransporta mágicamente a la izquierda del todo */
    50% {
        opacity: 0; /* Se apaga */
        transform: translateX(100%); /* Sigue a la derecha */
    }
    51% {
        opacity: 0; /* Sigue apagada */
        transform: translateX(-100%); /* Ya está a la izquierda del todo */
    }
    52% {
        opacity: 1; /* Se vuelve a encender */
        transform: translateX(-100%); /* Ready en la salida de la izquierda */
    }
    
    /* FASE 2: Reentrada desde la izquierda */
    /* La línea entra por la izquierda y se desliza hasta el centro */
    100% {
        transform: translateX(0%);
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-72cb3357 *//* --- CONFIGURACIÓN DEL ENLACE MAESTRO --- */
.elementor-4808 .elementor-element.elementor-element-72cb3357 a {
    position: relative;
    text-decoration: none !important; /* Quitamos subrayado viejo */
    color: #1A1A1A; /* Aseguramos tu color de marca */
    display: inline-block; /* Para que la línea mida lo que el texto */
    overflow: hidden; /* ¡Clave! Esconde la línea cuando se sale del borde */
    padding-bottom: 2px; /* Un poco de aire para la línea */
}

/* --- ESTADO INICIAL DE LA LÍNEA (DE ENTRADA SUBRAYADO) --- */
.elementor-4808 .elementor-element.elementor-element-72cb3357 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* La línea cubre todo el texto inicialmente */
    height: 1px; /* Grosor refinado */
    background-color: #1A1A1A; /* Color de tu marca */
    transform: translateX(0%); /* Posición inicial: centrado */
}

/* --- EL ACTIVADOR: AL PASAR EL CURSOR (HOVER) --- */
.elementor-4808 .elementor-element.elementor-element-72cb3357 a:hover::after {
    /* Asignamos la animación personalizada 'APLineRoll' */
    /* Duración de 0.7s para que se vea premium y calma */
    animation: APLineRoll 0.7s ease-in-out; 
}

/* --- DEFINICIÓN DE LA ANIMACIÓN 'APLineRoll' --- */
/* Esta es la magia que hace que la línea vaya y vuelva */
@keyframes APLineRoll {
    /* FASE 1: Salida hacia la derecha */
    /* La línea se desliza desde el centro hasta desaparecer por la derecha */
    0% {
        transform: translateX(0%);
    }
    49% {
        transform: translateX(100%);
        opacity: 1; /* Sigue siendo visible */
    }
    
    /* FASE DE RESETEO (INSTANTÁNEA E INVISIBLE) */
    /* La línea se apaga y teletransporta mágicamente a la izquierda del todo */
    50% {
        opacity: 0; /* Se apaga */
        transform: translateX(100%); /* Sigue a la derecha */
    }
    51% {
        opacity: 0; /* Sigue apagada */
        transform: translateX(-100%); /* Ya está a la izquierda del todo */
    }
    52% {
        opacity: 1; /* Se vuelve a encender */
        transform: translateX(-100%); /* Ready en la salida de la izquierda */
    }
    
    /* FASE 2: Reentrada desde la izquierda */
    /* La línea entra por la izquierda y se desliza hasta el centro */
    100% {
        transform: translateX(0%);
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-37f666de *//* --- CONFIGURACIÓN DEL ENLACE MAESTRO --- */
.elementor-4808 .elementor-element.elementor-element-37f666de a {
    position: relative;
    text-decoration: none !important; /* Quitamos subrayado viejo */
    color: #1A1A1A; /* Aseguramos tu color de marca */
    display: inline-block; /* Para que la línea mida lo que el texto */
    overflow: hidden; /* ¡Clave! Esconde la línea cuando se sale del borde */
    padding-bottom: 2px; /* Un poco de aire para la línea */
}

/* --- ESTADO INICIAL DE LA LÍNEA (DE ENTRADA SUBRAYADO) --- */
.elementor-4808 .elementor-element.elementor-element-37f666de a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* La línea cubre todo el texto inicialmente */
    height: 1px; /* Grosor refinado */
    background-color: #1A1A1A; /* Color de tu marca */
    transform: translateX(0%); /* Posición inicial: centrado */
}

/* --- EL ACTIVADOR: AL PASAR EL CURSOR (HOVER) --- */
.elementor-4808 .elementor-element.elementor-element-37f666de a:hover::after {
    /* Asignamos la animación personalizada 'APLineRoll' */
    /* Duración de 0.7s para que se vea premium y calma */
    animation: APLineRoll 0.7s ease-in-out; 
}

/* --- DEFINICIÓN DE LA ANIMACIÓN 'APLineRoll' --- */
/* Esta es la magia que hace que la línea vaya y vuelva */
@keyframes APLineRoll {
    /* FASE 1: Salida hacia la derecha */
    /* La línea se desliza desde el centro hasta desaparecer por la derecha */
    0% {
        transform: translateX(0%);
    }
    49% {
        transform: translateX(100%);
        opacity: 1; /* Sigue siendo visible */
    }
    
    /* FASE DE RESETEO (INSTANTÁNEA E INVISIBLE) */
    /* La línea se apaga y teletransporta mágicamente a la izquierda del todo */
    50% {
        opacity: 0; /* Se apaga */
        transform: translateX(100%); /* Sigue a la derecha */
    }
    51% {
        opacity: 0; /* Sigue apagada */
        transform: translateX(-100%); /* Ya está a la izquierda del todo */
    }
    52% {
        opacity: 1; /* Se vuelve a encender */
        transform: translateX(-100%); /* Ready en la salida de la izquierda */
    }
    
    /* FASE 2: Reentrada desde la izquierda */
    /* La línea entra por la izquierda y se desliza hasta el centro */
    100% {
        transform: translateX(0%);
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-7e767091 *//* 1. CONFIGURACIÓN DEL ENLACE */
.elementor-4808 .elementor-element.elementor-element-7e767091 a {
    text-decoration: none !important;
    display: inline-block; /* La línea medirá lo que mide el texto */
    position: relative;
    color: #1A1A1A; /* Tu negro de marca */
    padding-bottom: 3px; /* Espacio elegante entre texto y línea */
}

/* 2. CREACIÓN DE LA LÍNEA (ESTADO INICIAL) */
.elementor-4808 .elementor-element.elementor-element-7e767091 a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; /* Empieza en cero */
    height: 2px; /* Grosor base */
    background-color: #1A1A1A;
    
    /* --- TRUCO DE PRECISIÓN PARA QUE NO SE VEA NEGRITA --- */
    transform: scaleY(0.7); /* Adelgaza la línea a un nivel ultra fino */
    transform-origin: left;
    -webkit-font-smoothing: antialiased; /* Suaviza el borde en Mac/iPhone */
    
    /* Transición fluida y premium */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 3. EFECTO AL PASAR EL CURSOR (HOVER) */
.elementor-4808 .elementor-element.elementor-element-7e767091 a:hover::after {
    width: 100%; /* La línea crece al total del texto */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-3a955654 *//* 1. CONFIGURACIÓN DEL ENLACE */
.elementor-4808 .elementor-element.elementor-element-3a955654 a {
    text-decoration: none !important;
    display: inline-block; /* La línea medirá lo que mide el texto */
    position: relative;
    color: #1A1A1A; /* Tu negro de marca */
    padding-bottom: 3px; /* Espacio elegante entre texto y línea */
}

/* 2. CREACIÓN DE LA LÍNEA (ESTADO INICIAL) */
.elementor-4808 .elementor-element.elementor-element-3a955654 a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; /* Empieza en cero */
    height: 2px; /* Grosor base */
    background-color: #1A1A1A;
    
    /* --- TRUCO DE PRECISIÓN PARA QUE NO SE VEA NEGRITA --- */
    transform: scaleY(0.7); /* Adelgaza la línea a un nivel ultra fino */
    transform-origin: left;
    -webkit-font-smoothing: antialiased; /* Suaviza el borde en Mac/iPhone */
    
    /* Transición fluida y premium */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 3. EFECTO AL PASAR EL CURSOR (HOVER) */
.elementor-4808 .elementor-element.elementor-element-3a955654 a:hover::after {
    width: 100%; /* La línea crece al total del texto */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-31886285 *//* 1. CONFIGURACIÓN DEL ENLACE */
.elementor-4808 .elementor-element.elementor-element-31886285 a {
    text-decoration: none !important;
    display: inline-block; /* La línea medirá lo que mide el texto */
    position: relative;
    color: #1A1A1A; /* Tu negro de marca */
    padding-bottom: 3px; /* Espacio elegante entre texto y línea */
}

/* 2. CREACIÓN DE LA LÍNEA (ESTADO INICIAL) */
.elementor-4808 .elementor-element.elementor-element-31886285 a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; /* Empieza en cero */
    height: 2px; /* Grosor base */
    background-color: #1A1A1A;
    
    /* --- TRUCO DE PRECISIÓN PARA QUE NO SE VEA NEGRITA --- */
    transform: scaleY(0.7); /* Adelgaza la línea a un nivel ultra fino */
    transform-origin: left;
    -webkit-font-smoothing: antialiased; /* Suaviza el borde en Mac/iPhone */
    
    /* Transición fluida y premium */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 3. EFECTO AL PASAR EL CURSOR (HOVER) */
.elementor-4808 .elementor-element.elementor-element-31886285 a:hover::after {
    width: 100%; /* La línea crece al total del texto */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-44329e36 *//* --- CONFIGURACIÓN DEL ENLACE MAESTRO --- */
.elementor-4808 .elementor-element.elementor-element-44329e36 a {
    position: relative;
    text-decoration: none !important; /* Quitamos subrayado viejo */
    color: #1A1A1A; /* Aseguramos tu color de marca */
    display: inline-block; /* Para que la línea mida lo que el texto */
    overflow: hidden; /* ¡Clave! Esconde la línea cuando se sale del borde */
    padding-bottom: 2px; /* Un poco de aire para la línea */
}

/* --- ESTADO INICIAL DE LA LÍNEA (DE ENTRADA SUBRAYADO) --- */
.elementor-4808 .elementor-element.elementor-element-44329e36 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* La línea cubre todo el texto inicialmente */
    height: 1px; /* Grosor refinado */
    background-color: #1A1A1A; /* Color de tu marca */
    transform: translateX(0%); /* Posición inicial: centrado */
}

/* --- EL ACTIVADOR: AL PASAR EL CURSOR (HOVER) --- */
.elementor-4808 .elementor-element.elementor-element-44329e36 a:hover::after {
    /* Asignamos la animación personalizada 'APLineRoll' */
    /* Duración de 0.7s para que se vea premium y calma */
    animation: APLineRoll 0.7s ease-in-out; 
}

/* --- DEFINICIÓN DE LA ANIMACIÓN 'APLineRoll' --- */
/* Esta es la magia que hace que la línea vaya y vuelva */
@keyframes APLineRoll {
    /* FASE 1: Salida hacia la derecha */
    /* La línea se desliza desde el centro hasta desaparecer por la derecha */
    0% {
        transform: translateX(0%);
    }
    49% {
        transform: translateX(100%);
        opacity: 1; /* Sigue siendo visible */
    }
    
    /* FASE DE RESETEO (INSTANTÁNEA E INVISIBLE) */
    /* La línea se apaga y teletransporta mágicamente a la izquierda del todo */
    50% {
        opacity: 0; /* Se apaga */
        transform: translateX(100%); /* Sigue a la derecha */
    }
    51% {
        opacity: 0; /* Sigue apagada */
        transform: translateX(-100%); /* Ya está a la izquierda del todo */
    }
    52% {
        opacity: 1; /* Se vuelve a encender */
        transform: translateX(-100%); /* Ready en la salida de la izquierda */
    }
    
    /* FASE 2: Reentrada desde la izquierda */
    /* La línea entra por la izquierda y se desliza hasta el centro */
    100% {
        transform: translateX(0%);
    }
}/* End custom CSS */
/* Start custom CSS *//* 1. BLOQUEO TOTAL DEL FONDO */
html.dialog-is-active, 
html.dialog-is-active body {
    overflow: hidden !important;
    position: fixed !important;
    height: 100% !important;
    width: 100% !important;
}

/* 2. ANULAR EL HEADER Y SU EFECTO STICKY */
/* Usamos clases más específicas para que el script de Elementor no gane */
html.dialog-is-active header, 
html.dialog-is-active .elementor-location-header,
html.dialog-is-active .elementor-sticky--active,
html.dialog-is-active .elementor-sticky--effects {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* 3. EVITAR EL SALTO DEL CONTENIDO DEL POPUP */
#elementor-popup-modal-4808 .elementor-popup__message {
    height: 100vh !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}/* End custom CSS */