/*****INICIA SWIPER FOTOGRAFIAS*/

/* Asegura que el contenedor de Swiper tenga un tamaño razonable */
.swiper-container {
    width: 400px; /* O un valor fijo, ej: 600px */
    height: 480px; /* Un alto definido para que el cálculo no sea cero */
    /* Asegúrate de que las imágenes dentro llenen el contenedor */
}

.contenedor-imagen {
    /* Define el tamaño del espacio donde quieres que vaya la imagen */
    width: 100%;
}

    .contenedor-imagen img {
        /* Hacemos que la imagen tome el 100% del tamaño del contenedor */
        width: 100%;
        height: 100%;
        /* Esta es la clave para que no se deforme al ajustarse al espacio */
        object-fit: contain; /* O usa 'cover' si prefieres que llene todo y se recorte */
    }


/* --- Estilos del Carrusel --- */
.carousel-container {
    max-width: 600px; /* Ajusta el ancho deseado */
    position: relative;
    margin: auto;
    overflow: hidden; /* Oculta las diapositivas que no están visibles */
}

/* Oculta las diapositivas por defecto */
.carousel-slide {
    display: none;
    animation-name: fade;
    animation-duration: 1.5s;
}

/* Botones Anterior/Siguiente */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    background-color: rgba(0,0,0,0.5);
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

    .prev:hover, .next:hover {
        background-color: rgba(0,0,0,0.8);
    }

/* Estilos de los indicadores (dots/miniaturas) */
.dot {
    cursor: pointer;
    height: 115px;
    width: 115px;
    margin: 0 2px;
    background-color: red;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

    .active, .dot:hover {
        background-color: #717171;
    }

/* Animación de desvanecimiento (Fade) */
@keyframes fade {
    from {
        opacity: .4
    }

    to {
        opacity: 1
    }
}

/*****FIN SWIPER FOTOGRAFIAS*/









.espacios_menu {
    border: solid 2px red;
    display: table;
    width: 100%;
    border-collapse: collapse;
    text-align: center; /* opcional */
    padding: 0;
    margin: 0;
}

    .espacios_menu li {
        flex: 1; /* distribuye el espacio igual entre ellos */
        text-align: center;
        border: 1px solid #ccc;
        padding: 2px;
    }


#logo_tpn_top {
    position: fixed;
    background-image: url(/incs/iconos_tpn/tpn_logo_transparente.png);
    background-size: auto;
    background-color: #ffffff60;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
}

.texto_tipo_tabla_propiedades {
    font-size: 14px;
    border-radius: 10px 10px 10px 10px;
    background-color: #fff;
    color: #000;
    margin-top: 0px;
    text-align: center;
    box-shadow: rgba(14, 63, 126, 0.06) 0px 0px 0px 1px, rgba(42, 51, 70, 0.03) 0px 1px 1px -0.5px, rgba(42, 51, 70, 0.04) 0px 2px 2px -1px, rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px, rgba(42, 51, 70, 0.03) 0px 5px 5px -2.5px, rgba(42, 51, 70, 0.03) 0px 10px 10px -5px, rgba(42, 51, 70, 0.03) 0px 24px 24px -8px;
}

.texto_id_tabla_propiedades {
    font-size: 16px;
    color: #cb0000;
    font-family: 'Louis George Cafe';
}

.texto_direccion_tabla_propiedades {
    font-size: 16px;
    margin-top: 20px;
}

.texto_status_tabla_propiedades {
    font-size: 16px;
    border-radius: 10px;
    background-color: #d3d6e5;
    color: #535353;
    padding: 2px 8px 2px 8px;
    margin: 5px 0px 0px 10px;
}

.texto_precio_tabla_propiedades {
    font-size: 23px;
}

.texto_hab_banos_estac_metros_tabla_propiedades {
    font-size: 15px;
}


.caja_detalle_individual_galeria {
    padding: 10px 0px 0px 0px;
}

.caja_detalles_tabla_inmuebles {
    display: flex;
    flex-wrap: wrap;
    box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
    vertical-align: bottom;
    margin-top: 20px;
}

.caja_detalle_individual_detalles {
    padding: 6px 0px 0px 0px;
    flex-grow: 1;
    flex-basis: 200;
}



.contenedor_detalles_producto {
    margin: 2px;
    max-width: 700px;
    overflow: auto;
    font-size: 8px;
    max-height: 99%;
    min-height: 96%;
    display: block;
}

.tabla_detalles_producto {
    flex-grow: 1;
    flex-basis: 100;
    width: 100%;
    font-size: 8px;
}

.texto_detalles {
    font-family: 'Louis George Cafe';
    font-size: 13px;
    padding: 10px;
    height: 99%;
}


.botones_por_hoja {
    content: "";
    background-color: #fff;
    border: .6px solid #d3d6e5;
    margin: 1px;
    padding: 1px;
    width: 25px;
    height: 22px;
}

    .botones_por_hoja:hover {
        background-color: #dcdfeb;
    }




.pager-externo {
    content: "";
    border: none;
    border-bottom: .6px solid #d3d6e5;
    color: #002d48;
    align-items: center; /* ALINEACIÓN CLAVE: Centra verticalmente los elementos */
    gap: 5px; /* Opcional: añade espacio entre los elementos */
    display: flex; /* Habilita el modelo Flexbox */
}

    .pager-externo a {
        font-weight: bolder;
        font-size: 20px;
        color: #002d48;
    }

.pager-externo-boton {
    width: 25px;
}

.pager_texto {
    font-size: 15px;
    margin: 10px;
}

.GridPager_oculto {
    visibility: hidden;
}


.titulo_tipo_inmueble_principal {
    font-size: 1.8em;
    font-family: 'Louis George Cafe';
}


.tabla_descripcion {
    border-spacing: 5px 15px;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
    font-family: 'Louis George Cafe';
}

.texto_descripcion_inmueble {
    font-family: 'Louis George Cafe';
    font-size: 1.1em;
}

.mi_iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.cuadro_mapa {
    width: 99%;
    height: 400px;
    display: block;
    position: relative;
    border: none;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.texto_linea_1_ubicacion {
    font-size: 2em;
    color: #000;
    font-family: 'Louis George Cafe';
}

.texto_linea_2_ubicacion {
    font-size: 16px;
    color: #000;
    font-family: 'Louis George Cafe';
}


.iconos_detalles_galeria {
    width: 25px;
}

.caja_boton_whatsapp {
    text-align: center;
    padding: 10px 10px 10px;
    border: none;
    background: #3aaf97;
    text-decoration: none;
    font-family: 'Louis George Cafe';
    color: white;
    font-size: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    position: relative;
    transition: background-color 0.1s ease;
    overflow: hidden;
    cursor: pointer;
    border-radius: 10px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

    .caja_boton_whatsapp a {
        color: white;
    }

    .caja_boton_whatsapp:after {
        content: "";
    }

    .caja_boton_whatsapp:focus, .caja_boton_whatsapp:hover {
        background: #3fbca3;
    }

    .caja_boton_whatsapp:active {
        position: relative;
        top: 1px;
    }

    .caja_boton_whatsapp:disabled {
        background: #cecece;
        background-image: -webkit-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -moz-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -ms-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -o-linear-gradient(top, #cecece, #a3a3a3);
        background-image: linear-gradient(to bottom, #cecece, #a3a3a3);
        cursor: not-allowed;
    }


.icono_whatsapp {
    height: 26px;
    vertical-align: middle;
}

.caja_detalles {
    border-radius: 10px;
    border: 15px solid #002d48;
    background-color: #002d48;
    min-width: 50%;
    max-width: 80%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 13px;
}


.texto_precio_propiedad_abierta {
    font-size: 19px;
    color: #000;
    font-family: 'Louis George Cafe';
}


/* 1. Contenedor: Crucial que tenga el mismo ancho que el TextBox */
.search-box-container {
    margin-top: 6px;
    position: relative;
    /* El ancho debe coincidir con el Width="200px" del TextBox */
    width: 230px;
    border: none;
}

/* 2. TextBox: Usamos box-sizing y un padding generoso */
.search-textbox {
    /* Permite que el padding se añada DENTRO del ancho de 200px */
    box-sizing: border-box;
    /* ¡Aumentado a 40px! Esto alejará el texto Búsqueda del icono. */
    padding-left: 40px;
    /* Asegúrate de que el control asp:TextBox tiene CssClass="search-textbox" */
}

/* 3. Icono: Posición más cerca del borde izquierdo (ej: 5px) */
.search-box-container::before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900; /* Estilo Solid */
    content: '\f002'; /* Código de la lupa */
    position: absolute;
    /* Mueve el icono más a la izquierda, cerca del borde */
    left: 5px;
    top: 50%;
    transform: translateY(-50%);
    color: darkred;
    pointer-events: none;
    z-index: 2; /* Asegura que siempre esté por encima */
}






input[type=text] {
    font-family: 'OpenSans-Regular';
    border: solid 1px #cecece;
    border-radius: 3px;
    font-size: 13px;
    opacity: 1;
    outline: none;
    padding: 0px 1px 0px 21px;
    background-color: #fafafa;
    color: #000;
    background-position: left;
    background-repeat: no-repeat;
    border: none;
    /* CSS3 */
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}

    input[type=text]:focus {
        opacity: 1;
        /* CSS3 */
        background: #ffffff;
        color: black;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    input[type=text]:hover {
        opacity: 1;
        /* CSS3 */
        background: #ffffff;
        color: black;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    input[type=text]:disabled {
        cursor: not-allowed;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

input[type=multiline]:disabled {
    cursor: not-allowed;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}


.foto_inmueble_detalles {
    margin: 10px;
    width: 300px;
}

.texto_precio_inmueble_detalles {
    font-family: 'Louis George Cafe';
    font-size: 2.3rem;
}

.caja_tabla_productos {
}

.progress_neutral_publico {
    font-family: 'Louis George Cafe';
    font-size: 10px;
}

    .progress_neutral_publico tr {
        background: transparent;
        text-align: left;
        font-family: 'Louis George Cafe';
        font-weight: normal;
        color: #000;
        width: auto;
        padding: 1px 9px 10px 6px;
        border: none;
        font-size: 13px;
        display: inline-grid;
        width: calc(100% / 4);
        vertical-align: top;
    }


.marco_foto_producto {
    width: 160px;
    height: 240px;
    object-fit: cover; /* Recorta la imagen sin deformarla */
    margin: 5px 0px 1px;
    border: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
}






.contenedor_descripcion_tpn {
    display: grid;
    justify-content: center;
    align-items: center;
}

faq {
    font-size: 1.2rem;
    color: #f3e175;
}

faq_respuesta {
    font-size: 1rem;
    color: #ebf3a4;
}

.div-bordered {
    border-radius: 0px;
    border-top: 1px solid #d3d6e5;
    border-bottom: 1px solid #BDC4D0;
    background-color: #fff;
    min-width: 50%;
    max-width: 96%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-gap: 13px;
    width: 100%;
}


select {
    margin: 0px;
    width: 100%;
}

.lista_buscador {
    font-family: 'Louis George Cafe';
    height: 36px;
    padding: 6px 12px;
    font-size: 13px;
    line-height: 1.42857143;
    color: #002d48;
    background-color: #fff;
    background-image: none;
    border: none;
    border-radius: 4px;
    width: auto;
}

    .lista_buscador:focus option {
        outline: 0;
        border: none;
    }

    .lista_buscador::-moz-placeholder {
        color: #999;
        border-radius: 80px;
        opacity: 1;
    }

    .lista_buscador:-ms-input-placeholder {
        color: #999
    }

    .lista_buscador::-webkit-input-placeholder {
        color: #999
    }

    .lista_buscador::-ms-expand {
        background-color: transparent;
        border-radius: 80px;
        border: 0;
    }

    .lista_buscador[disabled], .lista_buscador[readonly], fieldset[disabled] .lista_buscador {
        background-color: #fff;
        border-radius: 80px;
        opacity: 1;
    }

    .lista_buscador[disabled], fieldset[disabled] .lista_buscador {
        border-radius: 80px;
        cursor: not-allowed;
    }

.botones {
    padding: 8px 15px;
    border-radius: 6px;
    border: none;
    line-height: 0.3;
    background: #41434f;
    text-decoration: none;
    font-family: 'Louis George Cafe';
    color: white;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    position: relative;
    transition: background-color 0.1s ease;
    overflow: hidden;
    min-width: 130px;
}

    .botones:after {
        content: "";
    }

    .botones:focus, .botones:hover {
        background: #313340;
    }

    .botones:active {
        position: relative;
        top: 1px;
    }

    .botones:disabled {
        background: #cecece;
        background-image: -webkit-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -moz-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -ms-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -o-linear-gradient(top, #cecece, #a3a3a3);
        background-image: linear-gradient(to bottom, #cecece, #a3a3a3);
        cursor: not-allowed;
    }

    .botones:active:after {
        width: 300px;
        height: 300px;
    }

.boton_buscar {
    padding: 15px 15px;
    border-radius: 6px;
    border: none;
    line-height: 0.3;
    background: #F8E0A4;
    text-decoration: none;
    font-family: 'Louis George Cafe';
    color: #002d48;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    position: relative;
    transition: background-color 0.1s ease;
    overflow: hidden;
    min-width: 130px;
    font-weight: 900;
}

    .boton_buscar:after {
        content: "";
    }

    .boton_buscar:focus, .boton_buscar:hover {
        background: #f5d176;
    }

    .boton_buscar:active {
        position: relative;
        top: 1px;
    }

    .boton_buscar:disabled {
        background: #cecece;
        background-image: -webkit-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -moz-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -ms-linear-gradient(top, #cecece, #a3a3a3);
        background-image: -o-linear-gradient(top, #cecece, #a3a3a3);
        background-image: linear-gradient(to bottom, #cecece, #a3a3a3);
        cursor: not-allowed;
    }

    .boton_buscar:active:after {
        width: 300px;
        height: 300px;
    }

.escondido {
    visibility: hidden;
    display: none;
}

div, h1, h2, h3, h4, h5, h6, p {
    font-family: 'Louis George Cafe';
    color: #fff
}

html {
    height: 100%;
    font-size: 13px;
}

body {
    position: relative;
    min-height: 100%;
    background: #000;
    box-shadow: inset 0 0 200px rgba(0, 0, 0, 0.1), inset 0 0 20px rgba(0, 0, 0, 0.08);
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
}

h1 {
    font-size: 2rem;
    font-weight: 300;
    line-height: 2.5rem;
    letter-spacing: 4px;
}

p {
    margin-bottom: 20px;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

    p highlight {
        font-weight: 600;
        color: #0099cc;
    }

    p:last-child {
        margin-bottom: 0px;
    }

code {
    font-size: 0.875rem;
}

.logo_kasadijo_footer {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 200px;
}

.logotipo_visible {
    display: block;
}

.logotipo_negro {
    filter: invert(0%);
    animation: fadeIn .2s both;
}

.logotipo_blanco {
    filter: invert(100%);
    animation: fadeIn .2s both;
}



.contenedor_iconos_sociales_top {
    display: flex;
    flex-wrap: wrap;
}

.iconos_sociales_menu_whatsapp {
    height: 40px;
    width: 40px;
    background-image: url(/incs/iconos_tpn/icons8-whatsapp-96.svg);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: #fff;
    flex-grow: 1;
    flex-basis: 200;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    content: url(../img/icono_transparente.svg);
}

.iconos_sociales_menu_youtube {
    height: 40px;
    width: 40px;
    background-image: url(/incs/iconos_tpn/youtube-color-svgrepo-com.svg);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: #fff;
    flex-grow: 1;
    flex-basis: 200;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    content: url(../img/icono_transparente.svg);
}

.iconos_sociales_menu_tiktok {
    height: 40px;
    width: 40px;
    background-image: url(/incs/iconos_tpn/tiktok-svgrepo-com.svg);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: #fff;
    flex-grow: 1;
    flex-basis: 200;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    content: url(../img/icono_transparente.svg);
}

.iconos_sociales_menu_facebook {
    height: 40px;
    width: 40px;
    background-image: url(/incs/iconos_tpn/facebook-svgrepo-com.svg);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: #fff;
    flex-grow: 1;
    flex-basis: 200;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    content: url(../img/icono_transparente.svg);
}

.iconos_sociales_menu_instagram {
    height: 40px;
    width: 40px;
    background-image: url(/incs/iconos_tpn/instagram-2016-logo-svgrepo-com.svg);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: #fff;
    flex-grow: 1;
    flex-basis: 200;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    content: url(../img/icono_transparente.svg);
}

.iconos_sociales_menu_maps {
    height: 40px;
    width: 40px;
    background-image: url(/incs/iconos_tpn/mapas-de-google.svg);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: #fff;
    flex-grow: 1;
    flex-basis: 200;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    content: url(../img/icono_transparente.svg);
}

.section-header {
    position: relative;
    margin-bottom: 30px;
    font-size: 26px;
    font-weight: 400;
    color: #002d48;
    text-align: center;
    line-height: 60px;
    letter-spacing: 1px;
}

    .section-header:after {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 100px;
        height: 2px;
        background: #0099cc;
        -webkit-transform: translate(-50%, 0);
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate(-50%, 0);
        transform: translate3d(-50%, 0, 0);
    }

.section-sub-header {
    position: relative;
    margin-bottom: 40px;
    font-size: 22px;
    font-weight: 300;
    text-align: center;
    line-height: 60px;
    letter-spacing: 1px;
}


a.tutorials-link {
    display: inline-block;
    position: relative;
    font-size: 3.5vmin;
    margin: 5px auto 0px;
    padding: 2px 10px;
    text-align: center;
    text-decoration: none;
    letter-spacing: 1px;
    color: #fff;
    background-color: rgba(6, 114, 150, 0.44);
    -moz-border-radius: 8px 8px 8px 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px 8px 8px 8px;
    animation: flipInY .9s both;
}

    a.tutorials-link:hover {
        color: #e7e6f1;
        background: #333;
    }


/* ===== ESTILOS BASE ===== */
:root {
    --hero-height-desktop: 520px; /* altura deseada en pantallas grandes */
    --hero-height-laptop: 340px;
    --hero-height-tablet: 360px;
    --hero-height-mobile: 60vh; /* relativo a la pantalla en móviles */
}

/* HERO: imagen entre menú y contenido */
.hero-tn {
    width: 100%;
    height: var(--hero-height-desktop);
    background-image: url(../img/tpn_fondo_largo_06.jpg);
    background-repeat: no-repeat;
    background-position: right center; /* logo a la derecha, texto a la izquierda */
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
    background-position-x: 20%;
    background-position-y: 0%;
}

    /* Capa semitransparente para legibilidad del contenido */
    .hero-tn::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
    }

/* Contenido encima del fondo */
.hero-inner {
    position: relative;
    z-index: 2;
    padding: 24px;
    max-width: 1100px;
    width: 100%;
    color: #fff;
    /* ejemplo: deja espacio para que el texto no cubra el logo a la derecha */
    padding-right: 40%;
}

    /* Ejemplo de título responsive */
    .hero-inner h1 {
        margin: 0;
        font-size: clamp(28px, 4vw, 56px);
        line-height: 1.02;
        font-weight: 800;
        text-shadow: 0 6px 12px rgba(0,0,0,0.4);
    }


.hero-tn_home {
    width: 100%;
    height: 80%;
    background-image: url(../img/tpn_fondo_largo_07.jpg);
    background-repeat: no-repeat;
    background-position: right center; /* logo a la derecha, texto a la izquierda */
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
    background-position-x: 30%;
    background-position-y: 0%;
    display: grid;
    place-items: center;
}

    /* Capa semitransparente para legibilidad del contenido */
    .hero-tn_home::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;

    }


#about p {
    text-align: center;
    color: #002d48;
}

#nosotros {
    background: #fff;
    font-family: 'Louis George Cafe';
    text-align: justify;
    height: contain;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    font-size: 1.675rem;
}

#resultados {
    background: #fff;
    font-family: 'Louis George Cafe';
    text-align: justify;
    line-height: 24px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

    #resultados h4 {
        margin-bottom: 20px;
        margin-left: 0px;
        font-size: 0.875rem;
        font-weight: 400;
        text-transform: uppercase;
        line-height: 24px;
        letter-spacing: 0.5px;
        color: #BDC4D0;
    }

#servicios {
    padding-bottom: 0;
    color: #002d48;
}

    #servicios .feature-container {
        margin-bottom: 80px;
    }

    #servicios .feature {
        padding: 20px 0;
    }

        #servicios .feature svg {
            width: 40px;
            height: 40px;
            margin-bottom: 15px;
            fill: currentColor;
        }

        #servicios .feature h4 {
            font-size: 14px;
            font-weight: 600;
            text-transform: uppercase;
            line-height: 24px;
            letter-spacing: 2px;
            color: #0099cc;
        }

        #servicios .feature p {
            font-size: 14px;
            font-weight: 300;
            color: #BDC4D0;
            letter-spacing: 1px;
        }

    #servicios .animated-scroll {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        position: relative;
        width: 80%;
        max-width: 450px;
        height: 315px;
        margin: 0 auto;
        border: 4px solid #826dd5;
        border-bottom-color: transparent;
        border-radius: 6px;
        overflow: hidden;
    }

        #servicios .animated-scroll .scroll-header {
            display: -webkit-box;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            flex-direction: row;
            -webkit-box-flex: 0;
            flex-grow: 0;
            flex-shrink: 0;
            flex-basis: 60px;
            -webkit-box-align: center;
            align-items: center;
            -webkit-box-pack: center;
            justify-content: center;
            background: #826dd5;
        }

            #servicios .animated-scroll .scroll-header .scroll-nav {
                width: 15%;
                height: 8px;
                margin-right: 5%;
                border-radius: 4px;
            }

            #servicios .animated-scroll .scroll-header .sn-1 {
                -webkit-animation-name: scrollColor-1;
                animation-name: scrollColor-1;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 5s;
                animation-duration: 5s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
            }

            #servicios .animated-scroll .scroll-header .sn-2 {
                -webkit-animation-name: scrollColor-2;
                animation-name: scrollColor-2;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 5s;
                animation-duration: 5s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
            }

            #servicios .animated-scroll .scroll-header .sn-3 {
                margin-right: 0;
                -webkit-animation-name: scrollColor-3;
                animation-name: scrollColor-3;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 5s;
                animation-duration: 5s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
            }

            #servicios .animated-scroll .scroll-header svg.cursor {
                position: absolute;
                top: 28px;
                left: 50%;
                width: 20%;
                height: 20px;
                -webkit-animation-name: scrollCursor;
                animation-name: scrollCursor;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 5s;
                animation-duration: 5s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
                z-index: 2;
            }

        #servicios .animated-scroll .scroll-body {
            display: -webkit-box;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            flex-direction: column;
            -webkit-box-flex: 1;
            flex-grow: 1;
            flex-shrink: 1;
            flex-basis: auto;
            padding-top: 20px;
            overflow: hidden;
        }

        #servicios .animated-scroll .scroll-child {
            -webkit-box-flex: 0;
            flex-grow: 0;
            flex-shrink: 0;
            flex-basis: 150px;
            width: 90%;
            margin: 0 auto 20px;
            fill: #404040;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 4px;
            -webkit-animation-name: scrollDemo;
            animation-name: scrollDemo;
            -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
            -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
            -webkit-animation-duration: 5s;
            animation-duration: 5s;
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
        }

        #servicios .animated-scroll .sc-back-to-top {
            flex-basis: 40px;
            width: 40px;
            margin: 0 auto;
            border-radius: 100%;
            -webkit-animation-name: scrollBackToTop;
            animation-name: scrollBackToTop;
            -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
            -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
            -webkit-animation-duration: 5s;
            animation-duration: 5s;
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
            z-index: 0;
        }

    #servicios .focus-events {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        position: relative;
        width: 80%;
        max-width: 450px;
        height: 315px;
        margin: 0 auto;
        border: 4px solid #e6e8f0;
        border-bottom-color: transparent;
        border-radius: 6px;
        overflow: hidden;
    }

        #servicios .focus-events .scroll-header {
            display: -webkit-box;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            flex-direction: row;
            -webkit-box-flex: 0;
            flex-grow: 0;
            flex-shrink: 0;
            flex-basis: 60px;
            -webkit-box-align: center;
            align-items: center;
            -webkit-box-pack: center;
            justify-content: center;
            background: #e6e8f0;
        }

            #servicios .focus-events .scroll-header .scroll-nav {
                width: 15%;
                height: 8px;
                margin-right: 5%;
                border-radius: 4px;
            }

            #servicios .focus-events .scroll-header .sn-1 {
                -webkit-animation-name: focusColor-1;
                animation-name: focusColor-1;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 4s;
                animation-duration: 4s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
            }

            #servicios .focus-events .scroll-header .sn-2 {
                -webkit-animation-name: focusColor-2;
                animation-name: focusColor-2;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 4s;
                animation-duration: 4s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
            }

            #servicios .focus-events .scroll-header svg.cursor {
                position: absolute;
                top: 28px;
                left: 50%;
                width: 20%;
                height: 20px;
                -webkit-animation-name: focusCursor;
                animation-name: focusCursor;
                -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-duration: 4s;
                animation-duration: 4s;
                -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
                z-index: 2;
            }

        #servicios .focus-events .scroll-body {
            display: -webkit-box;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            flex-direction: column;
            -webkit-box-flex: 1;
            flex-grow: 1;
            flex-shrink: 1;
            flex-basis: auto;
            padding-top: 20px;
            overflow: hidden;
        }

        #servicios .focus-events .scroll-child {
            -webkit-box-flex: 0;
            flex-grow: 0;
            flex-shrink: 0;
            flex-basis: 150px;
            width: 90%;
            margin: 0 auto 20px;
            padding: 10% 5%;
            background: rgba(0, 0, 0, 0.05);
            background: #edeef4;
            border-radius: 4px;
            -webkit-animation-name: focusDemo;
            animation-name: focusDemo;
            -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
            -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
            -webkit-animation-duration: 4s;
            animation-duration: 4s;
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
        }

            #servicios .focus-events .scroll-child .header {
                height: 14px;
                width: 50%;
                margin: 0 auto 8px;
                border-radius: 8px;
                background: #dcdfeb;
            }

            #servicios .focus-events .scroll-child .sub-header {
                height: 10px;
                width: 40%;
                margin: 0 auto 22px;
                border-radius: 6px;
                background: #e3e5ef;
            }

            #servicios .focus-events .scroll-child .body {
                width: 70%;
                height: 8px;
                margin: 0 auto 8px;
                background: #e0e2ed;
            }

        #servicios .focus-events .sc-2 .header {
            -webkit-animation-name: focusHeaderColor;
            animation-name: focusHeaderColor;
            -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
            -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
            -webkit-animation-duration: 4s;
            animation-duration: 4s;
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
        }


.highlight {
    padding: 9px 14px;
    margin-bottom: 14px;
    background-color: #f7f7f9;
    border: 1px solid #e1e1e8;
    border-radius: 4px;
}

    .highlight pre {
        padding: 0;
        margin-top: 0;
        margin-bottom: 0;
        word-break: normal;
        white-space: nowrap;
        background-color: transparent;
        border: 0;
    }

        .highlight pre code {
            font-size: inherit;
            color: #002d48;
        }

            .highlight pre code:first-child {
                display: inline-block;
                padding-right: 45px;
            }

.invertir_color_logo {
    filter: invert(100%);
}

/**LLAVE ESTILO SERVICIOS*/

a {
    text-decoration: none !important;
}

.center-text {
    text-align: center;
    font-weight: 400;
    font-size: 162px;
    color: #6F8BA4;
    line-height: 28px;
    letter-spacing: 1px;
    margin-bottom: 50px;
}

    .center-text.colored {
        color: #C7E5FF;
    }

    .center-text p {
        margin-bottom: 30px;
    }

.boton_menu {
    text-align: left;
    background-color: transparent;
    border: none;
    color: #004572;
    letter-spacing: 1px;
    font-family: 'Louis George Cafe';
    font-size: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.0);
}

    .boton_menu:hover {
        background-color: rgba(0,0,0,.055);
    }

/* Override UGG site */
#main {
    width: 100%;
    padding: 0;
}

.content-asset p {
    margin: 0 auto;
}

.breadcrumb {
    display: none;
}

/* Helpers */
/**************************/
.margin-top-10 {
    padding: 0px;
    text-align: justify;
}

.margin-bot-10 {
    padding-bottom: 10px;
}


.first-character {
    font-weight: 400;
    float: left;
    font-size: 86px;
    line-height: 30px;
    padding-top: 10px;
    padding-right: 1px;
    padding-left: 10px;
    font-family: 'Louis George Cafe';
}

.sc {
    color: #fff;
}

.ny {
    color: #3d3c3a;
}

.atw {
    color: #c48660;
}





/* Extras */
/**************************/


.bg-image {
    background: url("../img/img43.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: fixed;
    top: 0;
    left: 0px;
    width: 100%;
    min-height: 400px;
    height: 60vh;
    z-index: 0;
    filter: blur(6px);
    -webkit-filter: blur(6px);
    animation: fadeIn 1s both;
}


.titulo_2_KASADIJO {
    font-family: 'Louis George Cafe';
    font-variant: small-caps;
    color: #fff;
    font-size: 20px;
    font-weight: 100;
    letter-spacing: 7px;
}

/***LLAVE PARALLAX PARA TITULOS HOME*/

#parallax-home {
    text-align: center;
    margin-top: 10px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
}
    /* Typography */
    /**************************/
    #parallax-home h1 {
        font-family: 'Louis George Cafe';
        font-size: 8vmin;
        padding: 0;
        margin: 0;
    }


    #parallax-home .parallax-nosotros {
        padding-bottom: 0px;
        overflow: hidden;
        position: relative;
        /***background-image: url('../img/fondo_casas1.jpeg');***/
        background-attachment: fixed;
        background-size: cover;
        -moz-background-size: cover;
        -webkit-background-size: cover;
        background-repeat: no-repeat;
        background-position: top center;
        animation: fadeIn 2.5s both;
    }

        #parallax-home .parallax-nosotros h1 {
            animation: fadeIn 1s both;
            font-weight: 100;
            margin: 20px 0px 20px 0px;
            font-size: 6vmin;
            letter-spacing: 3px;
            font-weight: 800;
            color: #fff;
            background-color: rgba(0, 0, 0, 0.8);
            text-shadow: #000 1px 1px 0px;
        }


.line-break {
    border-bottom: 1px solid #d3d6e5;
    width: 29vmin;
    margin: 15px auto;
}

/**INICIO FOOTER**/
#footer {
    background-color: #0f0f11;
    color: #111;
}

    #footer .container {
        width: 100%;
    }

#contacto {
    background-image: linear-gradient(135deg, rgba(97, 0, 0, 1) 0%, rgba(204, 0, 0, 1) 100%);
    color: #111;
}

    #contacto .container {
        width: 100%;
    }

.caja_mapa {
    padding-top: 10px;
}

.mapa {
    width: 100%;
    height: 240px;
}

.caja_servicios {
    padding: 5px;
    margin: 5px;
    border-right: solid 1px #d3d6e5;
    text-align: center;
}

.caja_servicios_footer {
    padding: 7px;
    margin: 5px;
    border: none;
    border-right: solid 2px #778993;
    text-align: left;
}

    .caja_servicios_footer a {
        display: block;
    }

.texto_iconos_social {
    margin-top: 3px;
    margin-bottom: 10px;
    margin-left: 40px;
    margin-right: 0;
    font-size: 1.9vmin;
    color: #ebebeb;
    font-family: 'Louis George Cafe';
    letter-spacing: 1px;
    font-weight: 100;
    cursor: pointer;
}

.icono_sociales {
    width: 30px;
    height: 30px;
    fill: white;
    position: absolute;
}

.caja_texto_servicios {
    text-align: center;
    height: auto;
    padding-bottom: 15px;
    word-wrap: break-word;
    width: 98%;
}

.titulo_servicios {
    font-weight: 600;
    font-size: 3vmin;
    font-family: 'Louis George Cafe';
    color: #002d48;
    padding-bottom: 10px;
}

.texto_servicios {
    margin: -25px;
    margin-left: -40px;
    font-weight: 600;
    font-size: 2.3vmin;
    font-family: 'Louis George Cafe';
    color: #002d48;
    padding: 0px 0px 20px 5px;
}

.titulos_footer {
    font-size: 2.5vmin;
    font-weight: 300;
    font-family: 'Louis George Cafe';
    color: #ebebeb;
    font-family: 'Louis George Cafe';
    margin-top: 15px;
}


/**FIN FOOTER**/


.boton_mas_informacion {
    margin: 0px;
    padding: 10px 15px 10px 15px;
    border: solid 1px #2c4f64;
    background-color: #fff;
    color: #002d48;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

    .boton_mas_informacion:hover {
        margin: 20px;
        padding: 10px 15px 10px 15px;
        border: solid 1px #fff;
        background-color: #002d48;
        color: #fff;
        -webkit-transition: all 0.3s ease 0s;
        -moz-transition: all 0.3s ease 0s;
        -o-transition: all 0.3s ease 0s;
        transition: all 0.3s ease 0s;
    }

.iconos_servicios {
    fill: #3B566E;
    width: 70px;
    height: 70px;
    min-height: 100px;
    min-width: 90px;
    margin: 4px;
}

.caja_texto_nosotros {
    text-align: left;
    height: auto;
    padding-bottom: 0px;
    margin-top: -10px;
    margin-bottom: -15px;
}

.caja_texto_resultados {
    text-align: left;
    height: auto;
    padding-bottom: 0px;
    margin-top: -10px;
    margin-bottom: -15px;
}


.titulo_nosotros {
    font-weight: 300;
    font-size: 4.4vmin;
    color: #002d48;
}

.texto_footer {
    color: #7697a2;
    font-size: 1.7vmin;
    font-family: 'Louis George Cafe';
}

    .texto_footer a {
        color: #7697a2;
        font-size: 1.7vmin;
    }

.texto_footer_map {
    color: #ededed;
    font-size: 2vmin;
}

    .texto_footer_map a {
        color: #ededed;
        font-size: 2.2vmin;
        font-family: 'Louis George Cafe';
    }

.logotipo_blanco_footer {
    filter: invert(100%);
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    width: 80px;
}

.logotipo_footer {
    padding-bottom: 0;
    padding-left: 0px;
    padding-right: 10px;
    padding-top: 0;
    float: left;
    fill: white;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
}


/*****************************************INICIA KEYFRAMES**********************************************/
/**********************************INICIA LLAVE ANIMACION DE TITULO PRINCIPAL************************/
@keyframes showTopText {
    0% {
        transform: translate3d(0, 100%, 0);
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes showBottomText {
    0% {
        transform: translate3d(0, -100%, 0);
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

.animated-title {
    font-family: 'Louis George Cafe';
    height: 22vmin;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #BDC4D0;
    letter-spacing: 1px;
}

    .animated-title > div {
        height: 100%;
        overflow: hidden;
        position: absolute;
        width: 100%;
        font-family: 'Louis George Cafe';
        color: #BDC4D0;
    }

        .animated-title > div div {
            position: absolute;
            font-family: 'Louis George Cafe';
            color: #fff;
            width: 100%;
        }
            /**texto titulo en pantalla escritorio*/
            .animated-title > div div span {
                display: block;
                color: #fff;
                font-size: 11vmin;
            }

        /**texto titulo en pantalla escritorio*/
        .animated-title > div.text-top {
            top: -60px;
            animation: fadeIn 2.4s both;
        }

            .animated-title > div.text-top div {
                animation: showTopText .5s;
                animation-delay: .4s;
                animation-fill-mode: forwards;
                bottom: 0px;
                transform: translate(0, 100%);
                color: #BDC4D0;
                background-color: transparent;
            }

                .animated-title > div.text-top div span:first-child {
                    color: #fff;
                    background-color: transparent;
                }

        .animated-title > div.text-bottom {
            bottom: 85px;
            background-color: transparent;
            font-size: 11vmin;
            animation: fadeIn 2.4s both;
        }

            .animated-title > div.text-bottom div {
                animation: showBottomText .5s;
                animation-delay: .8s;
                animation-fill-mode: forwards;
                top: -17px;
                transform: translate(0, -100%);
                background-color: transparent;
            }

/**********************************FIN LLAVE ANIMACION DE TITULO PRINCIPAL************************/




.tabla_buscador_home {
    background-color: red;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    font-size: 12px;
    font-family: 'Louis George Cafe';
    margin: 10px;
    align-content: center;
    align-items: center;
    align-self: center;
    text-align: left;
    color: black;
    border: solid 30px red;
    border-radius: 30px;
}


/* inicia estilo para acciones emergentes ( es distinto al estilo de notificaciones emergentes)*/
.marco_loading_acciones_emergentes {
    background-color: #000000bb;
    border: solid 3px #41434f;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    position: fixed;
    top: 0%;
    left: 0%;
    min-width: 100%;
    height: 100%;
    z-index: 7100;
    animation: fadeIn .2s both;
    display: flex;
    align-items: center;
    justify-content: center;
}

.estilo_contenedor_acciones_emergentes {
    background-color: #fbfbfb;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
    border-radius: 9px;
    font-family: 'Louis George Cafe';
    max-width: 90%;
}
/* final estilo para acciones emergentes*/



/* inicia estilo para notificaciones emergentes*/
.marco_loading_notificaciones {
    background-color: #f7f7f7;
    border: solid 3px #41434f;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    position: fixed;
    top: 1%;
    left: .4%;
    min-width: 99%;
    height: 98%;
    text-align: center;
    z-index: 9000;
    animation: fadeIn .2s both;
    display: flex;
    align-items: center;
    justify-content: center;
}

.notificaciones_flotante_visible {
    background-color: #fbfbfb;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
    border-radius: 9px;
    font-family: 'Louis George Cafe';
    min-width: 30%;
    max-width: 70%;
}

.texto_notificaciones {
    color: #41434f;
    font-family: 'Louis George Cafe';
    font-size: 13px;
    overflow-wrap: break-word;
}

/* final estilo para notificaciones emergentes*/


/* Media Queries */
/*****************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ===== MACBOOKS Y PANTALLAS GRANDES (1440px o más) ===== */
@media (min-width: 1440px) and (max-width: 2559px) {
    .progress_neutral_publico tr {
        width: calc(100% / 4);
    }

    .hero-tn {
        width: 100%;
        height: 40%;
        background-image: url(../img/tpn_fondo_largo_02.jpg);
        background-repeat: no-repeat;
        background-position: right center; /* logo a la derecha, texto a la izquierda */
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
        background-position-x: 20%;
        background-position-y: 0%;
    }





    .hero-inner {
        padding-right: 38%;
    }

    .hero-tn_home {
        width: 100%;
        height: 50%;
        background-image: url(../img/tpn_fondo_largo_02.jpg);
        background-repeat: no-repeat;
        background-position: right center; /* logo a la derecha, texto a la izquierda */
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
        background-position-x: 50%;
        background-position-y: 0%;
        display: grid;
        place-items: center;
    }
    .hero{
        width:600px;
    }
}

/* ===== LAPTOPS Y PANTALLAS MEDIANAS (1024px - 1439px) ===== */
@media (min-width: 1024px) and (max-width: 1439px) {
    .progress_neutral_publico tr {
        width: calc(100% / 4);
    }

    .hero-tn {
        height: var(--hero-height-laptop);
        background-position: right center;
        background-size: cover;
        background-position-x: 10%;
        background-position-y: -10%;
    }

    .hero-inner {
        padding-right: 42%;
    }

    .hero-tn_home {
        width: 100%;
        height: 70%;
        background-image: url(../img/tpn_fondo_largo_02.jpg);
        background-repeat: no-repeat;
        background-position: right center; /* logo a la derecha, texto a la izquierda */
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
        background-position-x: 50%;
        background-position-y: 0%;
        display: grid;
        place-items: center;
    }
    
}

/* ===== TABLETS (768px - 1023px) ===== */
@media (min-width: 768px) and (max-width: 1023px) {
    
    .progress_neutral_publico tr {
        width: calc(100% / 3);
    }

    .hero-tn {
        height: var(--hero-height-tablet);
        background-position: center right;
        background-size: cover;
        background-attachment: scroll; /* mejor rendimiento */
    }

    .hero-inner {
        padding-right: 48%;
        padding-left: 24px;
    }

    .hero-tn_home {
        width: 100%;
        height: 60%;
        background-image: url(../img/tpn_fondo_largo_02.jpg);
        background-repeat: no-repeat;
        background-position: right center; /* logo a la derecha, texto a la izquierda */
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
        background-position-x: 60%;
        background-position-y: 0%;
        display: grid;
        place-items: center;
    }
    .hero {
        width: 25%;
    }
}

/* ===== TELÉFONOS MÓVILES (menores a 768px) ===== */
@media (max-width: 767px) {
    .progress_neutral_publico tr {
        width: calc(100% / 2);
    }

    .caja_boton_whatsapp {
        text-align: center;
        padding: 10px 10px 16px;
        border: none;
        background: #3aaf97;
        text-decoration: none;
        font-family: 'Louis George Cafe';
        color: white;
        font-size: 15px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        position: relative;
        transition: background-color 0.1s ease;
        overflow: hidden;
        cursor: pointer;
    }


    .logo_kasadijo_botton {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 50%;
        height: 80px;
        fill: white;
    }

    #servicios .feature {
        padding: 50px 0;
    }

    #servicios .feature-container {
        margin-bottom: 80px;
    }

    #servicios .feature svg {
        width: 60px;
        height: 60px;
    }



    .bg-image {
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        position: fixed;
        top: 0;
        left: 0px;
        width: 100%;
        min-height: 400px;
        height: 60vh;
        z-index: 0;
        filter: blur(6px);
        -webkit-filter: blur(6px);
        animation: fadeIn 1s both;
    }


    .titulo_2_KASADIJO {
        font-family: 'Louis George Cafe';
        font-variant: small-caps;
        color: #fff;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 7px;
    }

    .lista_justificado {
        margin-left: 7px;
        text-indent: 10px;
        font-size: 40px;
    }

    .boton_mas_informacion {
        margin: 0px;
        padding: 10px 15px 10px 15px;
        border: solid 1px #2c4f64;
        background-color: #fff;
        color: #002d48;
        -webkit-transition: all 0.3s ease 0s;
        -moz-transition: all 0.3s ease 0s;
        -o-transition: all 0.3s ease 0s;
        transition: all 0.3s ease 0s;
    }

        .boton_mas_informacion:hover {
            margin: 20px;
            padding: 10px 15px 10px 15px;
            border: solid 1px #fff;
            background-color: #002d48;
            color: #fff;
            -webkit-transition: all 0.3s ease 0s;
            -moz-transition: all 0.3s ease 0s;
            -o-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
        }

    .iconos_servicios {
        fill: #3B566E;
        width: 60px;
        height: 60px;
        min-height: 90px;
        min-width: 80px;
        margin: 5px;
    }

    .boton_menu {
        text-align: left;
        background-color: transparent;
        border: none;
        color: #004572;
        letter-spacing: 1px;
        font-family: 'Louis George Cafe';
        font-size: 20px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.0);
    }

        .boton_menu:hover {
            background-color: rgba(0,0,0,.055);
            border-bottom: 1px solid rgba(0, 0, 0, 0.0);
        }

    /**INICIO FOOTER**/

    #contacto {
        background-color: #0f0f11;
        color: #111;
    }

        #contacto .container {
            width: 100%;
        }



    .caja_mapa {
        padding-top: 10px;
    }

    .mapa {
        width: 100%;
        height: 240px;
    }

    .caja_servicios {
        padding: 5px;
        margin: 5px;
        border: none;
        border-bottom: solid 1px #d3d6e5;
        text-align: center;
    }

    .caja_servicios_footer {
        padding: 5px;
        margin: 5px;
        border: none;
        text-align: left;
    }

        .caja_servicios_footer a {
            display: block;
        }

    .titulos_footer {
        color: #ebebeb;
        font-size: 3.3vmin;
        font-family: 'Louis George Cafe';
        margin-top: 15px;
    }

    .texto_iconos_social {
        margin-top: 4px;
        margin-bottom: 10px;
        margin-left: 35px;
        margin-right: 0;
        font-size: 3vmin;
        color: #ebebeb;
        font-family: 'Louis George Cafe';
        letter-spacing: 1px;
        font-weight: 100;
    }

    .icono_sociales {
        width: 30px;
        height: 30px;
        fill: #002d48;
        position: absolute;
    }

    .caja_texto_servicios {
        text-align: center;
        height: auto;
        padding-bottom: 10px;
        word-wrap: break-word
    }

    .titulo_servicios {
        font-weight: 300;
        font-size: 5.3vmin;
        font-family: 'Louis George Cafe';
        color: #002d48;
        margin-left: 13px;
    }

    .texto_servicios {
        margin: -30px;
        margin-left: 0px;
        font-weight: 600;
        font-size: 3.8vmin;
        font-family: 'Louis George Cafe';
        color: #002d48;
        padding: 0px 20px 0px 10px;
    }

    .titulo_resultados {
        font-weight: 400;
        font-size: 6.2vmin;
        color: #002d48;
    }

    .texto_footer_map {
        color: #ededed;
        font-size: 2vmin;
    }

        .texto_footer_map a {
            color: #ededed;
            font-size: 2.2vmin;
            font-family: 'Louis George Cafe';
        }

    /**FIN FOOTER**/


    .hero-tn {
        height: 240px;
        background-size: 150% auto; /* más zoom para cubrir ultra-wide */
        background-position-x: 60%;
        background-position-y: -20%;
    }

    .hero-inner {
        padding: 24px;
        padding-right: 16px;
        width: 100%;
        max-width: none;
    }

        .hero-inner h1 {
            font-size: clamp(20px, 7vw, 34px);
            text-align: left;
        }

    .hero-tn_home {
        width: 100%;
        height: 60%;
        background-image: url(../img/tpn_fondo_largo_07.jpg);
        background-repeat: no-repeat;
        background-position: right center; /* logo a la derecha, texto a la izquierda */
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        z-index: 0; /* sitúa debajo del header si el header tiene z-index mayor */
        background-position-x: 33%;
        background-position-y: 0%;
        display: grid;
        place-items: center;
    }
}

/* ======== SOPORTE PARA PANTALLAS 4K ======== */
@media (min-width: 2560px) {
    .progress_neutral_publico tr {
        width: calc(100% / 4);
    }

    .hero-tn {
        height: 400px; /* altura mayor para aprovechar el espacio */
        image-rendering: -webkit-optimize-contrast; /* mejora nitidez */
    }

    .hero-inner {
        max-width: 1600px;
        padding-right: 40%;
    }

        .hero-inner h1 {
            font-size: clamp(48px, 3.5vw, 88px);
            text-shadow: 0 8px 20px rgba(0,0,0,0.45);
        }
}

/* ======== OPCIONAL: SOPORTE 5K (iMac Retina) ======== */
@media (min-width: 3840px) {
    .progress_neutral_publico tr {
        width: calc(100% / 4);
    }

    .hero-tn {
        background-size: 130% auto; /* más zoom para cubrir ultra-wide */
        height: 800px;
    }

    .hero-inner {
        max-width: 1800px;
    }

        .hero-inner h1 {
            font-size: clamp(60px, 3vw, 96px);
        }
}



/* FINAL Media Queries */
/*****************************************************************************************************************************************************************************************************************************************************************************************************************************/




@-webkit-keyframes focusDemo {
    from, 30% {
        -webkit-transform: translate(0, 0px);
        -webkit-transform: translate3d(0, 0px, 0);
        transform: translate(0, 0px);
        transform: translate3d(0, 0px, 0);
    }

    40%, to {
        -webkit-transform: translate(0, -170px);
        -webkit-transform: translate3d(0, -170px, 0);
        transform: translate(0, -170px);
        transform: translate3d(0, -170px, 0);
    }
}

@keyframes focusDemo {
    from, 30% {
        -webkit-transform: translate(0, 0px);
        -webkit-transform: translate3d(0, 0px, 0);
        transform: translate(0, 0px);
        transform: translate3d(0, 0px, 0);
    }

    40%, to {
        -webkit-transform: translate(0, -170px);
        -webkit-transform: translate3d(0, -170px, 0);
        transform: translate(0, -170px);
        transform: translate3d(0, -170px, 0);
    }
}

@-webkit-keyframes focusColor-1 {
    from, 39.9% {
        background: #d3d6e5;
    }

    40%, to {
        background: #111;
    }
}

@keyframes focusColor-1 {
    from, 39.9% {
        background: #d3d6e5;
    }

    40%, to {
        background: #111;
    }
}

@-webkit-keyframes focusColor-2 {
    from, 24% {
        background: #111;
    }

    24.2%, 28% {
        background: #dcdfeb;
    }

    28.2%, 40% {
        background: #111;
    }

    40.1%, to {
        background: #d3d6e5;
    }
}

@keyframes focusColor-2 {
    from, 24% {
        background: #111;
    }

    24.2%, 28% {
        background: #dcdfeb;
    }

    28.2%, 40% {
        background: #111;
    }

    40.1%, to {
        background: #d3d6e5;
    }
}

@-webkit-keyframes focusHeaderColor {
    from, 40% {
        background: #dcdfeb;
    }

    40.2%, 70% {
        background: #0099cc;
    }

    75%, to {
        background: #dcdfeb;
    }
}

@keyframes focusHeaderColor {
    from, 40% {
        background: #dcdfeb;
    }

    40.2%, 70% {
        background: #0099cc;
    }

    75%, to {
        background: #dcdfeb;
    }
}

@-webkit-keyframes focusCursor {
    from {
        -webkit-transform: translate(-50%, 200px);
        -webkit-transform: translate3d(-50%, 200px, 0);
        transform: translate(-50%, 200px);
        transform: translate3d(-50%, 200px, 0);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    15%, 30% {
        opacity: 1;
        -webkit-transform: translate(-10%, 0);
        -webkit-transform: translate3d(-10%, 0, 0);
        transform: translate(-10%, 0);
        transform: translate3d(-10%, 0, 0);
    }

    45%, to {
        opacity: 0;
    }
}

@keyframes focusCursor {
    from {
        -webkit-transform: translate(-50%, 200px);
        -webkit-transform: translate3d(-50%, 200px, 0);
        transform: translate(-50%, 200px);
        transform: translate3d(-50%, 200px, 0);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    15%, 30% {
        opacity: 1;
        -webkit-transform: translate(-10%, 0);
        -webkit-transform: translate3d(-10%, 0, 0);
        transform: translate(-10%, 0);
        transform: translate3d(-10%, 0, 0);
    }

    45%, to {
        opacity: 0;
    }
}


@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}


/*****************************************FINAL KEYFRAMES******************************************************************************************************************************************************************************/


@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}



/**INICIA ESTILO SPIN LOADER*/

.marco_loading1 {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    border: solid 3px rgba(0, 0, 0, 0.45);
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
    background: rgba(255, 255, 255, 1);
    text-align: center;
    position: fixed;
    top: .2%;
    left: .2%;
    vertical-align: middle;
    text-align: center;
    align-content: center;
    align-items: center;
    width: 99.6%;
    height: 99.6%;
    text-align: center;
    z-index: 10000;
    animation: fadeIn .4s both;
}

.cube-folding {
    width: 50px;
    height: 50px;
    display: inline-block;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    font-size: 0;
}

    .cube-folding span {
        position: relative;
        width: 25px;
        height: 25px;
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        transform: scale(1.1);
        display: inline-block;
    }

        .cube-folding span::before {
            content: "";
            background-color: #c60000;
            position: absolute;
            left: 0;
            top: 0;
            display: block;
            width: 25px;
            height: 25px;
            -moz-transform-origin: 100% 100%;
            -ms-transform-origin: 100% 100%;
            -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
            -webkit-animation: folding 2.5s infinite linear both;
            -moz-animation: folding 2.5s infinite linear both;
            animation: folding 2.5s infinite linear both;
        }

    .cube-folding .leaf2 {
        -webkit-transform: rotateZ(90deg) scale(1.1);
        -moz-transform: rotateZ(90deg) scale(1.1);
        transform: rotateZ(90deg) scale(1.1);
    }

        .cube-folding .leaf2::before {
            -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
            background-color: #c73131;
        }

    .cube-folding .leaf3 {
        -webkit-transform: rotateZ(270deg) scale(1.1);
        -moz-transform: rotateZ(270deg) scale(1.1);
        transform: rotateZ(270deg) scale(1.1);
    }

        .cube-folding .leaf3::before {
            -webkit-animation-delay: 0.9s;
            animation-delay: 0.9s;
            background-color: #e13d3d;
        }

    .cube-folding .leaf4 {
        -webkit-transform: rotateZ(180deg) scale(1.1);
        -moz-transform: rotateZ(180deg) scale(1.1);
        transform: rotateZ(180deg) scale(1.1);
    }

        .cube-folding .leaf4::before {
            -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
            background-color: #f76c6c;
        }

@-webkit-keyframes folding {
    0%, 10% {
        -webkit-transform: perspective(140px) rotateX(-180deg);
        -moz-transform: perspective(140px) rotateX(-180deg);
        transform: perspective(140px) rotateX(-180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }

    25%, 75% {
        -webkit-transform: perspective(140px) rotateX(0deg);
        -moz-transform: perspective(140px) rotateX(0deg);
        transform: perspective(140px) rotateX(0deg);
        -webkit-opacity: 1;
        -moz-opacity: 1;
        opacity: 1;
    }

    90%, 100% {
        -webkit-transform: perspective(140px) rotateY(180deg);
        -moz-transform: perspective(140px) rotateY(180deg);
        transform: perspective(140px) rotateY(180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }
}

@-moz-keyframes folding {
    0%, 10% {
        -webkit-transform: perspective(140px) rotateX(-180deg);
        -moz-transform: perspective(140px) rotateX(-180deg);
        transform: perspective(140px) rotateX(-180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }

    25%, 75% {
        -webkit-transform: perspective(140px) rotateX(0deg);
        -moz-transform: perspective(140px) rotateX(0deg);
        transform: perspective(140px) rotateX(0deg);
        -webkit-opacity: 1;
        -moz-opacity: 1;
        opacity: 1;
    }

    90%, 100% {
        -webkit-transform: perspective(140px) rotateY(180deg);
        -moz-transform: perspective(140px) rotateY(180deg);
        transform: perspective(140px) rotateY(180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }
}

@-ms-keyframes folding {
    0%, 10% {
        -webkit-transform: perspective(140px) rotateX(-180deg);
        -moz-transform: perspective(140px) rotateX(-180deg);
        transform: perspective(140px) rotateX(-180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }

    25%, 75% {
        -webkit-transform: perspective(140px) rotateX(0deg);
        -moz-transform: perspective(140px) rotateX(0deg);
        transform: perspective(140px) rotateX(0deg);
        -webkit-opacity: 1;
        -moz-opacity: 1;
        opacity: 1;
    }

    90%, 100% {
        -webkit-transform: perspective(140px) rotateY(180deg);
        -moz-transform: perspective(140px) rotateY(180deg);
        transform: perspective(140px) rotateY(180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }
}

@keyframes folding {
    0%, 10% {
        -webkit-transform: perspective(140px) rotateX(-180deg);
        -moz-transform: perspective(140px) rotateX(-180deg);
        transform: perspective(140px) rotateX(-180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }

    25%, 75% {
        -webkit-transform: perspective(140px) rotateX(0deg);
        -moz-transform: perspective(140px) rotateX(0deg);
        transform: perspective(140px) rotateX(0deg);
        -webkit-opacity: 1;
        -moz-opacity: 1;
        opacity: 1;
    }

    90%, 100% {
        -webkit-transform: perspective(140px) rotateY(180deg);
        -moz-transform: perspective(140px) rotateY(180deg);
        transform: perspective(140px) rotateY(180deg);
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }
}

.cube-wrapper {
    position: fixed;
    left: 50%;
    top: 50%;
    margin-top: -50px;
    margin-left: -50px;
    width: 100px;
    height: 100px;
    text-align: center;
}

    .cube-wrapper:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -20px;
        margin: auto;
        width: 90px;
        height: 6px;
        z-index: 1;
        background-color: rgba(0, 0, 0, 0.1);
        -webkit-filter: blur(2px);
        filter: blur(2px);
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        border-radius: 100%;
        -webkit-animation: shadow 0.5s ease infinite alternate;
        -moz-animation: shadow 0.5s ease infinite alternate;
        animation: shadow 0.5s ease infinite alternate;
    }

    .cube-wrapper .loading {
        font-size: 12px;
        letter-spacing: 0.1em;
        display: block;
        color: white;
        position: relative;
        top: 25px;
        z-index: 2;
        -webkit-animation: text 0.5s ease infinite alternate;
        -moz-animation: text 0.5s ease infinite alternate;
        animation: text 0.5s ease infinite alternate;
    }

@-webkit-keyframes text {
    100% {
        top: 35px;
    }
}

@-moz-keyframes text {
    100% {
        top: 35px;
    }
}

@-ms-keyframes text {
    100% {
        top: 35px;
    }
}

@keyframes text {
    100% {
        top: 35px;
    }
}

@-webkit-keyframes shadow {
    100% {
        bottom: -18px;
        width: 100px;
    }
}

@-moz-keyframes shadow {
    100% {
        bottom: -18px;
        width: 100px;
    }
}

@-ms-keyframes shadow {
    100% {
        bottom: -18px;
        width: 100px;
    }
}

@keyframes shadow {
    100% {
        bottom: -18px;
        width: 100px;
    }
}


/**TERMINA ESTILO SPIN LOADER*/





/***IMAGENES HOME****/

/*
==============================
   CLASES GLOBALES Y KEYFRAMES
==============================
*/

/* 1. Definición del Keyframe: La animación de entrada */
@keyframes fadeInSlideUp {
    /* Estado inicial (como en el GSAP 'from'): 
     invisible, desenfocado, movido 30px hacia abajo */
    0% {
        opacity: 0;
        transform: translateY(30px);
        filter: blur(5px);
    }
    /* Estado final (como en el GSAP 'to'): 
     visible, enfocado, en posición original */
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0px);
    }
}

/*
==============================
   APLICACIÓN DE LA ANIMACIÓN
==============================
*/

.hero {
    backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.3);
    position: relative;
    padding: 10px;
    position: relative;
    text-align: center;
    font-family: 'Louis George Cafe';
    font-variant: small-caps;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 95%;
}
/* 2. Ocultar todos los elementos inicialmente */
.hero .word {
    /* Establece el estado inicial antes de que comience la animación */
    opacity: 0;
    display: inline-block; /* Crucial para aplicar transformaciones */
    width: 95%;
    text-align: left;
    font-size: 40px;
    letter-spacing: 2px;
    font-family: 'CooperHewitt-Light';
}

/* 3. Aplicar la animación a todas las palabras */
.hero .word {
    /* Aplica la animación definida */
    line-height: 110%;
    animation-name: fadeInSlideUp;
    animation-duration: 2s; /* Ajusta este valor (GSAP usaba 3s en tu script) */
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Simula 'Back.easeOut.config(2)' */
    animation-fill-mode: forwards; /* Mantiene el estado final (opacity: 1) */
}

.hero a {
    color: #fff;
    border: solid 1px #fff;
}
    .hero h1 {
        font-family: 'Louis George Cafe';
        font-size: 20px;
        line-height: .8;
        font-variant: small-caps;
    }

        .hero h1 span {
            font-family: 'Louis George Cafe';
            font-variant: small-caps;
            border-bottom: 2px solid #0099cc;
            color: #fff;
            line-height: 1.3;
            font-size: 20px;
            font-weight: 100;
            letter-spacing: 7px;
        }
/*
==============================
   EFECTO ESCALONADO (STAGGER)
==============================
*/

/* 4. Aplicar el Retraso Escalando (Staggered Delay) */
/* El GSAP usaba un retraso de 0.09s entre elementos */
/* Tienes que definir el retraso manualmente para cada palabra o usar preprocesadores (SASS/LESS) */

.hero .word:nth-child(1) {
    animation-delay: 0.30s;
}
/* El 'delay: 2' de GSAP lo movemos a la primera palabra */
.hero .word:nth-child(2) {
    animation-delay: 0.39s;
}
/* 0.2 + 0.09 */
.hero .word:nth-child(3) {
    animation-delay: 0.48s;
}
/* 0.29 + 0.09 */
.hero .word:nth-child(4) {
    animation-delay: 0.57s;
}
/* Si quieres que el texto ya esté centrado o con perspectiva: */
.hero {
    text-align: center; /* Ejemplo */
}






.hero_contacto {
    backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.3);
    position: relative;
    padding: 10px;
    position: relative;
    text-align: center;
    font-family: 'Louis George Cafe';
    font-variant: small-caps;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 95%;
}
    /* 2. Ocultar todos los elementos inicialmente */
    .hero_contacto .word_contacto {
        /* Establece el estado inicial antes de que comience la animación */
        opacity: 0;
        display: inline-block; /* Crucial para aplicar transformaciones */
        width: 90%;
        text-align: left;
        font-size: 34px;
        letter-spacing: 1px;
        font-family: 'CooperHewitt-Light';
    }

    /* 3. Aplicar la animación a todas las palabras */
    .hero_contacto .word_contacto {
        /* Aplica la animación definida */
        line-height: 120%;
        animation-name: fadeInSlideUp;
        animation-duration: 2s; /* Ajusta este valor (GSAP usaba 3s en tu script) */
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Simula 'Back.easeOut.config(2)' */
        animation-fill-mode: forwards; /* Mantiene el estado final (opacity: 1) */
    }

    .hero_contacto a {
        color: #fff;
        border: solid 1px #fff;
    }

    .hero_contacto h1 {
        font-family: 'Louis George Cafe';
        font-size: 20px;
        line-height: .8;
        font-variant: small-caps;
    }

        .hero_contacto h1 span {
            font-family: 'Louis George Cafe';
            font-variant: small-caps;
            border-bottom: 2px solid #0099cc;
            color: #fff;
            line-height: 1.3;
            font-size: 20px;
            font-weight: 100;
            letter-spacing: 7px;
        }
    /*
==============================
   EFECTO ESCALONADO (STAGGER)
==============================
*/

    /* 4. Aplicar el Retraso Escalando (Staggered Delay) */
    /* El GSAP usaba un retraso de 0.09s entre elementos */
    /* Tienes que definir el retraso manualmente para cada palabra o usar preprocesadores (SASS/LESS) */

    .hero_contacto .word:nth-child(1) {
        animation-delay: 0.30s;
    }
    /* El 'delay: 2' de GSAP lo movemos a la primera palabra */
    .hero_contacto .word:nth-child(2) {
        animation-delay: 0.39s;
    }
    /* 0.2 + 0.09 */
    .hero_contacto .word:nth-child(3) {
        animation-delay: 0.48s;
    }
    /* 0.29 + 0.09 */
    .hero_contacto .word:nth-child(4) {
        animation-delay: 0.57s;
    }
/* Si quieres que el texto ya esté centrado o con perspectiva: */
.hero_contacto {
    text-align: center; /* Ejemplo */
}





    /* 2. Ocultar todos los elementos inicialmente */
#boton_ir_tienda {
    /* Establece el estado inicial antes de que comience la animación */
    opacity: 0;
    display: inline-block; /* Crucial para aplicar transformaciones */
    font-size: 34px;
    letter-spacing: 5px;
    font-family: 'CooperHewitt-Light';
}


/* From Uiverse.io by alexmaracinaru */
#boton_ir_tienda {
    font-family: 'CooperHewitt-Book';
    cursor: pointer;
    transition: all 0.2s;
    padding: 1px 30px;
    background: #000;
    border: 1px solid #fff;
    align-items: center;
    font-size: 30px;
    color: #fff;
    animation-name: fadeInSlideUp;
    animation-duration: 2s; /* Ajusta este valor (GSAP usaba 3s en tu script) */
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Simula 'Back.easeOut.config(2)' */
    animation-fill-mode: forwards; /* Mantiene el estado final (opacity: 1) */
    animation-delay: 1.6s;
}

    #boton_ir_tienda:hover {
        filter: invert()
    }

    #boton_ir_tienda > svg {
        width: 33px;
        margin-left: 20px;
        transition: transform 0.3s ease-in-out;
        text-align: center;
        vertical-align: middle;
        margin-bottom: 4px;
        margin-top: 3px;
    }

    #boton_ir_tienda:hover svg {
        transform: translateX(7px);
    }

    #boton_ir_tienda:active {
        transform: scale(0.95);
    }



.notificaciones_en_pantalla {
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
    border-radius: 9px;
    font-family: 'Louis George Cafe';
    min-width: 80%;
    background-color: #f7f7f7;
    border: solid 2px #41434f;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    text-align: center;
    animation: fadeIn .2s both;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    margin-bottom: 20px;
}

.texto_notificaciones_en_pantalla {
    color: #41434f;
    font-family: 'Louis George Cafe';
    font-size: 15px;
}