
    /*
    :root {
        --navbar-height: 56px;
    }

    
    section[id=estudio] {
        --margen-extra-estudio: 100px;
        --margen-top-estudio: calc(var(--margen-extra-estudio) + var(--navbar-height));
        scroll-margin-top: var(--margen-top-estudio);
    }

    section[id=contacto] {
        --margen-extra-contacto: -300px;
        --margen-top-contacto: calc(var(--margen-extra-contacto) + var(--navbar-height));
        scroll-margin-top: var(--margen-top-contacto);
    }

    main[id=proyectos] {
        --margen-extra-proyectos: 100px;
        --margen-top-proyectos: calc(var(--margen-extra-proyectos) + var(--navbar-height));
        scroll-margin-top: var(--margen-top-proyectos);
    }
    */

    html,
    body {
        overflow-x: hidden;
        /* recorta el contenido que sobresalga a los lados */
        position: relative;
        /* asegura que el overflow se aplique correctamente */
    }

    body {
        overscroll-behavior-x: none;
    }

    .container-fluid,
    .row,
    .carousel-fullscreen {
        overflow-x: hidden;
    }


    .link-menu {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.85rem;
        margin-left: 5px;
        margin-right: 5px;
    }

    .titulo-menu {
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 0px;
        color: #41362a;
        font-size: 20px;
    }

    .subtitulo-menu {
        font-family: 'Sorts Mill Goudy', serif;
        letter-spacing: -0.5px;
        font-size: 16px;
        color: #41362a;
    }

    .marg-titles {
        margin-left: 10px;
        margin-right: 10px;
    }

    /* Extra small devices (portrait phones, up to 575px) */
    @media (max-width: 575px) {

        /* …estilos para xs… */
        .el-estudio {
            font-family: 'Sorts Mill Goudy', serif;
            font-weight: lighter;
            letter-spacing: -3px;
            font-size: 45px;
            color: #41362a;
            padding-right: 5px;
            padding-left: 1rem !important;
            padding-top: 25px;
            margin-top: 0px !important;
        }

        .texto-estudio {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 16px;
            text-align: justify;
            padding-right: 5px;
        }

        .titulo-menu {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .subtitulo-menu {
            font-family: 'Sorts Mill Goudy', serif;
            letter-spacing: -0.5px;
            font-size: 17px;
            color: #41362a;
        }

        .marg-titles {
            margin-left: 10px;
            margin-right: 10px;
        }

        .titulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 35px;
            padding-top: 78px !important;
            margin-bottom: 50px !important;
        }

        .subtitulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 16px;
        }

        .link-menu {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.85rem;
            margin-left: 5px;
            margin-right: 5px;
        }


        .info-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #000;
            /*41362a;*/
            font-size: 21px;
            text-align: center;
        }

        .bloque-txt-contacto {
            position: absolute;
            margin-top: -80px !important;
        }

        .hero-img {
            max-height: calc(100vh - 180px);
        }
    }

    /* Small devices (landscape phones, 576px–767px) */
    @media (min-width: 576px) and (max-width: 767px) {

        /* …estilos para sm… */
        .el-estudio {
            font-family: 'Sorts Mill Goudy', serif;
            font-weight: lighter;
            letter-spacing: -3px;
            font-size: 45px;
            color: #41362a;
            padding-right: 5px;
            padding-left: 1rem !important;
            padding-top: 25px;
            margin-top: -2px !important;

        }

        .texto-estudio {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 15px;
            text-align: justify;
            padding-right: 5px;
        }

        .titulo-menu {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .subtitulo-menu {
            font-family: 'Sorts Mill Goudy', serif;
            letter-spacing: -0.5px;
            font-size: 17px;
            color: #41362a;
        }

        .marg-titles {
            margin-left: 10px;
            margin-right: 10px;
        }

        .titulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 45px;
            padding-top: 0px !important;
            margin-bottom: 50px !important;
        }

        .subtitulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 18px;
        }

        .link-menu {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.85rem;
            margin-left: 5px;
            margin-right: 5px;
        }


        .info-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #000;
            /*41362a;*/
            font-size: 21px;
            text-align: center;
        }

        .bloque-txt-contacto {
            position: absolute;
            margin-top: -70px !important;
        }

        .hero-img {
            max-height: calc(100vh - 180px);
        }
    }

    /* Medium devices (tablets, 768px–991px) */
    @media (min-width: 768px) and (max-width: 991px) {

        /* …estilos para md… */
        .el-estudio {
            font-family: 'Sorts Mill Goudy', serif;
            font-weight: lighter;
            letter-spacing: -3px;
            font-size: 45px;
            color: #41362a;
            margin-bottom: -25px;
            padding-right: 5px;
            padding-left: 1rem !important;
            padding-top: 25px;
            margin-top: -2px !important;
        }

        .texto-estudio {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 14px;
            text-align: justify;
            padding-right: 5px;
        }

        .titulo-menu {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .subtitulo-menu {
            font-family: 'Sorts Mill Goudy', serif;
            letter-spacing: -0.5px;
            font-size: 17px;
            color: #41362a;
        }

        .marg-titles {
            margin-left: 20px;
            margin-right: 20px;
        }

        .titulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 40px;
            padding-top: 68px !important;
            padding-right: 10px !important;
        }

        .subtitulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 16px;
        }

        .link-menu {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.85rem;
            margin-left: 10px;
            margin-right: 10px;
        }


        .borde-derecho {
            border-right: #41362a 2px solid;
        }

        .info-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #000;
            /*#41362a;*/
            font-size: 18px;
            text-align: left;
        }

        .hero-img {
            max-height: calc(100vh - 180px);
        }
    }

    /* Large devices (desktops, 992px–1199px) */
    @media (min-width: 992px) and (max-width: 1199px) {

        /* …estilos para lg… */
        .el-estudio {
            font-family: 'Sorts Mill Goudy', serif;
            font-weight: lighter;
            letter-spacing: -3px;
            font-size: 45px;
            color: #41362a;
            margin-bottom: -25px;
            padding-right: 5px;
            padding-left: 1rem !important;
            padding-top: 25px;
            margin-top: -2px !important;
        }

        .texto-estudio {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 15px;
            text-align: justify;
            padding-right: 5px;
        }

        .titulo-menu {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .subtitulo-menu {
            font-family: 'Sorts Mill Goudy', serif;
            letter-spacing: -0.5px;
            font-size: 17px;
            color: #41362a;
        }

        .marg-titles {
            margin-left: 20px;
            margin-right: 20px;
        }

        .titulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 37px;
            padding-top: 78px !important;
            padding-right: 10px !important;
        }

        .subtitulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 18px;
        }

        .link-menu {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.85rem;
            margin-left: 20px;
            margin-right: 20px;
        }


        .borde-derecho {
            border-right: #41362a 2px solid;
        }

        .info-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #000;
            /*#41362a;*/
            font-size: 20px;
            text-align: left;
        }

        .hero-img {
            max-height: calc(100vh - 180px);
        }
    }

    /* Extra large devices (large desktops, 1200px–1399px) */
    @media (min-width: 1200px) and (max-width: 1399px) {

        /* …estilos para xl… */
        .el-estudio {
            font-family: 'Sorts Mill Goudy', serif;
            font-weight: lighter;
            letter-spacing: -3px;
            font-size: 45px;
            color: #41362a;
            margin-bottom: -25px;
            padding-right: 5px;
            padding-left: 1rem !important;
            padding-top: 25px;
            margin-top: -2px !important;
        }

        .texto-estudio {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 15px;
            text-align: justify;
            padding-right: 5px;
        }

        .titulo-menu {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .subtitulo-menu {
            font-family: 'Sorts Mill Goudy', serif;
            letter-spacing: -0.5px;
            font-size: 17px;
            color: #41362a;
        }

        .marg-titles {
            margin-left: 20px;
            margin-right: 20px;
        }

        .titulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 42px;
            padding-top: 78px !important;
            padding-right: 10px !important;
        }

        .subtitulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .link-menu {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.85rem;
            margin-left: 20px;
            margin-right: 20px;
        }


        .borde-derecho {
            border-right: #41362a 2px solid;
        }

        .info-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #000;
            /*#41362a;*/
            font-size: 20px;
            text-align: left;
        }

        .hero-img {
            max-height: calc(100vh - 125px);
        }

    }

    /* Extra extra large devices (larger desktops, 1400px and up) */
    @media (min-width: 1400px) {

        /* …estilos para xxl… */
        .el-estudio {
            font-family: 'Sorts Mill Goudy', serif;
            font-weight: lighter;
            letter-spacing: -3px;
            font-size: 45px;
            color: #41362a;
            margin-bottom: -25px;
            padding-right: 5px;
            padding-left: 1rem !important;
            padding-top: 25px;
            margin-top: -3px !important;
        }

        .texto-estudio {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 15px;
            text-align: justify;
            padding-right: 5px;
        }

        .titulo-menu {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .subtitulo-menu {
            font-family: 'Sorts Mill Goudy', serif;
            letter-spacing: -0.5px;
            font-size: 17px;
            color: #41362a;
        }

        .marg-titles {
            margin-left: 20px;
            margin-right: 20px;
        }

        .titulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: -0.5px;
            color: #41362a;
            font-size: 48px;
            padding-top: 78px !important;
            padding-right: 10px !important;
        }

        .subtitulo-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #41362a;
            font-size: 20px;
        }

        .link-menu {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.85rem;
            margin-left: 20px;
            margin-right: 20px;
        }


        .borde-derecho {
            border-right: #41362a 2px solid;
        }

        .info-contacto {
            font-family: 'Montserrat', sans-serif;
            letter-spacing: 0px;
            color: #000;
            /*41362a;*/
            font-size: 21px;
            text-align: left;
        }

        .hero-img {
            max-height: calc(100vh - 95px);
        }
    }



    .margen-nav {
        margin-top: 95px;
    }

    @media (max-width: 768px) {
        .margen-nav {
            margin-top: 118px;
        }
    }

    /* Ocultar scrollbar en todos los elementos para navegadores basados en Webkit (Chrome, Safari, Opera) */
    *::-webkit-scrollbar {
        display: none;
    }

    /* Ocultar scrollbar en IE, Edge y Firefox */
    * {
        -ms-overflow-style: none;
        /* IE y Edge */
        scrollbar-width: none;
        /* Firefox */
    }

    .no-link {
        text-decoration: none !important;
    }

    .img-container {
        height: 600px;
        overflow: hidden;
    }

    .img-estudio-1 {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top left;
        opacity: 0.75;
    }

    .img-estudio-2 {
        transform: scale(2);
        transform-origin: bottom;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: bottom left;
    }

    .img-estudio {
        transform: scale(1);
        transform-origin: bottom;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
    }



    .titulo-servicio {
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 1.1px;
        color: #41362a;
        font-size: 17px;
        text-align: left;
    }

    .texto-servicio {
        font-family: 'Montserrat', sans-serif;
        letter-spacing: -0.5px;
        color: #41362a;
        font-size: 15px;
        text-align: justify;
    }

    .project-item {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 500px;
    }

    .project-item img {
        transition: opacity 0.3s ease;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
        object-position: center;
    }

    .project-item .overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.5);
        color: #41362a;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        transition: opacity 0.3s ease;
        text-align: center;
        padding: 10px;
        font-family: "Montserrat", serif;
    }

    .project-item .overlay-proximamente {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(125, 125, 125, 0.5);
        color: #DDDDDD;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0.9;
        text-align: center;
        padding: 10px;
        font-family: "Montserrat", serif;
    }

    .project-item.overlay:hover img {
        opacity: 0.7;
    }

    .project-item:hover .overlay {
        opacity: 1;
    }

    .project-title {
        font-size: 30px !important;
        font-weight: lighter;
    }

    .ventajas-item {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 400px;
    }

    .ventajas-item img {
        display: block;
        width: 100%;
        height: auto;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .img-servicios {
        opacity: 0.65;
        filter: brightness(90%);
    }

    .margen-secciones {
        margin-top: 200px;
    }

    .marg-proyectos {
        margin-top: 15px !important;
    }

    .bloque-txt-contacto {
        position: absolute;
        margin-top: -25px !important;
    }

    .info-footer {
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 0px;
        color: #41362a;
        font-size: 14px;
    }

    .logo-estudio {
        width: 130px;
    }

    .img-fondo-contacto {
        filter: brightness(105%);
        opacity: 0.9;
    }

    .negrita {
        font-weight: bold;
    }

    .container-cookies-closed {
        position: fixed;
        width: auto;
        z-index: 999999;
        padding: 5px;
        bottom: -1px;
        left: 0px;
        text-align: center;
    }

    .titulo-cookies-closed {
        font-family: 'Sorts Mill Goudy', serif;
        letter-spacing: -0.5px;
        font-size: 13px;
        text-align: center;
        margin-bottom: -1px;
    }

    .container-cookies {
        position: fixed;
        width: auto;
        background-color: #ececec;
        z-index: 999998;
        border-radius: 5px;
        border: 1px solid #999999;
        padding: 12px;
        bottom: 10px;
        left: 10px;
    }

    .titulo-cookies {
        font-family: 'Sorts Mill Goudy', serif;
        letter-spacing: -0.5px;
        font-size: 17px;
        color: #41362a;
        text-align: center;
    }

    .texto-cookies {
        width: 350px;
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 0px;
        color: #41362a;
        font-size: 15px;
        text-align: justify;
    }

    .zona-botones {
        position: relative;
        bottom: 0px;
        padding: 5px;
        text-align: center;
    }

    .zona-botones-config {
        margin-top: 15px;
        position: relative;
        padding: 5px;
        text-align: center;
    }

    .btn-cookie-closed {
        font-family: 'Sorts Mill Goudy', serif;
        font-size: 14px;
        background-color: #ececec;
        padding-top: 7px;
        padding-bottom: 5px;
        padding-left: 10px;
        padding-right: 10px;
        color: #41362a;
        border: none;
    }

    .btn-cookie-closed:hover {
        background-color: #41362a;
        color: #ececec !important;
        border: #fff solid 1px;
    }

    .btn-cookie {
        font-family: 'Sorts Mill Goudy', serif;
        font-size: 14px;
        background-color: #ececec;
        padding-top: 7px;
        padding-bottom: 5px;
        padding-left: 10px;
        padding-right: 10px;
        color: #41362a;
        border: #777777 solid 1px;
        margin-left: 2px;
        margin-right: 2px;
    }

    .btn-cookie:hover {
        background-color: #41362a;
        color: #ececec;
        border: #fff solid 1px;
    }

    .btn-cookie-config {
        font-family: 'Sorts Mill Goudy', serif;
        font-size: 14px;
        background-color: #ececec;
        padding-top: 7px;
        padding-bottom: 5px;
        padding-left: 10px;
        padding-right: 10px;
        color: #41362a;
        border: #777777 solid 1px;
        margin-left: 2px;
        margin-right: 2px;
    }

    .cookie-oculto {
        display: none;
    }

    .cookie-visible {
        display: block;
    }

    .cookie-sel {
        background-color: green;
        color: #cecece;
    }

    .no-cookie-sel {
        background-color: grey;
        color: #cecece;
        cursor: no-drop !important;
        cursor: not-allowed !important;
    }

    .no-cookie-sel:hover {
        background-color: grey;
        color: #cecece;
    }

    .btn-cerrar {
        position: absolute;
        top: 5px;
        right: 5px;
    }

    .hero-img-container {
        /*height: 100vh;*/
        width: 100vw;
        /*overflow: hidden;*/
        text-align: center;
    }

    .hero-img {
        display: inline-block;
        max-width: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
        /*object-position: center center;
        display: block;*/
    }

    .txt-justificado
    {
        text-align: justify !important;
    }

    /* CLASES TEMPORALES */
    .fondo-borde-test {
        border: #333 1px solid;
        background-color: #010a24e0;
        border-radius: 3px;
        height: 333px;
    }

    .fondo-claro {
        background-color: #fff;
    }

    /* FIN CLASES TEMPORALES */
