* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
    font-family: 'Poppins', sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: #ffffff;
    height: 100%;
}

.barra-flotante {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
}

.contenedorprincipal {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;

    & .videoprincipal {
        top: 0;
        left: 0;
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    & .boton_contacto {
        position: absolute;
        top: 70%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 1.5em;
        border-radius: 20px;
        background-color: #096CF1;
        color: #fff;
        font-weight: 800;
        padding: 12px 40px;
        text-align: center;
        border: none;
        cursor: pointer;
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
        text-decoration: none;
        transition: all 0.3s ease;
        z-index: 10;
    }

    & .boton_contacto:hover {
        background-color: #075ed1;
        transform: translate(-50%, -53%);
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
    }

    & .mensaje_principal {
        position: absolute;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 60%;
        padding: 40px 30px;
        border-radius: 12px;
        text-align: center;
        z-index: 10;
        /* backdrop-filter: blur(8px);
        border: 1px solid rgba(255, 136, 1, 0.3);
        background: rgba(39, 176, 255, 0.4);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25); */
        animation: aparecer 1.5s ease forwards;

        & h2 {
            margin: 0;
            font-size: 1.8rem;
            line-height: 1.5;
            color: #ffffff;
            font-weight: 600;
            text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
        }

        & span {
            /* color: #F9751F; */
            font-weight: 900;
        }
    }

}

@keyframes aparecer {
    0% {
        opacity: 0;
        transform: translate(-50%, -60%);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

.contenedor_caracteristicas {
    display: flex;
    justify-content: center;
    background: #ffffff;
    padding: 25px 0;
    width: 80%;
    margin: 0 auto;
}

.caracteristica {
    flex: 1;
    background: #ffffff;
    padding: 30px 20px;
    text-align: center;
    border-radius: 12px;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

.caracteristica.visible {
    opacity: 1;
    transform: translateY(0);
}

.caracteristica i {
    font-size: 40px;
    color: #F9751F;
    margin-bottom: 15px;
}

.caracteristica h2 {
    font-size: 20px;
    color: #000;
    margin-bottom: 10px;
}

.caracteristica p {
    font-size: 15px;
    color: #555;
}

& .medio {
    border-left: 1px solid #F9751F;
    border-right: 1px solid #F9751F;

}

.caracteristica:hover {
    background-color: #F9751F;
    color: #fff;
    box-shadow: 0px 8px 18px rgba(0, 0, 0, 0.08);

    & i,
    & h2,
    & p {
        color: #fff;
    }

}


@media (max-width: 768px) {
    .contenedor_caracteristicas {
        flex-direction: column;
    }

    & .medio {
        border: none;

    }

    .contenedorprincipal {

        & .boton_contacto {
            top: 75%;
        }

        & .mensaje_principal {
            top: 45%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 70%;

            & h2 {
                margin: 0;
                font-size: 1.5rem;
            }

            & span {
                font-weight: 900;
            }
        }

    }

}