*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Press Start 2P', sans-serif;
    background-color:#111;
    color:#eee;
    line-height:1.6;
    padding:40px 80px;
    transition:background 0.5s ease;
}

.justificado{
    text-align:justify;
}

header{
    text-align:center;
    margin-bottom:60px;
    position:relative;
}

header h1{
    font-family:'Gamer', sans-serif;
    color:#ff0044;
    font-size:3rem;
    text-shadow:2px 2px 8px #000;
    animation:titleFlash 2s infinite alternate;
}

header p{
    font-size:1.3rem;
    color:#ff3366;
    letter-spacing:1px;
    margin-bottom:20px;
}

@keyframes titleFlash{
    0%{text-shadow:2px 2px 8px #000;color:#ff0044;}
    50%{text-shadow:4px 4px 12px #ff0044;color:#ff66aa;}
    100%{text-shadow:2px 2px 8px #000;color:#ff0044;}
}

.nav-links{
    display:flex;
    justify-content:center;
    gap:40px;
    margin-top:10px;
}

.nav-links li{
    list-style:none;
}

.nav-links a{
    text-decoration:none;
    color:#ff66aa;
    font-weight:bold;
    transition:0.3s;
}

.nav-links a:hover{
    color:#ff0044;
    text-shadow:2px 2px 8px #000;
}

section{
    margin-bottom:60px;
}

h2{
    font-size:2.2rem;
    color:#ff3366;
    border-bottom:3px solid #ff0044;
    display:inline-block;
    padding-bottom:8px;
}

.proyecto{
    background-color:#111;
    background-size:cover;
    background-position:center;
    padding:50px 35px;
    margin-bottom:40px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,0.8);
    color:#fff;
    position:relative;
    overflow:hidden;
    transition:transform 0.4s ease, box-shadow 0.4s ease, filter 0.4s ease;
}

.proyecto::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,0.7);
    z-index:0;
    border-radius:15px;
}

.proyecto h3,
.proyecto p,
.proyecto a,
.proyecto video{
    position:relative;
    z-index:1;
}

.proyecto:hover{
    transform:scale(1.07) rotate(-1deg);
    box-shadow:0 20px 40px rgba(0,0,0,1);
    filter:brightness(1.3);
}

.boton{
    display:inline-block;
    padding:14px 30px;
    background:linear-gradient(45deg,#ff0044,#ff3366);
    color:#fff;
    font-weight:bold;
    text-decoration:none;
    border-radius:12px;
    box-shadow:0 6px #b30034;
    transition:0.3s;
    margin-top:15px;
}

.boton:hover{
    transform:translateY(-5px) rotate(-3deg) scale(1.05);
    box-shadow:0 12px #b30034;
    background:linear-gradient(45deg,#ff3366,#ff0044);
}

ul{
    list-style:square;
    padding-left:25px;
}

ul li{
    margin-bottom:12px;
}

#contacto a{
    color:#ff0044;
    text-decoration:none;
    transition:0.3s;
}

#contacto a:hover{
    color:#ff66aa;
    text-shadow:2px 2px 8px #000;
}

footer{
    text-align:center;
    margin-top:60px;
    padding:15px 0;
    border-top:1px solid #333;
    color:#aaa;
    font-size:0.9rem;
}

body::before{
    content:"";
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:linear-gradient(120deg,#111,#000);
    z-index:-1;
    animation:bgMove 30s linear infinite;
}

@keyframes bgMove{
    0%{background-position:0 0;}
    50%{background-position:100% 50%;}
    100%{background-position:0 0;}
}

.toggle{
    cursor:pointer;
    transition:0.3s;
}

.toggle:hover{
    color:#ff66aa;
}

.contenido{
    max-height:0;
    overflow:hidden;
    transition:max-height 0.6s ease;
}

.proyecto.activo .contenido{
    max-height:5000px;
    margin-top:15px;
}

.proyecto-azul{
    background:linear-gradient(135deg,#0a192f,#112240,#1f4068);
}

video{
    width:100%;
    height:auto;
    border-radius:10px;
    filter:brightness(1.1) contrast(1.05);
}

@media (max-width:1024px){

body{
    padding:30px 40px;
}

header h1{
    font-size:2.3rem;
}

header p{
    font-size:1.1rem;
}

.nav-links{
    gap:20px;
}

.proyecto{
    padding:40px 25px;
}

}

@media (max-width:768px){

body{
    padding:20px;
}

header h1{
    font-size:1.8rem;
}

header p{
    font-size:1rem;
}

.nav-links{
    flex-direction:column;
    gap:10px;
}

.nav-links a{
    font-size:0.9rem;
}

h2{
    font-size:1.6rem;
}

.proyecto{
    padding:30px 20px;
}

.proyecto:hover{
    transform:none;
}

}

@media (max-width:480px){

header h1{
    font-size:1.5rem;
}

h2{
    font-size:1.4rem;
}

ul{
    padding-left:15px;
}

.proyecto{
    padding:25px 15px;
}

.boton{
    width:100%;
    text-align:center;
}

}
