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

html,body{
    font-family:Arial, Helvetica, sans-serif;
}

body{
    background: url('../BgEscalanteCams.jpg') center / cover fixed no-repeat;
    min-height:100vh;
    text-align:center;
}

.container{
    width:100%;
    padding:20px;
}

h1{
    color:#fff;
    font-size:clamp(2rem, 5vw, 4rem);
    font-weight:bold;
    margin-bottom:25px;
    text-shadow:0 2px 10px rgba(0,0,0,.6);
}

.logo{
    width:80%;
    max-width:400px;
    height:auto;
    display:block;
    margin:0 auto;
}

.intro-texto{
    color:#d9d9d9;
    font-size:1rem;
    max-width:700px;
    margin:30px auto 0;
    line-height:1.6;
    text-shadow:0 1px 4px rgba(0,0,0,.5);
}

.galeria{
    width:90%;
    max-width:1200px;
    margin:50px auto 0;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.thumb{
    background:rgba(255,255,255,.12);
    border-radius:12px;
    overflow:hidden;
    cursor:pointer;
    transition:.3s;
    backdrop-filter:blur(5px);
}

.thumb:hover{
    transform:translateY(-5px);
}

.thumb img{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    display:block;
}

.thumb h3{
    color:#fff;
    padding:12px 15px 5px;
}

.thumb p{
    color:#fff;
    font-size:.9rem;
    padding:0 15px 15px;
}


@media(max-width:900px){
    .galeria{
    grid-template-columns:repeat(2,1fr);

    }
}

@media(max-width:600px){
    .galeria{

    grid-template-columns:1fr;

    }
}


#lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);

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

    z-index:9999;
}

#lightbox img{
    width:90%;
    max-width:1200px;
    max-height:90vh;
    object-fit:contain;
}

#cerrar{
    position:absolute;
    top:20px;
    right:35px;
    color:#fff;
    font-size:45px;
    cursor:pointer;
}

@media (max-width:768px){
    h1{
        margin-bottom:20px;
    }

    .logo{
        width:80%;
    }
}