    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* tipografias */

    @import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Zalando+Sans:ital,wght@0,200..900;1,200..900&display=swap');

    /*----- root start -----*/
    :root {
        /*colores*/
        /*Black*/
        --black: #1D1419;
        /*White*/
        --white: #FFFFFF;
        /*Buganvilla*/
        --color-1: #79315F;
        /*Dark Purple*/
        --color-2: #46333E;
        /*Gold*/
        --color-3: #A79157;
        /*Black textos*/
        --color-4: #1D1419;
        --color-5: rgba(70, 51, 62, 0.6);
        /* tipografias */

        --font-1: "Hanken Grotesk", sans-serif;
        --font-2: "Zalando Sans", sans-serif;
        --font-3: "Crimson Text", serif;
        --font-4: "Crimson Pro", serif;

        /*tamaño de letra*/

        --font-s-120: 120px;
        --font-s-100: 100px;
        --font-s-90: 90px;
        --font-s-80: 80px;
        --font-s-78: 78px;
        --font-s-76: 76px;
        --font-s-74: 74px;
        --font-s-72: 72px;
        --font-s-70: 70px;
        --font-s-68: 68px;
        --font-s-66: 66px;
        --font-s-64: 64px;
        --font-s-62: 62px;
        --font-s-60: 60px;
        --font-s-58: 58px;
        --font-s-56: 56px;
        --font-s-54: 54px;
        --font-s-52: 52px;
        --font-s-50: 50px;
        --font-s-48: 48px;
        --font-s-46: 46px;
        --font-s-44: 44px;
        --font-s-42: 42px;
        --font-s-40: 40px;
        --font-s-38: 38px;
        --font-s-36: 36px;
        --font-s-34: 34px;
        --font-s-32: 32px;
        --font-s-30: 30px;
        --font-s-28: 28px;
        --font-s-26: 26px;
        --font-s-24: 24px;
        --font-s-22: 22px;
        --font-s-20: 20px;
        --font-s-18: 18px;
        --font-s-16: 16px;
        --font-s-14: 14px;
        --font-s-12: 12px;
        --font-s-10: 10px;

        /*peso de letra*/
        --font-w-300: 300;
        --font-w-400: 400;
        --font-w-500: 500;
        --font-w-600: 600;
        --font-w-700: 700;
        --font-w-800: 800;
        --font-w-900: 900;
        /* LINE HEIGHT */
        --lh-auto: normal;
        --lh-100: 100%;
        --lh-110: 110%;
        --lh-120: 120%;
        --lh-140: 140%;
        --lh-200: 200%;

    }

    /*----- root end -----*/
    @media (min-width: 1400px) {

        .container,
        .container-lg,
        .container-md,
        .container-sm,
        .container-xl,
        .container-xxl {
            max-width: 1200px;
        }
    }



    /*----- Estilos Generales -----*/
    .font-1 {
        font-family: var(--font-1);
    }

    .font-2 {
        font-family: var(--font-2);
    }

    .font-3 {
        font-family: var(--font-3);
    }

    .font-4 {
        font-family: var(--font-4);
    }

    .colorB {
        color: var(--black);
    }

    .colorW {
        color: var(--white);
    }

    .color1 {
        color: var(--color-1);
    }

    .color2 {
        color: var(--color-2);
    }

    .color3 {
        color: var(--color-3);
    }

    .color4 {
        color: var(--color-4);
    }

    .color5 {
        color: var(--color-5);
    }

    .color8 {
        color: var(--color-8);
    }

    .color9 {
        color: var(--color-9);
    }

    .color10 {
        color: var(--color-10);
    }

    .CT {
        font-family: var(--font-1);
    }

    .LT {
        font-family: var(--font-2);
    }

    .OS {
        font-family: var(--font-3);
    }

    .fs-72 {
        font-size: var(--font-s-72);
    }

    .fs-64 {
        font-size: var(--font-s-64);
    }

    .fs-60 {
        font-size: var(--font-s-60);
    }

    .fs-56 {
        font-size: var(--font-s-56);
    }

    .fs-48 {
        font-size: var(--font-s-48);
    }

    .fs-40 {
        font-size: var(--font-s-40);
    }

    .fs-36 {
        font-size: var(--font-s-36);
    }

    .fs-30 {
        font-size: var(--font-s-30);
    }

    .fs-28 {
        font-size: var(--font-s-28);
    }

    .fs-26 {
        font-size: var(--font-s-26);
    }

    .fs-24 {
        font-size: var(--font-s-24);
    }

    .fs-20 {
        font-size: var(--font-s-20);
    }

    .fs-19 {
        font-size: var(--font-s-19);
    }

    .fs-18 {
        font-size: var(--font-s-18);
    }

    .fs-17 {
        font-size: var(--font-s-17);
    }

    .fs-16 {
        font-size: var(--font-s-16);
    }

    .fs-15 {
        font-size: var(--font-s-15);
    }

    .fs-14 {
        font-size: var(--font-s-14);
    }

    .fs-13 {
        font-size: var(--font-s-13);
    }

    .fs-12 {
        font-size: var(--font-s-12);
    }

    .fw-300 {
        font-weight: var(--font-w-300);
    }

    .fw-400 {
        font-weight: var(--font-w-400);
    }

    .fw-500 {
        font-weight: var(--font-w-500);
    }

    .fw-600 {
        font-weight: var(--font-w-600);
    }

    .fw-700 {
        font-weight: var(--font-w-700);
    }

    .fw-800 {
        font-weight: var(--font-w-800);
    }


    p,
    li {
        font-family: var(--font-2);
        font-weight: var(--font-w-300);
        font-size: var(--font-s-20);
    }

    .lh-30 {
        line-height: 30px;
    }

    .mayus {
        text-transform: uppercase;
    }

    .overflow-hidden {
        overflow: hidden;
    }

    .text-container {
        width: 100%;
        max-width: 800px;
    }

    /*--------------------------------------------- HOME start ---------------------------------------------*/

    /*--------------- HEADER start ---------------*/

    /*--------------- redes start ---------------*/

    .redes {
        background-color: var(--color-4);
    }

    .redes ul {
        margin: 0;
        padding: 0;
    }

    .redes a {
        color: #ccc;
        text-decoration: none;
    }

    .redes li {
        color: #ccc;
        list-style: none;
    }

    .redes a:hover {
        color: var(--color-2);
        transition: all .5s;
    }

    /*--------------- redes end ---------------*/

    /*--------------- navbar start ---------------*/

    #barra_nav {
        z-index: 4;
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
    }

    .contenedor_nav {
        justify-content: center !important;
        align-items: self-end !important;
        padding: 40px 20px 0;
        gap: 70px;
        transition: padding 0.3s ease;
    }

    #barra_nav.is-fixed {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        background-color: rgba(29, 20, 25, 0.88);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    }

    #barra_nav.is-fixed .contenedor_nav {
        padding: 10px !important;
        align-items: center !important;
    }

    .navbar-collapse {
        flex-grow: inherit !important;
    }

    .logo {
        max-width: 100%;
        min-height: 62px;
    }

    /* Cambia la alineación del contenedor principal a la parte inferior */
    .navbar-nav {
        align-items: flex-end !important;
    }

    /* Ajusta los enlaces para alinearlos abajo e independientes de la altura */
    #navbarNavAltMarkup .nav-link {
        display: inline-flex;
        align-items: flex-end;
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 0;
        color: var(--white);
        letter-spacing: 8%;
    }

    /* Limpia el padding global en los span para evitar conflictos de alineación */
    #navbarNavAltMarkup .nav-link>span {
        padding: 0;
        white-space: nowrap;
    }

    #navbarNavAltMarkup span:hover {
        color: var(--color-1);
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 0;
    }

    /* quitar borde y focus a boton collapsed */
    .navbar {
        --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0);
        --bs-navbar-toggler-focus-width: 0
    }

    /* Estilo para el contenido del sub-dropdown */
    .navbar.is-fixed .sub-dropdown {
        top: 60px;
    }

    .navbar.is-fixed .sub-dropdown::before {
        top: -40px;
        height: 40px;
    }

    .sub-dropdown {
        display: none;
        position: absolute;
        background-color: var(--color-2);
        min-width: 160px;
        box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
        z-index: 100;
        left: 0;
        list-style: none;
        padding: 0;
        margin: 0;
        top: 30px;
    }


    .sub-dropdown::before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0;
        width: 100%;
        background: transparent;
        z-index: 100;
    }

    .dropdown-content a {
        color: var(--white);
        padding: 17px 16px;
        text-decoration: none;
        display: block;
        transition: all .5s;
    }

    /* Estilo para los enlaces al pasar el ratón */
    .dropdown-content a:hover {
        background-color: #7b295b;
        color: #eeaccd;
    }

    .btn-restauracion {
        color: var(--white);
        padding: 17px 16px;
        text-decoration: none;
        display: block;
        transition: all .5s;
        width: fit-content;
    }

    .btn-restauracion:hover {
        background-color: #7b295b;
        color: #eeaccd;
    }

    /* Mostrar el contenido del dropdown cuando el ratón está sobre el botón */
    .dropdown:hover .dropdown-content {
        display: block;
    }

    .dropdown-menu {
        display: none;
        position: absolute;
        background-color: var(--color-2);
        border: none;
        border-radius: 0;
        padding: 0;
        left: 100%;
        top: 0;
    }

    .dropdown:hover>.dropdown-menu,
    .dropend:hover>.dropdown-menu {
        display: block;
    }

    .arrow {
        max-width: 20px;
        max-height: 20px;
        margin: 0px 0px 0px 10px;
    }

    .btn_lg {
        margin-top: 2px;
    }

    /*--------------- navbar end ---------------*/

    /*--------------- idioma start ---------------*/

    .flag {
        min-width: 30px;
        max-height: 20px;
    }

    /* Estilo para el botón */
    .boton {
        background-color: #f1f1f1;
        padding: 27px 27px;
        border: none;
        cursor: pointer;
        border-radius: initial;

    }

    .boton-movil {
        background-color: transparent;
        border: none;
        cursor: pointer;
        border-radius: initial;
        color: white;
    }

    .boton-movil .arrow {
        margin: 0;
    }



    /* Estilo para el contenido del dropdown idiomas */
    .idiomas {
        display: none;
        position: absolute;
        background-color: var(--color-2);
        min-width: 200px;
        box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
        z-index: 1;
        right: 0;
        list-style: none;
        padding: 0;
        margin: 0;
        top: 79px;
    }

    .lista-idiomas {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 12px;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .lista-idiomas .item-idioma {
        color: var(--white);
        font-family: var(--font-1);
        text-decoration: none;
        font-size: var(--font-s-20);
        letter-spacing: 8%;
        font-weight: 300;
        transition: font-weight 0.2s ease, opacity 0.2s ease;
    }

    .lista-idiomas .item-idioma:hover,
    .lista-idiomas .item-idioma.activo {
        font-weight: 600;
    }

    /*--------------- idioma end ---------------*/

    /*--------------- HEADER end ---------------*/

    /*--------------- MAIN start ---------------*/

    .boton_secciones_claro {
        padding: 17px 24px;
        border: 2px solid var(--color-1);
        text-decoration: none;
        font-size: var(--font-s-16);
        color: var(--color-1);
        transition: all .3s;
    }

    .boton_secciones_claro:hover {
        color: var(--white);
        background-color: var(--color-1);
    }

    .boton_secciones_oscuro {
        padding: 12px;
        border: 3px solid var(--white);
        text-decoration: none;
        background-color: transparent;
        font-size: var(--font-s-18);
        color: var(--white);
        transition: all .3s;
        width: fit-content;
        text-align: center;
        border-radius: 5px;
        font-family: var(--font-1);
        font-weight: var(--font-w-600);
        text-transform: uppercase;
        white-space: nowrap;
    }

    .boton_secciones_oscuro:hover {
        transform: scale(1.1);

    }

    .boton_oscuro {
        padding: 12px;
        text-decoration: none;
        background-color: var(--color-1);
        font-size: var(--font-s-18);
        color: var(--white);
        transition: all .3s;
        width: fit-content;
        text-align: center;
        border-radius: 5px;
        font-family: var(--font-1);
        font-weight: var(--font-w-600);
        text-transform: uppercase;
        white-space: nowrap;
        border: none;
    }

    .boton_oscuro:hover {
        transform: scale(1.02);

    }

    .boton_claro {
        padding: 12px;
        text-decoration: none;
        background-color: var(--color-3);
        font-size: var(--font-s-18);
        color: var(--white);
        transition: all .3s;
        width: fit-content;
        text-align: center;
        border-radius: 5px;
        font-family: var(--font-1);
        font-weight: var(--font-w-600);
        text-transform: uppercase;
        white-space: nowrap;
        border: none;
    }

    .boton_claro:hover {
        transform: scale(1.02);

    }


    .boton_secciones_claro {
        padding: 12px;
        border: 3px solid var(--color-3);
        text-decoration: none;
        background-color: transparent;
        font-size: var(--font-s-18);
        color: var(--color-1);
        transition: all .3s;
        width: fit-content;
        text-align: center;
        border-radius: 5px;
        font-family: var(--font-1);
        font-weight: var(--font-w-600);
        text-transform: uppercase;
        white-space: nowrap;
    }

    .boton_secciones_claro:hover {
        transform: scale(1.1);

    }


    input.custom-checkbox {
        width: 18px;
        height: 18px;
        margin: 0 !important;
        float: none !important;
        accent-color: var(--color-1, #79315F);
    }


    /*--------------- carrusel start ---------------*/
    /* --------------- carrusel start --------------- */

    #container-carrusel {
        position: relative;
    }

    #container-carrusel header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 100;
    }

    /* Fijamos la altura del contenedor principal y del área de diapositivas */
    .carrusel,
    .contenedor-carrusel,
    .carousel-inner,
    .carousel-item {
        height: 1300px;
    }

    /* Animaciones de Zoom */
    @keyframes zoom_positivo {
        0% {
            transform: scale(1);
        }

        100% {
            transform: scale(1.25);
        }
    }

    @keyframes zoom_negativo {
        0% {
            transform: scale(1.25);
        }

        100% {
            transform: scale(1);
        }
    }

    /* Regla unificada para TODAS las imágenes del carrusel */
    #carouselExampleIndicators .carousel-item img {
        width: 100%;
        height: 100% !important;
        object-fit: cover !important;
        /* Llena completamente los 1300px de alto sin deformarse */
        object-position: center;
    }

    /* Asignación de animaciones por diapositiva */
    .img1,
    .img3,
    .img6 {
        animation: zoom_positivo 25s infinite alternate ease-in-out;
    }

    .img2,
    .img4,
    .img5,
    .img7 {
        animation: zoom_negativo 25s infinite alternate ease-in-out;
    }


    .contenedor {
        height: 950px;
    }

    .carousel-indicators {
        opacity: 1;
    }

    .carousel-control-prev,
    .carousel-control-next {
        opacity: 0;
        transition: opacity 0.6s ease;
    }

    /* Al pasar el ratón sobre el contenedor del carrusel, los botones aparecerán */
    #carouselExampleIndicators:hover .carousel-control-prev,
    #carouselExampleIndicators:hover .carousel-control-next {
        opacity: 1;
    }

    /* Capa de degradado por encima de todas las imágenes */
    #carouselExampleIndicators .carousel-inner::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background:
            linear-gradient(360deg, rgba(121, 49, 95, 0.35) 0%, rgba(70, 51, 62, 0.35) 100%),
            linear-gradient(180deg, rgba(70, 51, 62, 0.6) 0%, rgba(70, 51, 62, 0) 100%);

        /* Modos de fusión de las dos capas */
        background-blend-mode: multiply;

        pointer-events: none;
        z-index: 1;
    }


    /* Asegura que los textos, botones y navegación queden por encima del degradado */
    #carouselExampleIndicators .translate-middle {
        z-index: 2;
    }

    #carouselExampleIndicators .carousel-indicators,
    #carouselExampleIndicators .carousel-control-prev,
    #carouselExampleIndicators .carousel-control-next {
        z-index: 3;
    }

    .carousel-control-prev,
    .carousel-control-next {
        top: 50%;
        bottom: 50%;
        width: 17px;
    }

    .carousel-control-prev:hover,
    .carousel-control-next:hover {
        opacity: 0;
    }

    .carousel-control-next-icon,
    .carousel-control-prev-icon {
        background-color: black;
        height: 8rem;
        width: 1rem;
        opacity: .7;
    }

    .titulo_carrusel_bienvenida {
        font-size: var(--font-s-20);
    }

    .titulo_carrusel {
        font-size: var(--font-s-72);
        margin-top: 30px;
        margin-bottom: 0;
    }

    .subtiulo_carrusel {
        font-size: var(--font-s-48);

    }

    /*Animacion de punto debajo de titulo princial*/
    .contenedor_punto {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 35px;
        height: 60px;
        border: 3px solid #ddd;
        border-radius: 50px;
    }

    .contenedor_punto:hover {
        border: 3px solid white;

    }

    .punto_deslizable {
        display: flex;
        animation: eating-path 2s linear infinite;
        transition-delay: 4s;
        height: 20px;
        margin-top: -5px;

        &::before {
            background-color: #ddd;
            border-radius: 50%;
            content: "";
            height: 10px;
            width: 10px;
        }
    }

    .contenedor_punto:hover>.punto_deslizable {
        display: flex;
        animation: eating-path 2s linear infinite;
        transition-delay: 4s;
        height: 20px;
        margin-top: -5px;

        &::before {
            background-color: white;
            border-radius: 50%;
            content: "";
            height: 10px;
            width: 10px;
        }
    }

    @keyframes eating-path {
        0% {
            transform: translateY(-50%);
            opacity: 1;
        }

        80% {
            opacity: 1;
        }

        100% {
            transform: translateY(50%);
            opacity: 0;
        }

    }

    #container-carrusel #carouselExampleIndicators>.carousel-indicators [data-bs-target] {
        width: 10px;
        height: 10px;
        border-radius: 0;
        margin-right: 5px;
        margin-left: 5px;
        cursor: pointer;
        background-color: white;
        border: none;
    }

    .carousel-indicators .active {
        transform: scale(2);
    }

    .indicador:hover>.btn_carrusel1 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .indicador:hover>.btn_carrusel2 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .indicador:hover>.btn_carrusel3 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .indicador:hover>.btn_carrusel4 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .indicador:hover>.btn_carrusel5 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .indicador:hover>.btn_carrusel6 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .indicador:hover>.btn_carrusel7 {
        display: block;
        transition: opacity 0.6s ease;
    }

    .btn_carrusel1 {
        background-image: url(../img/carrusel/carrusel-home/img_carrusel1.jpg);
        width: 135px;
        height: 60px;
        right: 580px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }

    .btn_carrusel2 {
        background-image: url(../img/carrusel/carrusel-home/img_carrusel2.jpg);
        width: 135px;
        height: 60px;
        right: 555px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }

    .btn_carrusel3 {
        background-image: url(../img/carrusel//carrusel-home/img_carrusel3.jpg);
        width: 135px;
        height: 60px;
        right: 528px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }

    .btn_carrusel4 {
        background-image: url(../img/carrusel//carrusel-home/img_carrusel4.jpg);
        width: 135px;
        height: 60px;
        right: 498px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }

    .btn_carrusel5 {
        background-image: url(../img/carrusel//carrusel-home/img_carrusel5.jpg);
        width: 135px;
        height: 60px;
        right: 474px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }

    .btn_carrusel6 {
        background-image: url(../img/carrusel//carrusel-home/img_carrusel6.jpg);
        width: 135px;
        height: 60px;
        right: 474px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }

    .btn_carrusel7 {
        background-image: url(../img/carrusel//carrusel-home/img_carrusel7.jpg);
        width: 135px;
        height: 60px;
        right: 474px;
        position: absolute;
        bottom: 20px;
        margin-bottom: 10px;
        background-size: cover;
        background-position: center center;
        display: none;
        border-radius: 5px;
    }



    .contenedor {
        overflow: hidden;
    }

    /*--------------- carrusel end ---------------*/

    /*--------------- gestion start ---------------*/

    h6::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -20px;
        width: 30px;
        height: 3px;
        background-color: var(--color-1);
    }

    #servicios-descripcion,
    #propuesta-de-talleres,
    #gestion {
        padding: 80px 0px;
        gap: 80px;
        display: flex;
        flex-direction: column;
    }

    #servicios-descripcion p,
    #gestion p {
        color: var(--color-4);
    }


    #pintura h2,
    #muebles-antiguedades h2,
    #arqueologia h2,
    #proyectos-y-estudios h2,
    #gestion-patrimonio h2,
    #servicios-descripcion h2,
    #propuesta-de-talleres h2,
    #gestion h2 {
        font-size: var(--font-s-40);
    }

    #pintura h3,
    #muebles-antiguedades h3,
    #arqueologia h3,
    #proyectos-y-estudios h3,
    #gestion-patrimonio h3,
    #servicios-descripcion h3,
    #propuesta-de-talleres h3,
    #gestion h3,
    #servicios-descripcion h6,
    #propuesta-de-talleres h6,
    #gestion h6 {
        font-size: var(--font-s-30);
        color: var(--color-5);
    }

    #areas-trabajo .container-fluid.px-0 #areas-trabajo-encabezado {
        padding-top: 40px !important;
    }

    /*--------------- gestion end ---------------*/


    /*--------------- separador start ---------------*/

    .separador-caja {
        width: 100%;
        max-width: 400px;
        border-top: 1px solid var(--color-3);
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding-top: 20px;
    }

    .separador-caja svg {
        flex-shrink: 0;
        transition: transform 0.3s ease;
    }

    /*--------------- separador end ---------------*/

    /*--------------- principios start ---------------*/

    #principios {
        padding: 80px 0px;
        gap: 80px;
        display: flex;
        flex-direction: column;
    }

    #principios h2 {
        font-size: var(--font-s-40);
    }

    #principios h3,
    #principios h5 {
        font-size: var(--font-s-30);
        color: var(--color-5)
    }

    #principios p {
        font-size: var(--font-s-20);
    }

    .tarjetas-container-2 {
        gap: 40px;
        width: 100%;
    }

    .tarjeta-card-completa {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-decoration: none;

    }

    /* Contenedor del icono SVG individual */
    .tarjeta-icon-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 12px;
    }

    .tarjeta-icon-wrapper img {
        max-height: 100%;
        width: auto;
        transition: transform 0.3s ease;
    }

    .tarjeta-card-completa:hover .tarjeta-icon-wrapper img {
        transform: scale(1.1);
    }

    #gestion-patrimonio .tarjeta-titulo {
        font-weight: var(--font-w-400);
    }

    #areas-trabajo .segunda-mitad p {
        font-family: var(--font-1);
        font-weight: var(--font-w-400);
        font-size: var(--font-s-20);
        margin: 0;
    }

    #areas-trabajo .tarjeta-contenido p {
        font-family: var(--font-1);
        font-weight: var(--font-w-400);
        font-size: var(--font-s-20);
        margin-bottom: 12px;
    }

    #areas-trabajo .segunda-mitad .separador,
    #areas-trabajo .tarjeta-contenido .separador {
        margin: 12px auto;
    }

    .tarjeta-titulo {
        font-family: var(--font-1);
        font-size: var(--font-s-20) !important;
        font-weight: var(--font-w-700);
        color: var(--color-1) !important;
        margin-bottom: 12px;
        text-transform: uppercase;
    }

    .tarjeta-descripcion {
        font-family: var(--font-1);
        font-size: var(--font-s-20);
        font-weight: var(--font-w-400);
        color: var(--color-4);
        margin: 0;
    }

    .fondo {
        background: rgba(248, 248, 248, 0.3);
    }


    /*--------------- principios end ---------------*/


    /*--------------- proyectos start ---------------*/

    #proyectos h3,
    #proyectos h5 {
        font-size: var(--font-s-30);
        color: var(--color-5)
    }


    #proyectos h2 {
        font-size: var(--font-s-48);
    }


    #proyectos a {
        text-decoration: none;
    }

    #proyectos img {
        transition: all .3s;
        bottom: -15px;
    }


    #proyectos a h3,
    #proyectos a h4 {
        color: var(--white);
        font-size: var(--font-s-18);
        margin: 0;
        background-color: var(--color-2);
        text-transform: uppercase;
    }

    /* Grid base de 3 columnas con filas modulares */
    .grid-collage-compacto {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
        grid-auto-rows: 80px;
        grid-auto-flow: dense;
        width: 100%;
    }

    /* Estilo general del enlace de la tarjeta */
    .card-proyecto {
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
        border-radius: 10px;

    }

    .card-proyecto img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.4s ease;
    }

    /* Efecto Hover al pasar el ratón */
    .card-proyecto:hover img {
        transform: scale(1.05);
    }

    /* 
 * Control de alturas mediante "spans" para que encajen perfectamente:
 * Las verticales (9/16) ocupan más módulos verticales.
 * Las horizontales (16/9) ocupan menos módulos.
 */
    .card-grande {
        grid-row: span 5;
        /* Imagen vertical (9/16) */
    }

    .card-pequena {
        grid-row: span 3;
        /* Imagen horizontal (16/9) */
    }

    /* Contenedor del overlay para la lupa */
    .card-proyecto .overlay-lupa {
        background: rgba(121, 49, 95, 0.6);
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
        border-radius: inherit;
    }

    /* Muestra la lupa y oscurece la imagen al hacer hover */
    .card-proyecto:hover .overlay-lupa {
        opacity: 1;
    }

    /*--------------- Collage Modular en Partes (Edificios Históricos y reutilizable) ---------------*/
    .collage-modular-bloque {
        margin-bottom: 20px;
    }

    .collage-row-modular {
        --bs-gutter-x: 40px;
        --bs-gutter-y: 40px;
        margin: 0;
    }


    /* Columna con 2 imágenes apiladas verticalmente */
    .collage-col-stack {
        display: flex;
        flex-direction: column;
        gap: 40px;
        height: 100%;
    }

    /* Tarjeta de imagen para dúo (Parte 1) */
    .card-collage-duo {
        display: block;
        width: 100%;
        height: 500px;
        width: auto;
    }


    /* Tarjeta de imagen para apiladas (Parte 2 y 3) */
    .card-collage-stack {
        display: block;
        width: 100%;
        aspect-ratio: 16/9;
        width: auto;
    }

    /* Columna y tarjeta para la imagen única alta (Parte 2 y 3) */
    .collage-col-single {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .card-collage-single {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 520px;
        /* 240px + 40px gap + 240px = 520px para igualar la columna apilada */
    }

    .separador-400 {
        max-width: 400px !important;
        margin: 30px auto !important;
    }

    /* Grid de 3 columnas con filas modulares y flujo denso */
    .galeria-mosaico-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
        grid-auto-rows: 80px;
        grid-auto-flow: dense;
        width: 100%;
    }

    /* Tarjeta base del mosaico */
    .mosaico-card {
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
        background-color: #46333E;
    }

    /* Control exacto de cuántos bloques verticales ocupa cada tipo */
    .mosaico-card--grande {
        grid-row: span 9;
        /* Imagen vertical / alta */
    }

    .mosaico-card--pequena {
        grid-row: span 3;
        /* Imagen horizontal / corta */
    }

    .mosaico-card--mediana {
        grid-row: span 6;
        /* (~440px de alto) */
    }

    .mosaico-card-semi-grande {
        grid-row: span 10;
    }

    .mosaico-card-semi-pequena {
        grid-row: span 4;
    }

    .mosaico-card-semi-mediana {
        grid-row: span 7;
        /* (~440px de alto) */
    }


    /* Ajuste absoluto de la imagen dentro del bloque que le corresponde */
    .mosaico-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.4s ease;
    }

    .mosaico-card:hover img {
        transform: scale(1.05);
    }

    #seccion-galeria-mosaico .mosaico-card,
    #seccion-galeria-mosaico .mosaico-card .mosaico-overlay-lupa,
    #seccion-galeria-mosaico .mosaico-card img {
        border-radius: 0 !important;
    }

    /* Capa 1: Exclusiva para el degradado con mezcla sobre la imagen */
    .mosaico-card .mosaico-capa-degradado {
        height: 50%;
        background: linear-gradient(180deg, rgba(70, 51, 62, 0) 0%, #46333E 100%);
        mix-blend-mode: multiply;
        pointer-events: none;
        z-index: 2;
    }

    /* Capa 2: Contenedor independiente para el texto (Z-Index superior sin blend-mode) */
    .mosaico-card .mosaico-contenedor-texto {
        height: 50%;
        pointer-events: none;
        z-index: 3;
        text-align: center;
        padding: 40px;
    }

    /* Texto limpio en blanco sólido con sombra */
    .mosaico-card .mosaico-contenedor-texto p {
        color: #ffffff !important;
        text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.8);
        position: relative;
        z-index: 4;
        letter-spacing: 4%;
    }




    /* Capa Hover con Lupa (Fancybox) */
    .mosaico-card .mosaico-overlay-lupa {
        background: rgba(121, 49, 95, 0.6);
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
        z-index: 3;
    }

    .mosaico-card:hover .mosaico-overlay-lupa {
        opacity: 1;
    }

    .boton_galeria {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 12px 20px;
        font-weight: var(--font-w-800);
        font-family: var(--font-1);
        letter-spacing: 4%;
        font-size: var(--font-s-18);
        transition: all .3s;
        text-decoration: none;
        border: none;
        color: var(--color-2);
        background-color: transparent;

    }

    /* Estado activo del botón de filtro */
    #mosaico-filtros .boton_galeria:hover,
    #mosaico-filtros .boton_galeria.active {
        background: linear-gradient(180deg, rgba(70, 51, 62, 0) 0%, #46333E 100%), #79315F;
        background-blend-mode: multiply, normal;
        color: #fff;
    }

    /* Adaptación Responsive */
    @media (max-width: 991px) {
        .galeria-mosaico-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 25px;
            grid-auto-rows: 70px;
        }
    }

    @media (max-width: 768px) {
        .galeria-mosaico-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }

    }



    /*--------------- proyectos end ---------------*/

    /*--------------- formacion start ---------------*/

    #formacion {
        background-image: linear-gradient(0deg, #79315F, #79315F), url(../img/bg/fondo_buscas_taller.jpeg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-blend-mode: multiply;
        padding: 80px 0;
    }


    #formacion h3 {
        font-size: var(--font-s-40);
    }

    #formacion p {
        font-size: var(--font-s-20);
    }

    #formacion a {
        text-transform: uppercase;
    }


    /*--------------- formacion end ---------------*/
    /*--------------------------------------------- GESTION IMGS start ---------------------------------------------*/

    /* Contenedor principal del enlace */
    .tarjeta-enlace {
        position: relative;
        display: block;
        overflow: hidden;
        /* Oculta el sobrante cuando la imagen se amplía */
        flex: 1;
        /* Permite que las tres tarjetas se distribuyan uniformemente en escritorio */
    }

    /* Contenedor de la imagen y efecto de ampliación (Hover) */
    .tarjeta-img-wrapper {
        position: relative;
        width: 100%;
        height: 100%;
        background-color: #fff;
        /* Base blanca para que el multiply funcione correctamente */
    }

    .tarjeta-img-wrapper img {
        transition: transform 0.5s ease;
        display: block;
        object-fit: cover;
        height: 480px;
        object-position: top;
    }

    /* Al pasar el ratón, la imagen crece un 10% */
    .tarjeta-enlace:hover .tarjeta-img-wrapper img {
        transform: scale(1.1);
    }

    /* Capa de degradado con efecto Multiplicar */
    .tarjeta-img-wrapper::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(70, 51, 62, 0) 0%, #46333E 100%);
        mix-blend-mode: multiply;
        pointer-events: none;
        /* Evita que la capa bloquee el clic */
        z-index: 1;
    }

    /* Texto centrado vertical y horizontalmente sobre la imagen */
    .tarjeta-texto {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
        text-align: center;
        width: 90%;
        /* Evita que textos largos toquen los bordes */
        pointer-events: none;
        text-transform: uppercase;
    }

    .tarjeta-texto h3 {
        text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
        /* Mejora la legibilidad del texto */
    }

    .tarjetas-container {
        gap: 40px
    }

    /*--------------------------------------------- GESTION IMGS end ---------------------------------------------*/

    /*--------------- articulos start ---------------*/

    #articulos h2 {
        font-size: var(--font-s-48);
    }

    .enlace_blog {
        text-decoration: none;
    }

    .enlace_blog:hover {
        color: var(--color-2);
        text-decoration: underline;
    }

    #articulos h4:hover {
        color: var(--color-2);
    }

    .card_articulo {
        border: 1px solid #ddd;
        max-width: 650px;
    }

    .fecha {
        background-color: var(--color-2);
        width: 143px;
        font-size: var(--font-s-13);
        color: var(--white);
        padding: 8px 10px;
    }

    .enlace_articulo a {
        text-decoration: none;
    }

    .boton_enlace:hover {
        text-decoration: underline;
    }

    .contenedor-img-articulo {
        max-width: 250px;
    }

    /*--------------- articulos end ---------------*/

    /*--------------- MAIN end ---------------*/

    /*--------------- FOOTER start ---------------*/

    footer {
        background-color: #F8F8F8;
        width: 100%;
        padding: 80px 0px;
    }

    footer .separador {
        width: 100%;
        border-top: 1px solid var(--color-2);
        display: flex;
        max-width: 1200px;
        margin: 40px auto;
    }

    .separador {
        width: 100%;
        border-top: 1px solid var(--color-3);
        display: flex;
        max-width: 1200px;
        margin: 20px auto;
    }

    .politicas {
        border-top: 1px solid rgba(255, 255, 255, .1);
    }

    .link_politicas:hover {
        color: var(--color-1);
        font-weight: bolder
    }

    footer a {
        text-decoration: none;
        color: var(--color-2);
    }

    footer i {
        color: var(--color-3);
    }

    footer i:hover {
        color: #ccc;
        transition: all .5s;
    }

    .footer-rrss {
        gap: 10px;
    }

    .instagram-2:hover img,
    .footer-rrss a:hover img {
        filter: brightness(0) saturate(100%) invert(15%) sepia(58%) saturate(0%) hue-rotate(64deg) brightness(125%) contrast(105%);
        transform: translateY(-5px);
        transition: all .3s;
    }

    .footer-logo img {
        height: 62px;
        width: auto;
        max-height: 100%;
        margin: 0 !important;
        line-height: 0;
    }

    /*--------------- FOOTER end ---------------*/

    /*--------------------------------------------- HOME end ---------------------------------------------*/

    /*--------------------------------------------- SERVICIOS start ---------------------------------------------*/

    .img-secciones-sevicios {
        display: flex;
        width: 215px;
        height: 215px;
        background-color: #737E86;
        box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .5);
    }

    .img-secciones-sevicios a {
        width: 215px;
        height: 215px;
    }

    .img-secciones-sevicios a:hover {
        background-color: rgba(0, 0, 0, .5);
        transition: all .3s;
    }

    .lupa {
        display: none;
    }

    .img-secciones-sevicios a:hover>.lupa {
        display: block;
    }

    .info-servicios {
        border-bottom: 1px solid rgba(0, 0, 0, .05);
    }

    /*--------------- otros servicios start ---------------*/

    .otros-servicios {
        border-left: 1px solid rgba(0, 0, 0, .05);
        padding: 30px 20px 20px;
    }

    .otros-servicios ul {
        list-style: none;
        background-color: #934370;
        padding: 10px 20px 10px;
        width: 260px;
    }

    .otros-servicios ul li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding: 13px 0px;
    }

    .otros-servicios ul li a {
        text-decoration: none;
        color: var(--white);
        display: block;
        width: 100%;
        height: 100%;
    }

    .otros-servicios ul li a:hover {
        color: #eeaccd;
    }

    .linea-lista {
        margin-top: 10px;
        border-bottom: 1px solid rgba(0, 0, 0, .05);
        width: 260px;
    }

    /*--------------- otros servicios end ---------------*/

    /*--------------- servicios start ---------------*/

    #servicios {
        .header-img {
            background: none;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            background-blend-mode: multiply;
            height: 368px;
            background-image:
                linear-gradient(180deg, #46333E 0%, rgba(70, 51, 62, 0) 100%),
                url('../img/headers/servicios-header.png');
        }
    }

    #servicios-index a {
        text-decoration: none;
        text-align: center;
        transition: all 0.5s ease;
    }

    .lista-servicios-ficha li {

        font-family: var(--font-1);
        font-weight: var(--font-w-400);
        font-size: var(--font-s-20);
        list-style-type: square;
    }

    #servicios-index img:hover,
    #servicios-index a:hover {
        opacity: 0.8;
    }

    #servicios-index h3 {
        font-family: var(--font-1);
        font-size: var(--font-s-18);
        font-weight: var(--font-w-500);
        color: var(--color-1);
        text-transform: uppercase;
        margin-bottom: 0;
    }

    #servicios-index h3::first-letter {
        font-family: var(--font-4);
        font-size: var(--font-s-50);
        font-weight: var(--font-w-600);
        color: var(--color-1);
        margin-bottom: 0;
        font-style: italic;
    }

    /* Primeras 3 imágenes */
    #servicios-index .col-md-4 img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: top;
    }

    /* Cuarta imagen */
    #servicios-index .col-12:last-child img {
        height: 300px;
        object-fit: cover;
    }


    .boton-LM {
        padding: 13px 19px;
        text-decoration: none;
        background-color: var(--color-2);
        font-size: var(--font-s-12);
        color: var(--white);
    }

    .serv-1 {
        background-image: url(../img/bg/serv-1.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .serv-2 {
        background-image: url(../img/bg/serv-2.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .serv-3 {
        background-image: url(../img/bg/serv-3.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .serv-4 {
        background-image: url(../img/bg/serv-4.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .serv-5 {
        background-image: url(../img/bg/serv-5.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    /*--------------- servicios end ---------------*/


    .img-secciones-sevicios {
        display: flex;
        width: 215px;
        height: 215px;
        background-color: #737E86;
        box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .5);
    }

    .img-secciones-sevicios a {
        width: 215px;
        height: 215px;
    }

    /*--------------------------------------------- SERVICIOS end ---------------------------------------------*/

    /*--------------------------------------------- GESTION-PATRIMONIO start ---------------------------------------------*/

    .GP-1 {
        background-image: url(../img/servicios/gestion-patrimonio/GestionPatrimonio-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .GP-2 {
        background-image: url(../img/servicios/gestion-patrimonio/GestionPatrimonio-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .GP-3 {
        background-image: url(../img/servicios/gestion-patrimonio/GestionPatrimonio-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .GP-4 {
        background-image: url(../img/servicios/gestion-patrimonio/GestionPatrimonio-4.jpg);
        background-position: center;
        background-size: cover;
    }

    /*--------------------------------------------- GESTION-PATRIMONIO end ---------------------------------------------*/

    /*--------------------------------------------- CONS. PREVENTIVA start ---------------------------------------------*/

    .CP-1 {
        background-image: url(../img/servicios/cons.preventiva/cons-prev-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .CP-2 {
        background-image: url(../img/servicios/cons.preventiva/cons-prev-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .CP-3 {
        background-image: url(../img/servicios/cons.preventiva/cons-prev-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .CP-4 {
        background-image: url(../img/servicios/cons.preventiva/cons-prev-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .CP-5 {
        background-image: url(../img/servicios/cons.preventiva/cons-prev-5.jpg);
        background-position: center;
        background-size: cover;
    }

    /*--------------------------------------------- CONS. PREVENTIVA end ---------------------------------------------*/

    /*--------------------------------------------- ARQUEOLOGIA start ---------------------------------------------*/

    .AR-1 {
        background-image: url(../img/servicios/arqueologia/arqueologia-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-2 {
        background-image: url(../img/servicios/arqueologia/arqueologia-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-3 {
        background-image: url(../img/servicios/arqueologia/arqueologia-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-4 {
        background-image: url(../img/servicios/arqueologia/arqueologia-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-5 {
        background-image: url(../img/servicios/arqueologia/arqueologia-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-6 {
        background-image: url(../img/servicios/arqueologia/arqueologia-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-7 {
        background-image: url(../img/servicios/arqueologia/arqueologia-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .AR-8 {
        background-image: url(../img/servicios/arqueologia/arqueologia-8.jpg);
        background-position: center;
        background-size: cover;
    }

    /*--------------------------------------------- ARQUEOLOGIA end ---------------------------------------------*/

    /*--------------------------------------------- TASACION start ---------------------------------------------*/



    .TS-1 {
        background-image: url(../img/servicios/tasacion/tasacion-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .TS-2 {
        background-image: url(../img/servicios/tasacion/tasacion-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .TS-3 {
        background-image: url(../img/servicios/tasacion/tasacion-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .tasacion {
        display: flex;
        width: 290px;
        height: 290px;
        background-color: #737E86;
        box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .5);
    }

    .tasacion a {
        width: 290px;
        height: 290px;
    }

    .tasacion a:hover {
        background-color: rgba(0, 0, 0, .5);
        transition: all .2s;
    }

    .tasacion a:hover>.lupa {
        display: block;
    }


    /*--------------------------------------------- TASACION end ---------------------------------------------*/

    /*--------------------------------------------- PROCESO DE TRABAJO start ---------------------------------------------*/

    .carrusel-trabajos {
        background-image: url(../img/bg/fondo-carrusel-trabajos.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 100%;
    }

    /*--------------- carrusel start ---------------*/

    #carrusel_trabajos .carousel {
        background: rgba(255, 255, 255, 0.8);
        box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4);
        width: 1175px;
        height: 549px;
        margin: 100px 0px;
    }

    #carrusel_trabajos .contenedor {
        position: relative;
    }

    #carrusel_trabajos .carousel-control-prev,
    #carrusel_trabajos .carousel-control-next {
        visibility: hidden;
    }

    #carrusel_trabajos .carousel-control-prev:hover,
    #carrusel_trabajos .carousel-control-next:hover {
        opacity: 0;
    }

    #carrusel_trabajos .carousel-control-next-icon,
    #carrusel_trabajos .carousel-control-prev-icon {
        background-color: black;
        height: 8rem;
        width: 1rem;
        opacity: .5;
    }

    #carrusel_trabajos .indicador {
        padding: 10px;
        border: .5px solid rgba(0, 0, 0, .08);
        border-top: none;
        margin-right: 15px;
    }

    #carrusel_trabajos .indicador button {
        border: none;
        width: 85px;
        height: 85px;
    }

    #carrusel_trabajos .carousel-indicators [data-bs-target] {
        width: 13px;
        height: 13px;
        margin-right: 10px;
        margin-left: 10px;
        cursor: pointer;
        background-color: white;
    }

    #carrusel_trabajos .carousel-indicators .active {
        background-color: var(--white);
    }

    #carrusel_trabajos .indicador:hover>.btn_carrusel1 {
        display: block;
        transition: opacity 0.6s ease;
    }

    #carrusel_trabajos .indicador:hover>.btn_carrusel2 {
        display: block;
        transition: opacity 0.6s ease;
    }

    #carrusel_trabajos .indicador:hover>.btn_carrusel3 {
        display: block;
        transition: opacity 0.6s ease;
    }

    #carrusel_trabajos .indicador:hover>.btn_carrusel4 {
        display: block;
        transition: opacity 0.6s ease;
    }

    #carrusel_trabajos .indicador-numero {
        padding: 10px;
        border: .5px solid rgba(0, 0, 0, .08);
        border-top: none;
        margin-right: 15px;
        position: relative;
    }

    #carrusel_trabajos .indicador-numero button {
        border: none;
        width: 85px;
        height: 85px;
    }

    #carrusel_trabajos .indicador-numero.active>button::after {
        content: '';
        background-color: var(--color-2);
        width: 5px;
        height: 106px;
        position: absolute;
        right: -6px;
        top: 0px;
    }

    #carrusel_trabajos .indicador-numero.active>button::before {
        content: "";
        display: block;
        bottom: -30px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 20px 0px 0px 20px;
        background-color: transparent;
        border-color: transparent;
        border-top-color: #934370;
        position: absolute;
        right: -11px;
        top: 43px;
        transform: rotate(45deg);
    }


    /*--------------------------------------------- PROCESO DE TRABAJO end ---------------------------------------------*/

    /*--------------------------------------------- MUEBLES Y ANTIGÜEDADES start ---------------------------------------------*/


    .MA-1 {
        background-image: url(../img/servicios/muebles/Muebles-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-2 {
        background-image: url(../img/servicios/muebles/Muebles-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-3 {
        background-image: url(../img/servicios/muebles/Muebles-3.jpeg);
        background-position: center;
        background-size: cover;
    }

    .MA-4 {
        background-image: url(../img/servicios/muebles/Muebles-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-5 {
        background-image: url(../img/servicios/muebles/Muebles-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-6 {
        background-image: url(../img/servicios/muebles/Muebles-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-7 {
        background-image: url(../img/servicios/muebles/Muebles-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-8 {
        background-image: url(../img/servicios/muebles/Muebles-8.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-9 {
        background-image: url(../img/servicios/muebles/Muebles-9.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-10 {
        background-image: url(../img/servicios/muebles/Muebles-10.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-11 {
        background-image: url(../img/servicios/muebles/Muebles-11.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-12 {
        background-image: url(../img/servicios/muebles/Muebles-12.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-13 {
        background-image: url(../img/servicios/muebles/Muebles-13.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-14 {
        background-image: url(../img/servicios/muebles/Muebles-14.jpg);
        background-position: center;
        background-size: cover;
    }

    .MA-15 {
        background-image: url(../img/servicios/muebles/Muebles-15.jpg);
        background-position: center;
        background-size: cover;
    }

    /*--------------------------------------------- MUEBLES Y ANTIGÜEDADES end ---------------------------------------------*/

    /*--------------------------------------------- PINTURA start ---------------------------------------------*/


    .PI-1 {
        background-image: url(../img/servicios/pintura/Pintura-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-2 {
        background-image: url(../img/servicios/pintura/Pintura-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-3 {
        background-image: url(../img/servicios/pintura/Pintura-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-4 {
        background-image: url(../img/servicios/pintura/Pintura-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-5 {
        background-image: url(../img/servicios/pintura/Pintura-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-6 {
        background-image: url(../img/servicios/pintura/Pintura-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-7 {
        background-image: url(../img/servicios/pintura/Pintura-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-8 {
        background-image: url(../img/servicios/pintura/Pintura-8.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-9 {
        background-image: url(../img/servicios/pintura/Pintura-9.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-10 {
        background-image: url(../img/servicios/pintura/Pintura-10.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-11 {
        background-image: url(../img/servicios/pintura/Pintura-11.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-12 {
        background-image: url(../img/servicios/pintura/Pintura-12.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-13 {
        background-image: url(../img/servicios/pintura/Pintura-13.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-14 {
        background-image: url(../img/servicios/pintura/Pintura-14.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-15 {
        background-image: url(../img/servicios/pintura/Pintura-15.jpg);
        background-position: center;
        background-size: cover;
    }

    .PI-16 {
        background-image: url(../img/servicios/pintura/Pintura-16.jpg);
        background-position: center;
        background-size: cover;
    }

    /*--------------------------------------------- PINTURA end ---------------------------------------------*/

    /*--------------------------------------------- RESTABLOS Y ESCULTURAS start ---------------------------------------------*/

    .RB-1 {
        background-image: url(../img/servicios/restablos/restablo-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-2 {
        background-image: url(../img/servicios/restablos/restablo-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-3 {
        background-image: url(../img/servicios/restablos/restablo-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-4 {
        background-image: url(../img/servicios/restablos/restablo-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-5 {
        background-image: url(../img/servicios/restablos/restablo-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-6 {
        background-image: url(../img/servicios/restablos/restablo-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-7 {
        background-image: url(../img/servicios/restablos/restablo-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-8 {
        background-image: url(../img/servicios/restablos/restablo-8.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-9 {
        background-image: url(../img/servicios/restablos/restablo-9.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-10 {
        background-image: url(../img/servicios/restablos/restablo-10.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-11 {
        background-image: url(../img/servicios/restablos/restablo-11.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-12 {
        background-image: url(../img/servicios/restablos/restablo-12.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-13 {
        background-image: url(../img/servicios/restablos/restablo-13.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-14 {
        background-image: url(../img/servicios/restablos/restablo-14.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-15 {
        background-image: url(../img/servicios/restablos/restablo-15.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-16 {
        background-image: url(../img/servicios/restablos/restablo-16.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-17 {
        background-image: url(../img/servicios/restablos/restablo-17.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-18 {
        background-image: url(../img/servicios/restablos/restablo-18.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-19 {
        background-image: url(../img/servicios/restablos/restablo-19.jpg);
        background-position: center;
        background-size: cover;
    }

    .RB-20 {
        background-image: url(../img/servicios/restablos/restablo-20.jpg);
        background-position: center;
        background-size: cover;
    }


    /*--------------------------------------------- RESTABLOS Y ESCULTURAS end ---------------------------------------------*/

    /*--------------------------------------------- RESTAURACION Y CONSERVACION ARQUEOLOGICA start ---------------------------------------------*/


    .RC-1 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-2 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-3 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-4 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-5 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-6 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-7 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-8 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-8.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-9 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-9.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-10 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-10.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-11 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-11.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-12 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-12.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-13 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-13.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-14 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-14.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-15 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-15.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-16 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-16.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-17 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-17.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-18 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-18.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-19 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-19.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-20 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-20.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-21 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-21.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-22 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-22.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-23 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-23.jpg);
        background-position: center;
        background-size: cover;
    }

    .RC-24 {
        background-image: url(../img/servicios/restauracion-conservacion/restauracion-24.jpg);
        background-position: center;
        background-size: cover;
    }


    /*--------------------------------------------- RESTAURACION Y CONSERVACION ARQUEOLOGICA end ---------------------------------------------*/

    /*--------------------------------------------- BIENES INMUEBLES start ---------------------------------------------*/

    .BI-1 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-2 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-3 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-4 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-5 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-6 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-7 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-8 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-8.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-9 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-9.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-10 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-10.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-11 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-11.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-12 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-12.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-13 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-13.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-14 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-14.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-15 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-15.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-16 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-16.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-17 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-17.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-18 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-18.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-19 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-19.jpg);
        background-position: center;
        background-size: cover;
    }

    .BI-20 {
        background-image: url(../img/servicios/Bienes-inmuebles/bienes-inmuebles-20.jpg);
        background-position: center;
        background-size: cover;
    }

    /*--------------------------------------------- BIENES INMUEBLES end ---------------------------------------------*/

    /*--------------------------------------------- GALERIA start ---------------------------------------------*/

    .GR-1 {
        background-image: url(../img/galeria/galeria-1.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-2 {
        background-image: url(../img/galeria/galeria-2.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-3 {
        background-image: url(../img/galeria/galeria-3.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-4 {
        background-image: url(../img/galeria/galeria-4.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-5 {
        background-image: url(../img/galeria/galeria-5.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-6 {
        background-image: url(../img/galeria/galeria-6.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-7 {
        background-image: url(../img/galeria/galeria-7.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-8 {
        background-image: url(../img/galeria/galeria-8.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-9 {
        background-image: url(../img/galeria/galeria-9.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-10 {
        background-image: url(../img/galeria/galeria-10.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-11 {
        background-image: url(../img/galeria/galeria-11.jpg);
        background-position: center;
        background-size: cover;
    }

    .GR-12 {
        background-image: url(../img/galeria/galeria-12.jpg);
        background-position: center;
        background-size: cover;
    }

    .tab-galeria .enlace-tab {
        background-color: var(--color-2);
        text-decoration: none;
        padding: 0 20px;
        border-radius: 5px;
        height: 41px;
        width: 290px;
    }

    .img-galeria {
        display: flex;
        width: 290px;
        height: 290px;
        background-color: #737E86;
        box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .5);
    }

    .img-galeria a {
        width: 290px;
        height: 290px;
    }

    .img-galeria a:hover {
        background-color: rgba(0, 0, 0, .5);
    }

    .lupa {
        display: none;
    }

    .img-galeria a:hover>.lupa {
        display: block;
    }



    /*--------------------------------------------- GALERIA end ---------------------------------------------*/

    /*--------------------------------------------- FORMACION start ---------------------------------------------*/

    /*--------------- talleres  start ---------------*/

    .numero-grid-numerado {
        font-family: var(--font-3);
        font-size: var(--font-s-72);
        font-weight: var(--font-w-600);
        color: var(--color-1);
        line-height: 1;
        min-width: 70px;
        width: 70px;
    }

    .texto-grid-numerado {
        font-family: var(--font-1);
        font-size: var(--font-s-20);
        font-weight: var(--font-w-700);
        color: var(--color-1) !important;
        text-transform: uppercase;
        word-break: break-word;
    }

    /*--------------- talleres  end ---------------*/

    /*--------------------------------------------- FORMACION end ---------------------------------------------*/

    /*--------------------------------------------- BLOG start ---------------------------------------------*/

    .titulo-card {
        border-top: 1px solid rgba(175, 175, 175, 0.5);
    }

    .img-maleta {
        height: 235px;
        overflow: hidden;
    }

    .enlace-blog {
        text-decoration-style: dotted;
        color: var(--color-10);
    }

    .fecha-blog {
        background-color: var(--color-2);
        color: var(--white);
        border-radius: 5px;
    }

    /*--------------------------------------------- BLOG end ---------------------------------------------*/


    /*--------------------------------------------- CONTACTO start ---------------------------------------------*/


    .tel_contacto {
        text-decoration: none;
        color: var(--black);
    }

    .enlace-info-contacto {
        text-decoration: none;
    }

    .enlace-info-contacto:hover {
        text-decoration: underline;
        color: var(--color-2);
    }

    .enlace-politicas {
        text-decoration: none;
    }

    .enlace-politicas:hover {
        text-decoration: underline;
        color: var(--color-2);
    }

    .submit {
        padding: 11px 100px;
        background-color: var(--color-2);
        border: 2px solid var(--color-2);
        border-radius: 5px;
        transition: all .3s;
    }

    .submit:hover {
        background-color: var(--color-1);
    }


    #modalInscripcionTaller {
        .modal-header {
            border-bottom: none;
            padding: 80px 60px 0px;
        }

        .modal-content {
            border-radius: 5px;
            overflow: hidden;
        }

        .modal-body {
            padding: 40px 60px 80px;
        }
    }


    .modal-backdrop.show {


        background: linear-gradient(0deg, rgba(70, 51, 62, 0.4), rgba(70, 51, 62, 0.4));

    }

    /* Estilos principales para inputs, select y textarea */


    textarea.caja-texto,
    select.caja-texto,
    input.caja-texto {
        background: transparent !important;
        border: 3px solid var(--color-2, #79315F) !important;
        width: 100%;
        padding: 12px;
        font-family: var(--font-1);
        font-style: normal;
        font-weight: 700;
        font-size: var(--font-s-20);
        text-transform: uppercase;
        color: var(--color-1);
        box-shadow: none !important;
        /* Elimina la sombra azul de enfoque de Bootstrap */
    }

    /* Reemplaza la flecha del select con tu SVG personalizado */
    select.caja-texto {
        background-color: transparent !important;
        background-image: url("data:image/svg+xml,%3Csvg width='20' height='11' viewBox='0 0 20 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.45006 10.5626L-0.000352859 2.11223L2.11188 -7.38758e-07L9.50617 7.39429L16.9005 -9.23285e-08L19.0127 2.11223L10.5623 10.5626C10.2822 10.8427 9.90227 11 9.50617 11C9.11007 11 8.73018 10.8427 8.45006 10.5626Z' fill='%2346333E'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: right 0.85rem center !important;
        background-size: 16px 9px !important;
        padding-right: 2.5rem !important;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
    }


    select.caja-texto option {
        background-color: #ffffff;
        color: var(--color-1);
        font-weight: 600;
        text-transform: none;
    }

    input[type="date"].caja-texto::-webkit-calendar-picker-indicator {
        cursor: pointer;
        filter: invert(24%) sepia(45%) saturate(1682%) hue-rotate(293deg) brightness(88%) contrast(92%);
    }

    /* Estilos aplicados al PLACEHOLDER */
    textarea.caja-texto::placeholder,
    select.caja-texto::placeholder,
    input.caja-texto::placeholder {
        font-family: var(--font-1);
        font-style: normal;
        font-weight: 700;
        font-size: var(--font-s-20);
        text-transform: uppercase;
        color: var(--color-1);
    }

    /* Estado Focus al hacer clic en los campos */
    textarea.caja-texto:focus,
    select.caja-texto:focus,
    input.caja-texto:focus {
        background: transparent !important;
        border-color: var(--color-1) !important;
        outline: none !important;
    }


    .datos-mapa {
        position: absolute;
        width: 243px;
        padding: 25px;
        background-color: #934370;
        right: 257px;
        top: 50px;

        &::after {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            bottom: -30px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 30px 30px 0 0;
            background-color: transparent;
            border-color: transparent;
            border-top-color: #934370;
        }
    }

    .datos-mapa a {
        color: white;
        text-decoration: none;
    }

    .datos-mapa a:hover {
        text-decoration: underline;
    }

    /*--------------------------------------------- CONTACTO end ---------------------------------------------*/


    /*--------------- Media queries start ---------------*/
    @media (min-width: 992px) {
        .menu_desktop {
            gap: 70px;
        }
    }

    @media (max-width: 991px) {

        /*--------------------------------------------- HOME start ---------------------------------------------*/

        /*--------------- HEADER start ---------------*/

        #contenido {
            display: none;
        }

        #contenidoIdioma {
            display: none;
        }

        /* Estilo para el contenido del dropdown idiomas */
        .idiomas {
            display: none;
            position: absolute;
            background-color: var(--color-2);
            min-width: 200px;
            box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
            z-index: 1;
            right: 0;
            list-style: none;
            padding: 0;
            margin: 0;
            top: 57px;
        }

        #subContenido {
            display: none;
        }

        .navbar-nav {
            background-color: var(--color-2);
            gap: 1rem;
        }


        .navbar.is-fixed .sub-dropdown {
            top: 0px;
        }

        .sub-dropdown::before {
            display: none;
        }

        .menu_hamb .nav-link {
            width: 100%;
            display: flex;
        }

        .menu_hamb .nav-link a {
            width: 100%;
        }

        .sub-dropdown {
            display: none;
            position: relative;
            min-width: 160px;
            box-shadow: none;
            z-index: 1;
            left: 0;
            list-style: none;
            padding: 0;
            margin: 0;
            top: 0px;
        }

        .dropdown-menu {
            display: none;
            position: absolute;
            background-color: var(--color-2);
            border: none;
            border-radius: 0;
            padding: 0;
            left: 100%;
            top: 0;
        }

        .dropdown-content {
            display: none;
        }

        .dropdown:hover .dropdown-content {
            display: block;
            width: 100%;
        }

        .navbar-toggler-icon {
            /* Fuerza las dimensiones para tu icono de 32px */
            width: 32px !important;
            height: 32px !important;
            display: inline-block !important;

            /* Tu SVG exacto codificado en Data URI */
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M1.33344 13.3318C0.979793 13.3318 0.640626 13.1913 0.390557 12.9412C0.140488 12.6912 0 12.352 0 11.9983V1.33344C0 0.979793 0.140488 0.640626 0.390557 0.390557C0.640626 0.140488 0.979793 0 1.33344 0H12.001C12.3547 0 12.6938 0.140488 12.9439 0.390557C13.194 0.640626 13.3344 0.979793 13.3344 1.33344V11.9983C13.3344 12.352 13.194 12.6912 12.9439 12.9412C12.6938 13.1913 12.3547 13.3318 12.001 13.3318H1.33344ZM20.0017 13.3318C19.648 13.3318 19.3088 13.1913 19.0588 12.9412C18.8087 12.6912 18.6682 12.352 18.6682 11.9983V1.33344C18.6682 0.979793 18.8087 0.640626 19.0588 0.390557C19.3088 0.140488 19.648 0 20.0017 0H30.6666C31.0202 0 31.3594 0.140488 31.6094 0.390557C31.8595 0.640626 32 0.979793 32 1.33344V11.9983C32 12.352 31.8595 12.6912 31.6094 12.9412C31.3594 13.1913 31.0202 13.3318 30.6666 13.3318H20.0017ZM1.33344 32C0.979793 32 0.640626 31.8595 0.390557 31.6094C0.140488 31.3594 0 31.0202 0 30.6666V19.999C0 19.6453 0.140488 19.3062 0.390557 19.0561C0.640626 18.806 0.979793 18.6656 1.33344 18.6656H12.001C12.3547 18.6656 12.6938 18.806 12.9439 19.0561C13.194 19.3062 13.3344 19.6453 13.3344 19.999V30.6666C13.3344 31.0202 13.194 31.3594 12.9439 31.6094C12.6938 31.8595 12.3547 32 12.001 32H1.33344ZM20.0017 32C19.648 32 19.3088 31.8595 19.0588 31.6094C18.8087 31.3594 18.6682 31.0202 18.6682 30.6666V19.999C18.6682 19.6453 18.8087 19.3062 19.0588 19.0561C19.3088 18.806 19.648 18.6656 20.0017 18.6656H30.6666C31.0202 18.6656 31.3594 18.806 31.6094 19.0561C31.8595 19.3062 32 19.6453 32 19.999V30.6666C32 31.0202 31.8595 31.3594 31.6094 31.6094C31.3594 31.8595 31.0202 32 30.6666 32H20.0017Z' fill='white'/%3E%3C/svg%3E") !important;
            background-repeat: no-repeat !important;
            background-position: center !important;
            background-size: contain !important;
        }

        /*--------------- HEADER end ---------------*/

        /*--------------- MAIN start ---------------*/

        #navbarNavAltMarkup {
            background-color: var(--color-2);
            padding: 30px;
            top: 100%;
            left: 0;
            position: absolute;
            width: 100%;
        }

        #navbarNavAltMarkup span {
            width: 100%;
        }


        /*--------------- carrusel start ---------------*/
        .carrusel,
        .contenedor-carrusel,
        .carousel-inner,
        .carousel-item {
            height: 640px;
        }

        .titulo_carrusel_bienvenida {
            font-size: var(--font-s-19);
        }

        .titulo_carrusel {
            font-size: var(--font-s-56);
            width: max-content;
            letter-spacing: -2px;
        }

        .subtiulo_carrusel {
            font-size: var(--font-s-48);
        }

        @keyframes zoom_positivo {
            0% {
                transform: scale(1.3);
            }

            100% {
                transform: scale(1.5);
            }
        }

        @keyframes zoom_negativo {
            0% {
                transform: scale(1.5);
            }

            100% {
                transform: scale(1.3);
            }
        }


        /*--------------- carrusel end ---------------*/

        /*--------------- gestion start ---------------*/

        #disclaimer-cursos {
            padding-bottom: 60px !important;
        }

        #servicios-descripcion,
        #propuesta-de-talleres,
        #gestion {
            padding: 60px 0px;
            gap: 60px;
        }


        #servicios-descripcion p,
        #gestion p {
            color: var(--color-4);
        }

        #servicios-descripcion h3,
        #propuesta-de-talleres h3,
        #gestion h3,
        #servicios-descripcion h6,
        #propuesta-de-talleres h6,
        #gestion h6 {
            font-size: var(--font-s-13);
        }

        /*--------------- gestion end ---------------*/

        /*--------------- principios start ---------------*/


        /*--------------- principios end ---------------*/

        /*--------------- articulos start ---------------*/


        .card_articulo {
            border: 1px solid #ddd;
            margin: 0 auto;
            max-width: 350px;
        }

        .enlace_articulo {
            margin: 0;
        }

        /*--------------- articulos end ---------------*/



        /*--------------- MAIN end ---------------*/

        /*--------------- FOOTER start ---------------*/
        footer {
            padding: 40px 0;
        }

        footer .separador {
            margin: 20px 0;
        }

        /*--------------- FOOTER end ---------------*/

        /*--------------------------------------------- HOME end ---------------------------------------------*/

        /*--------------------------------------------- SERVICIOS start ---------------------------------------------*/

        /*--------------- otros servicios start ---------------*/

        .otros-servicios ul {
            list-style: none;
            background-color: #934370;
            padding: 10px 20px 10px;
            width: 145px;
        }

        .linea-lista {
            margin-top: 10px;
            border-bottom: 1px solid rgba(0, 0, 0, .05);
            width: 145px;
        }

        /*--------------- otros servicios end ---------------*/


        /*--------------- proyectos start ---------------*/
        .grid-collage-compacto {
            grid-template-columns: repeat(2, 1fr);
            gap: 25px;
            grid-auto-rows: 70px;
        }

        /*--------------- proyectos end ---------------*/

        /*--------------------------------------------- SERVICIOS end ---------------------------------------------*/

        /*--------------------------------------------- PROCESO DE TRABAJO start ---------------------------------------------*/

        #carrusel_trabajos .carrusel,
        #carrusel_trabajos .contenedor {
            height: 100%;
        }

        #carrusel_trabajos .carousel-indicators,
        #carrusel_trabajos .carousel-control-prev,
        #carrusel_trabajos .carousel-control-next {
            opacity: 1;
            transition: opacity 0.6s ease;
        }

        #carrusel_trabajos .carousel-indicators [data-bs-target] {
            width: 15px;
            height: 15px;
            margin-right: 10px;
            margin-left: 10px;
            cursor: pointer;
            background-color: var(--color-1);
            transform: rotate(45deg);
        }

        #carrusel_trabajos .indicador {
            padding: 10px;
            border: .5px solid rgba(0, 0, 0, .08);
            border-top: none;
            margin-right: 15px;
        }

        #carrusel_trabajos .carousel {
            background: rgba(255, 255, 255, 0.8);
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4);
            width: 90%;
            height: 100%;
        }

        /*--------------------------------------------- PROCESO DE TRABAJO end ---------------------------------------------*/
        #modalInscripcionTaller {
            .modal-body {
                padding: 20px 30px 40px;
            }

            .modal-body {
                padding: 20px 30px 40px;
            }
        }

        /*--------------------------------------------- CONTACTO start ---------------------------------------------*/

        .submit {
            padding: 11px 50px;
            background-color: var(--color-2);
            border: 2px solid var(--color-2);
            border-radius: 5px;
            transition: all .3s;
        }

        .datos-mapa {
            position: absolute;
            width: 243px;
            padding: 25px;
            background-color: #934370;
            right: 50px;
            top: 50px;

            &::after {
                content: "";
                display: block;
                position: absolute;
                left: 0;
                bottom: -30px;
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 30px 30px 0 0;
                background-color: transparent;
                border-color: transparent;
                border-top-color: #934370;
            }
        }

        /*--------------------------------------------- CONTACTO start ---------------------------------------------*/
    }

    @media (max-width: 767px) {
        :root {
            --font-s-72: 38px;
            --font-s-50: 40px;
            --font-s-48: 38px;
            --font-s-46: 36px;
            --font-s-44: 34px;
            --font-s-42: 32px;
            --font-s-40: 34px;
            --font-s-38: 28px;
            --font-s-36: 26px;
            --font-s-34: 24px;
            --font-s-32: 22px;
            --font-s-30: 22px;
            --font-s-22: 20px;
            --font-s-20: 18px;
            --font-s-18: 16px;
            --font-s-16: 14px;
            --font-s-14: 12px;
            --font-s-12: 12px;
            --font-s-10: 8px;
        }

        .card-grande {
            grid-row: 10 span;
        }

        /*--------------------------------------------- HOME start ---------------------------------------------*/
        .separador-caja svg {
            margin-top: 10px;
            margin-bottom: 10px;
            transform: rotate(90deg);

        }

        /*--------------- HEADER start ---------------*/

        .navbar>.container-fluid {
            justify-content: center;
        }


        .contenedor_nav>button {
            position: absolute;
            right: 4px;
        }

        .menu_hamb .nav-link {
            width: 100%;
            display: flex;
        }



        .idiomas {
            position: relative;
        }

        .idiomas {
            display: none;
            position: absolute;
            background-color: var(--color-2);
            min-width: 330px;
            box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
            z-index: 1;
            right: 0;
            list-style: none;
            padding: 0;
            margin: 0;
            top: 63px;
        }

        .dropdown-content {
            display: none;
        }

        .dropdown:hover .dropdown-content {
            display: block;
            width: 100%;
        }

        .navbar-toggler-icon {
            /* Fuerza las dimensiones para tu icono de 32px */
            width: 32px !important;
            height: 32px !important;
            display: inline-block !important;

            /* Tu SVG exacto codificado en Data URI */
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M1.33344 13.3318C0.979793 13.3318 0.640626 13.1913 0.390557 12.9412C0.140488 12.6912 0 12.352 0 11.9983V1.33344C0 0.979793 0.140488 0.640626 0.390557 0.390557C0.640626 0.140488 0.979793 0 1.33344 0H12.001C12.3547 0 12.6938 0.140488 12.9439 0.390557C13.194 0.640626 13.3344 0.979793 13.3344 1.33344V11.9983C13.3344 12.352 13.194 12.6912 12.9439 12.9412C12.6938 13.1913 12.3547 13.3318 12.001 13.3318H1.33344ZM20.0017 13.3318C19.648 13.3318 19.3088 13.1913 19.0588 12.9412C18.8087 12.6912 18.6682 12.352 18.6682 11.9983V1.33344C18.6682 0.979793 18.8087 0.640626 19.0588 0.390557C19.3088 0.140488 19.648 0 20.0017 0H30.6666C31.0202 0 31.3594 0.140488 31.6094 0.390557C31.8595 0.640626 32 0.979793 32 1.33344V11.9983C32 12.352 31.8595 12.6912 31.6094 12.9412C31.3594 13.1913 31.0202 13.3318 30.6666 13.3318H20.0017ZM1.33344 32C0.979793 32 0.640626 31.8595 0.390557 31.6094C0.140488 31.3594 0 31.0202 0 30.6666V19.999C0 19.6453 0.140488 19.3062 0.390557 19.0561C0.640626 18.806 0.979793 18.6656 1.33344 18.6656H12.001C12.3547 18.6656 12.6938 18.806 12.9439 19.0561C13.194 19.3062 13.3344 19.6453 13.3344 19.999V30.6666C13.3344 31.0202 13.194 31.3594 12.9439 31.6094C12.6938 31.8595 12.3547 32 12.001 32H1.33344ZM20.0017 32C19.648 32 19.3088 31.8595 19.0588 31.6094C18.8087 31.3594 18.6682 31.0202 18.6682 30.6666V19.999C18.6682 19.6453 18.8087 19.3062 19.0588 19.0561C19.3088 18.806 19.648 18.6656 20.0017 18.6656H30.6666C31.0202 18.6656 31.3594 18.806 31.6094 19.0561C31.8595 19.3062 32 19.6453 32 19.999V30.6666C32 31.0202 31.8595 31.3594 31.6094 31.6094C31.3594 31.8595 31.0202 32 30.6666 32H20.0017Z' fill='white'/%3E%3C/svg%3E") !important;
            background-repeat: no-repeat !important;
            background-position: center !important;
            background-size: contain !important;
        }

        .boton {
            background-color: #f1f1f1;
            padding: 19px 27px;
            border: none;
            cursor: pointer;
            border-radius: initial;
        }

        /*--------------- HEADER end ---------------*/

        /*--------------- MAIN start ---------------*/

        /*--------------- carrusel start ---------------*/

        .carrusel,
        .contenedor {
            height: 640px;
        }

        .titulo_carrusel_bienvenida {
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        }

        .titulo_carrusel {
            font-size: var(--font-s-28);
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        }

        .subtiulo_carrusel {
            font-size: var(--font-s-24);
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        }

        .contenedor_punto {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 50px;
            border: 3px solid #ddd;
            border-radius: 50px;
        }

        .punto_deslizable {
            display: flex;
            animation: eating-path 2s linear infinite;
            transition-delay: 4s;
            height: 15px;
            margin-top: -5px;

            &::before {
                background-color: #ddd;
                border-radius: 50%;
                content: "";
                height: 10px;
                width: 10px;
            }
        }


        /* Proyectos */


        /*--------------- carrusel end ---------------*/

        /*--------------- gestion start ---------------*/

        #servicios-descripcion p,
        #gestion p {
            color: var(--color-4);
        }

        #servicios-descripcion h3,
        #servicios-descripcion h6,
        #propuesta-de-talleres h3,
        #propuesta-de-talleres h6,
        #gestion h3,
        #gestion h6 {
            font-size: var(--font-s-13);
        }

        /*--------------- gestion end ---------------*/

        /*--------------- principios start ---------------*/

        /*--------------- principios end ---------------*/

        /*--------------- articulos start ---------------*/

        .card_articulo {
            border: 1px solid #ddd;
            margin: 0 auto;
            max-width: 320px;
        }

        .enlace_articulo {
            margin: 0;

            padding: 0px 20px;
            padding-top: 40%;
        }

        /*--------------- articulos end ---------------*/

        /*--------------- MAIN end  ---------------*/

        /*--------------- FOOTER start ---------------*/


        /*--------------- FOOTER end ---------------*/

        /*--------------------------------------------- HOME start ---------------------------------------------*/

        /*--------------------------------------------- SERVICIOS start ---------------------------------------------*/

        /*--------------- otros servicios start ---------------*/

        .otros-servicios {
            border-left: none;
        }

        .otros-servicios ul {
            width: 325px;
        }

        .linea-lista {
            margin-top: 10px;
            border-bottom: 1px solid rgba(0, 0, 0, .05);
            width: 325px;
        }

        /*--------------- otros servicios end ---------------*/

        .serv-1 {
            height: 110px;
            background-image: url(../img/bg/serv-1.jpg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .serv-2 {
            height: 110px;
            background-image: url(../img/bg/serv-2.jpg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .serv-3 {
            height: 110px;
            background-image: url(../img/bg/serv-3.jpg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .serv-4 {
            height: 110px;
            background-image: url(../img/bg/serv-4.jpg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .serv-5 {
            height: 110px;
            background-image: url(../img/bg/serv-5.jpg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        #servicios-index h3 {
            font-size: 20px;
        }

        #servicios-index h3::first-letter {
            font-size: 20px;
            font-style: italic;
        }


        /*--------------------------------------------- SERVICIOS end ---------------------------------------------*/
        /*--------------- proyectos start ---------------*/
        .grid-collage-compacto {
            grid-template-columns: 1fr;
            gap: 20px;
        }

        /*--------------- proyectos end ---------------*/

        /*--------------------------------------------- PROCESO DE TRABAJO start ---------------------------------------------*/

        #carrusel_trabajos .carrusel,
        #carrusel_trabajos .contenedor {
            height: 100%;
        }

        #carrusel_trabajos .carousel-indicators,
        #carrusel_trabajos .carousel-control-prev,
        #carrusel_trabajos .carousel-control-next {
            opacity: 1;
            transition: opacity 0.6s ease;
        }

        #carrusel_trabajos .indicador [data-bs-target] {
            width: 15px;
            height: 15px;
            margin-right: 10px;
            margin-left: 10px;
            cursor: pointer;
            background-color: var(--color-1);
            transform: rotate(45deg);
            border-radius: 0px;
        }

        #carrusel_trabajos .carousel {
            background: rgba(255, 255, 255, 0.8);
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4);
            width: 90%;
            height: 100%;
        }

        #carrusel_trabajos .indicador {
            padding: 10px;
            border: none;
            margin-right: 15px;
        }

        /*--------------------------------------------- PROCESO DE TRABAJO end ---------------------------------------------*/

        /*--------------------------------------------- RESTAURACION Y CONSERVACION ARQUEOLOGICA start ---------------------------------------------*/

        #restauracion_conservacion h2 {
            font-size: var(--font-s-48);
        }

        /*--------------------------------------------- RESTAURACION Y CONSERVACION ARQUEOLOGICA end ---------------------------------------------*/

        /*--------------------------------------------- CONTACTO start ---------------------------------------------*/

        textarea {
            width: 100%;
            background: #f4f4f4;
            border: .5px solid rgba(0, 0, 0, .08);
        }


        .datos-mapa {
            position: initial;
            width: 100%;
            padding: 25px;
            background-color: #934370;

            &::after {
                content: "";
                display: block;
                position: absolute;
                left: 0;
                bottom: -30px;
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 30px 30px 0 0;
                background-color: transparent;
                border-color: transparent;
            }
        }

        /*--------------------------------------------- CONTACTO end ---------------------------------------------*/

    }

    /*----- Media queries end -----*/

    /*--------------- collage-fotos-3 start ---------------*/

    #collage-fotos-3 {
        padding: 0;
    }

    /* Fila principal: imagen fija + descripción flexible */
    .collage3-fila {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 2rem;
    }

    /* Variante invertida: descripción a la izquierda, imagen a la derecha */
    .collage3-fila--invertida {
        flex-direction: row-reverse;
    }

    /* Asegura que en la variante invertida la descripción quede a la izquierda */
    .collage3-fila--invertida .collage3-desc {
        text-align: left;
    }

    #retablos-y-esculturas .collage3-img {
        aspect-ratio: auto;
    }

    /* Imagen lateral: ancho fijo ~680px, altura automática por aspect-ratio */
    .collage3-img {
        flex: 0 0 680px;
        width: 680px;
        aspect-ratio: 4 / 3;
        min-height: 0;
        height: auto;
    }

    /* Sobrescribe el height: 100% heredado de .card-proyecto para permitir aspect-ratio */
    .collage3-img.card-proyecto {
        height: auto;
    }

    /* Descripción: ocupa el resto del espacio, centrada verticalmente, alineada izquierda */
    .collage3-desc {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
    }

    /* Imagen full-width con aspect-ratio 16/9 (parte 6) */
    .collage3-img-widescreen {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        overflow: hidden;
    }

    .collage3-img-widescreen img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Responsive: apila verticalmente en móvil */
    @media (max-width: 991px) {

        .collage3-fila,
        .collage3-fila--invertida {
            flex-direction: column;
            gap: 1.5rem;
        }

        .collage3-img {
            flex: none;
            width: 100%;
            aspect-ratio: 4 / 3;
        }

        .collage3-desc {
            align-items: flex-start;
            text-align: left;
        }
    }


    /*--------------- collage-fotos-3 end ---------------*/
    @media (min-width: 992px) {
        .retablos-foto-especial {
            flex: 0 0 400px !important;
        }

    }