main {
    background-image: url(../img/degradado/portafolio.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.callout-1 {
    padding: 0 0 100px;
}
.callout-1 .color-titulo {
    background: linear-gradient(79.79deg, #6600FF 1.71%, #A36FEF 26.13%, #A7F8F7 60.86%, #00FFFE 80.29%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    display: inline-block;
}
.callout-1 h1 {
    font-size: 46px;
    line-height: 1.1;
    max-width: 530px;
}
.callout-1 .gifpeque {
    max-width: 400px;
    margin: 0 auto;
}
.callout-1 .cat-proyectos > li > a {
    padding: 10px 20px;
    background: var(--fondoOscuro);
    border: 2px solid var(--color2);
    border-radius: 10px;
    color: var(--colorTexto);
    position: relative;
    font-size: 14px;
    overflow: hidden;
}
.callout-1 .cat-proyectos > li > a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(161deg, var(--color4) 20.6%, var(--color6) 100%);
    opacity: 0;
    transition: all 0.5s ease;
    z-index: 0;
}
.callout-1 .cat-proyectos > li > a:hover::before,
.callout-1 .cat-proyectos > li > a:focus::before,
.callout-1 .cat-proyectos > li.activo > a::before {
    opacity: 1;
}
.callout-1 .cat-proyectos > li > a span {
    position: relative;
    z-index: 1;
}
.callout-1 .cat-proyectos > li > a:hover span,
.callout-1 .cat-proyectos > li > a:focus span,
.callout-1 .cat-proyectos > li.activo > a span {
    color: var(--colorBlanco);
}
.callout-1 .proyecto-item {
    max-width: 519px;
    margin: 0 auto 30px;
}
.callout-1 .proyecto-item > div {
    padding: 30px;
    background: var(--fondoOscuro);
    border: 2px solid var(--color2);
    border-radius: 20px;
}
.callout-1 .proyecto-item > div figure {
    height: 200px;
    border-radius: 20px;
    overflow: hidden;
}
.callout-1 .proyecto-item > div figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.callout-1 .proyecto-item p {
    font-size: 14px;
    color: var(--colorTexto);
}
.callout-1 .proyecto-item p.titulo {
    font-size: 16px;
    color: var(--colorBlanco);
}
body.modal-open {
    overflow: hidden;
}

/* 2. Estilos del Modal */
.full-screen-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    color: #ffffff;
    z-index: 9999;
    transform: translateY(100%);
    transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.full-screen-modal.active {
    transform: translateY(0);
}

.modal-header {
    height: 60px;
    position: sticky;
    padding: 10px 20px;
    top: 0;
    background-color: transparent;
    z-index: 10;
    justify-content: end;
    background: rgba(3, 3, 3, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    overflow: visible !important;
}

.close-btn {
    background: none;
    border: none;
    color: var(--colorBlanco);
    font-size: 30px;
    cursor: pointer;
}
.fondo-content {
    background-color: var(--colorPagina);
    min-height: calc(100vh - 60px);
}
.fondo-content p {
    color: var(--colorTexto);
    font-size: 14px;
    max-width: 659px;
}
.fondo-content .centro {
    max-width: 600px;
    margin: 0 auto;
}
.fondo-content h3 {
    font-size: 60px;
    color: var(--colorBlanco);
}
.fondo-content h4 {
    font-size: 16px;
    color: var(--colorTexto);
}
.vertical iframe {
    width: 100%;
    height: 1183px;
}
.horizontal iframe {
    width: 100%;
    height: 550px;
}
.cuadrado iframe {
    width: 650px;
    height: 650px;
    margin: 0 auto;
}
.fondo-content .banner-img {
    height: 741px;
}
.fondo-content .banner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (min-width: 1626px) {
    .callout-1 .proyecto-item > div figure {
        height: 270px;
    }
}

@media screen and (max-width: 980px){
    main {
        background-image: url(../img/degradado/portafoliom.png);
    }
    .callout-1 .cat-proyectos {
        width: 100%;
        overflow-x: auto; /* o scroll */
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* Internet Explorer y Edge antiguo */
    }
    .callout-1 .cat-proyectos::-webkit-scrollbar {
        display: none; /* Chrome, Edge, Safari y Opera */
    }
    .callout-1 h1 {
        font-size: 30px;
        max-width: 345px;
    }
    .callout-1 .proyecto-item > div {
        padding: 20px;
    }
    .fondo-content .banner-img {
        height: 163px;
    }
    .fondo-content h3 {
        font-size: 40px;
        padding-bottom: 20px;
    }
    .fondo-content h4 {
        font-size: 14px;
        padding-bottom: 20px;
    }
    .cuadrado iframe{
        width: 100%;
        height: 300px;
    }
}