.galeria { padding: 5rem 3rem; background: var(--crema); }
.galeria-top { display: flex; align-items: flex-end; justify-content: space-between; max-width: 1200px; margin: 0 auto 2.5rem; flex-wrap: wrap; gap: 1rem; }
.galeria-top h2 { font-family: 'Bebas Neue', sans-serif; font-size: 3rem; letter-spacing: 0.04em; color: var(--negro); }
.galeria-top a { color: var(--rojo); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }
.gal-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.gal-item { aspect-ratio: 1; overflow: hidden; position: relative; border-radius: 2px; background: #ddd; }
.gal-item img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05); transition: transform 0.4s, filter 0.3s; display: block; }
.gal-item:hover img { transform: scale(1.07); filter: contrast(1.1) saturate(1.1); }
.gal-label { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,0.78)); padding: 2.5rem 0.9rem 0.75rem; font-family: 'Bebas Neue', sans-serif; font-size: 0.9rem; letter-spacing: 0.1em; color: #fff; opacity: 0; transition: opacity 0.4s ease; }
.gal-item:hover .gal-label { opacity: 1; }
.gal-item.in-view .gal-label { opacity: 1; }
