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

body{
font-family:'Poppins',sans-serif;
background:#fafafa;
color:#111827;
overflow-x:hidden;
}

.custom-nav{
background:rgba(0,0,0,.8);
backdrop-filter:blur(10px);
}

.hero{
height:100vh;

background:
linear-gradient(
rgba(0,0,0,.55),
rgba(0,0,0,.55)
),
url("imagenes/museo.jpg");

background-size:cover;
background-position:center;

display:flex;
justify-content:center;
align-items:center;

text-align:center;

color:white;
}

.hero-content h1{
font-size:6rem;
font-weight:800;
}

.hero-content p{
font-size:1.5rem;
margin-bottom:25px;
}

.stats{
background:#111827;
color:white;
padding:60px 0;
}

.stats h3{
font-weight:700;
}

.gallery{
columns:3 250px;
column-gap:15px;
}

.gallery img{
width:100%;
margin-bottom:15px;
border-radius:15px;
transition:.4s;
cursor:pointer;
}

.gallery img:hover{
transform:scale(1.03);
}

.upload-section{
background:#f3f4f6;
padding:80px 0;
}

.upload-card{

max-width:700px;

margin:auto;

background:white;

padding:40px;

border-radius:20px;

box-shadow:
0 10px 40px rgba(0,0,0,.08);

}

#preview img{
width:100%;
max-width:450px;
border-radius:15px;
}

#resultadoIA{
font-weight:600;
font-size:1.1rem;
}

#obrasVisitantes{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.obra-card{

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:
0 10px 30px rgba(0,0,0,.08);

transition:.3s;

}

.obra-card:hover{

transform:translateY(-5px);

}

.obra-card img{

width:100%;
height:250px;
object-fit:cover;

}

.obra-info{

padding:20px;

}

footer{

background:#111827;

color:white;

padding:50px;

text-align:center;

}

@media(max-width:768px){

.hero-content h1{

font-size:3rem;

}

.hero-content p{

font-size:1rem;

}

.upload-card{

padding:25px;

}

}