body{
    background-color:black;
    color:white;
    font-family:Arial, sans-serif;
    margin:20px;
    text-align:center;
}

.banner{
    position:relative;
    width:100%;
}

.banner img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:10px;
}

.banner h1{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:white;
    font-size:50px;
    background-color:rgba(0,0,0,0.6);
    padding:15px 30px;
    border-radius:10px;
}

h2{
    color:white;
}

p{
    width:90%;
    margin:auto;
    text-align:center;
    line-height:1.6;
}

ul,ol{
    display:inline-block;
    text-align:left;
}

table{
    width:90%;
    margin:auto;
    border-collapse:collapse;
    background-color:#1a1a1a;
}

th{
    background-color:#2B2625;
    color:white;
    padding:10px;
}

td{
    border:1px solid #444;
    padding:10px;
    color:white;
}

tr:nth-child(even){
    background-color:#2b2b2b;
}

a{
    color:#d6d6d6;
    text-decoration:none;
}

a:hover{
    color:white;
    text-decoration:underline;
}

hr{
    border:1px solid #2B2625;
    width:90%;
}

audio,video{
    max-width:100%;
}

img{
    border-radius:10px;
}

.cita{
    text-align:center;
    font-style:italic;
    font-size:18px;
    margin:20px 0;
}

.contacto{
    list-style-position:inside;
    text-align:center;
    padding:0;
}

.contacto li{
    margin:10px 0;
}

.galeria{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    max-width:1100px;
    margin:30px auto;
}

.item{
    background-color:#1a1a1a;
    padding:15px;
    border-radius:15px;
    box-shadow:0 4px 15px rgba(255,255,255,0.15);
    transition:transform 0.3s, box-shadow 0.3s;
}

.item:hover{
    transform:translateY(-5px);
    box-shadow:0 8px 20px rgba(255,255,255,0.25);
}

.item h3{
    color:white;
    text-align:center;
    margin-bottom:15px;
    padding-bottom:10px;
    border-bottom:2px solid #2B2625;
    font-size:24px;
}

.item img{
    width:100%;
    height:300px;
    object-fit:cover;
    display:block;
    margin-bottom:15px;
    border-radius:10px;
    transition:transform 0.4s, filter 0.4s;
}

.item img:hover{
    transform:scale(1.08);
    filter:brightness(1.1);
}

@media (max-width:768px){

    .galeria{
        grid-template-columns:1fr;
    }

    .item h3{
        font-size:20px;
    }

    .item img{
        height:220px;
    }

    .banner h1{
        font-size:30px;
    }

    table{
        width:100%;
        font-size:14px;
    }

    td, th{
        padding:6px;
    }

    video,
    audio{
        width:100%;
        height:auto;
    }
}