*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#111;color:#fff}
a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:auto;padding:30px 20px 50px}
header{text-align:center;padding:28px 20px 22px;border-bottom:1px solid #333}.logo{font-size:14px;letter-spacing:4px;color:#bbb;text-transform:uppercase}
h1{margin:10px 0 5px;font-size:34px;font-weight:500}.subtitle{color:#aaa;margin:0}
.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:30px}
.menu a{background:#1d1d1d;border:1px solid #333;padding:17px 18px;transition:.2s}
.menu a:hover{background:#2a2a2a;border-color:#777;transform:translateY(-2px)}.num{color:#888;font-size:12px;margin-right:10px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.photo{aspect-ratio:4/3;background:#222;overflow:hidden;cursor:pointer}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.photo:hover img{transform:scale(1.03)}.back{display:inline-block;margin-top:30px;padding:12px 18px;border:1px solid #555;color:#ddd}
footer{text-align:center;color:#777;padding:30px 20px;font-size:13px}

/* Lightbox y botón de cerrar corregidos */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:999999;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.close{position:fixed;top:90px;right:30px;font-size:50px;font-weight:bold;color:#ff0055;cursor:pointer;z-index:1000000;text-shadow:0 0 10px rgba(255,0,85,.8);user-select:none;transition:transform .2s,color .2s}
.close:hover{color:#fff;transform:scale(1.2)}

@media(max-width:800px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}.container{padding-left:12px;padding-right:12px}.close{top:75px;right:20px;font-size:42px}}