*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

nav{
    background-color: black;
    padding: 1rem 2rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.nav-contenedor{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.Logo{
    color: #eaffea;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #39ff14,
        0 0 20px #39ff14,
        0 0 35px #2eff00,
        0 0 50px rgba(57, 255, 20, 0.7),
        0 0 70px rgba(57, 255, 20, 0.4);
    font-weight: bold;
    text-decoration: none;
    font-size: 1.5rem;
}

/* Hacker Text Decoding Effect */
.hacker-char {
    display: inline-block;
    transition: color 0.15s ease, text-shadow 0.15s ease;
    color: rgba(57, 255, 20, 0.35);
    text-shadow: 0 0 5px rgba(57, 255, 20, 0.2);
}

.hacker-char.glow {
    color: #eaffea;
    text-shadow:
        0 0 5px #fff,
        0 0 12px #39ff14,
        0 0 25px #39ff14,
        0 0 45px #2eff00,
        0 0 70px rgba(57, 255, 20, 0.5);
}

.hacker-char.is-space {
    width: 0.35em;
}

.Nav-Links{
    display: flex;
    gap: 2rem;
    transition: all 0.3s ease;
    list-style: none;
}

@keyframes dimlight {
    0%, 18%, 20%, 50.1%, 60%, 65.1%, 80%, 90.1%, 92% {
        color: #0d3812;
        text-shadow: none;
    }
    18.1%, 20.1%, 30%, 50%, 60.1%, 65%, 80.1%, 90%, 92.1%, 100% {
        color: #ffffff;
        text-shadow: 0 0 10px #39ff14, 0 0 20px #39ff14, 0 0 30px #2eff00;
    }
}

.Nav-Links a {
    text-decoration: none;
    color: aliceblue;
    font-weight: 500;
    display: inline-block;
    transition: all 0.2s ease;
}

.Nav-Links a:hover {
    animation: dimlight 2s infinite;
    -webkit-box-reflect: below 1px linear-gradient(transparent, rgba(0, 0, 0, 0.4));
}

.Menu-Boton{
    display: none;
    background: none;
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
}

/*Hero*/
.Hero-conte{
    background-color: #000;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    width: 100%;
    align-items: center;
}

.lines {
    position: absolute;
    font-weight: bold;
    font-size: 18px;
    font-family: consolas, monospace;
    transform: rotate(270deg);
    transition: transform 2s;
    width: 14px;
    color: #39ff14;
    pointer-events: none;
    z-index: 1;
    white-space: nowrap;
}

.lines div {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    background: linear-gradient(90deg, transparent 30%, black 100%);
}

.Contenido-Hero{
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
}

.Contenido-Hero h1{
    font-size: 65px;
    margin-bottom: 20px;
    color: #fff;
    text-shadow:
        0 0 5px #fff,
        0 0 15px #39ff14,
        0 0 30px #39ff14,
        0 0 50px #2eff00,
        0 0 80px rgba(57, 255, 20, 0.6),
        0 0 120px rgba(57, 255, 20, 0.4);
}

.Contenido-Hero .btn-hero {
    position: relative;
    display: inline-block;
    font-size: 19px;
    font-weight: 600;
    padding: 10px 24px;
    color: #fff;
    border: 2px solid #39ff14;
    border-radius: 8px;
    text-decoration: none;
    overflow: hidden;
    background: linear-gradient(rgb(50, 199, 50) 0 0) no-repeat calc(200% - var(--p, 0%)) 100% / 200% var(--p, 0.2em);
    transition: 0.3s var(--t, 0s), background-position 0.3s calc(0.3s - var(--t, 0s)), box-shadow 0.3s ease;
    box-shadow: 0 0 10px rgba(57, 255, 20, 0.3);
}

.Contenido-Hero .btn-hero:hover {
    --p: 100%;
    --t: 0.3s;
    color: #fff;
    box-shadow: 0 0 20px #39ff14, 0 0 35px rgba(57, 255, 20, 0.7);
}

/*Nosotros*/
.section-Nosotros{
    max-width: 1200px;
    display: flex;
    margin: 50px auto;
    justify-content: space-between;
    scroll-margin-top: 80px;
    padding: 0 .9rem;
}

.H1-Nosotros{
    text-align: center;
    margin-bottom: 15px;
    margin-top: 10px;
}

.Par-Nosotros{
    font-size: 1.2rem;
}

.Texto-Nosotros{
    width: 45%;
}

.imagen-nosotros{
    width: 45%;
}

.Ing-compu{
    width: 100%;
    max-width: 535px;
    border-radius: 10%;
}

/*Servicios*/
.section-Servicios{
    min-height: 450px;
    height: auto;
    background-color: black;
    padding-bottom: 20px;
}

.H1-Servicios{
    text-align: center;
    font-size: 35px;
    color: #39ff14;
    text-shadow: 0 0 8px #39ff14, 0 0 16px rgba(57, 255, 20, 0.6);
    padding: 20px 0;
}

.Cajas-Contenedor{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    padding: 20px;
}

.Cajas-Contenedor .box{
    padding: 14px;
    margin: 5px;
    border-radius: 10px;
    border: 2px solid #39ff14;
    background-color: black;
    text-align: center;
    min-height: 200px;
    height: auto;
    box-shadow:
        0 0 5px #39ff14,
        0 0 15px #39ff14,
        0 0 30px rgba(57, 255, 20, 0.6),
        0 0 50px rgba(57, 255, 20, 0.3);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.Cajas-Contenedor .box:hover{
    box-shadow:
        0 0 10px #39ff14,
        0 0 25px #39ff14,
        0 0 50px rgba(57, 255, 20, 0.8),
        0 0 80px rgba(57, 255, 20, 0.4);
    transform: translateY(-5px);
}

.Cajas-Contenedor .box .Titulo{
    color: #39ff14;
    font-size: 26px;
    text-shadow: 0 0 8px #39ff14, 0 0 16px rgba(57, 255, 20, 0.6);
}

.Cajas-Contenedor .box p{
    font-size: 13px;
    padding: 10px;
    margin-bottom: 10px;
    color: #fff;
}

.Cajas-Contenedor .box a{
    color: rgb(0, 252, 0);
    text-decoration: none;
    border: 2px solid black;
    border-radius: 5px;
    padding: 5px;
    background-color: black;
}

/*Footer*/
.footer{
    padding: 20px 0;
    background-color: rgb(255, 255, 255);
}

.footer .lista{
    margin-top: 0;
    padding: 0;
    list-style: none;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 0;
    text-align: center;
}

.footer .lista li a{
    color: #000000;
    text-decoration: none;
    opacity: 0.8;
}

.footer .lista li{
    display: inline-block;
    padding: 0 15px;
}

.footer .lista li a:hover{
    opacity: 1;
}

.footer .copyright{
    text-align: center;
    margin-top: 15px;
    font-size: 13px;
    color: #0a0a0a;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 768px){

    .Menu-Boton{
        display: block;
    }

    .Nav-Links{
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: black;
        flex-direction: column;
        align-items: center;
        padding: 1rem 0;
        clip-path: circle(0px at 90% -10%);
        pointer-events: none;
    }

    .Nav-Links.active{
        clip-path: circle(1000px at 90% 10%);
        pointer-events: all;
    }

    .Nav-Links li{
        opacity: 0;
        transform: translateY(20px);
        transition: all 0.3s ease;
    }

    .Nav-Links.active li{
        opacity: 1;
        transform: translateY(0);
    }

    .Nav-Links li:nth-child(1) { transition-delay: 0.1s; }
    .Nav-Links li:nth-child(2) { transition-delay: 0.2s; }
    .Nav-Links li:nth-child(3) { transition-delay: 0.3s; }
    .Nav-Links li:nth-child(4) { transition-delay: 0.4s; }

    .Contenido-Hero h1{
        font-size: 35px;
    }

    .section-Nosotros{
        flex-direction: column;
        align-items: center;
    }

    .Texto-Nosotros{
        width: 100%;
    }

    .imagen-nosotros{
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .Ing-compu{
        width: 100%;
        max-width: 350px;
    }

    .footer .lista li{
        padding: 0 8px;
        font-size: 15px;
    }
}