/* Catálogo */
.cat-hero{padding:10rem 1.5rem 4rem;border-bottom:1px solid rgba(42,42,42,.4)}
@media(min-width:768px){.cat-hero{padding:12rem 3rem 6rem}}
.cat-title{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92;margin-bottom:2rem}
.cat-title span{display:block}
.cat-title .gold{background:linear-gradient(180deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cat-desc{font-family:Georgia,serif;font-size:clamp(1rem,2vw,1.3rem);color:rgba(212,208,200,.75);max-width:700px;line-height:1.5}

/* Filtros */
.filtros{padding:2rem 0;border-bottom:1px solid rgba(42,42,42,.4);background:rgba(10,10,10,.9);backdrop-filter:blur(20px);position:sticky;top:0;z-index:40}
.filtros-bar{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem}
.filtro{padding:.5rem 1.2rem;border:1px solid var(--ash);background:transparent;color:var(--bone);font-family:monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all .4s;white-space:nowrap}
.filtro:hover{border-color:var(--gold-d);color:var(--gold-l)}
.filtro.active{background:var(--gold);color:var(--pitch);border-color:var(--gold-l)}

/* Galería */
.gal-hero{padding:10rem 1.5rem 4rem;border-bottom:1px solid rgba(42,42,42,.4)}
@media(min-width:768px){.gal-hero{padding:12rem 3rem 6rem}}
.gal-title{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92;margin-bottom:2rem}
.gal-title span{display:block}
.gal-title .gold{background:linear-gradient(180deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gal-desc{font-family:Georgia,serif;font-size:clamp(1rem,2vw,1.3rem);color:rgba(212,208,200,.75);max-width:700px;line-height:1.5}
.galeria-sec{padding:6rem 0;border-top:1px solid rgba(42,42,42,.4)}
.gal-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gal-grid{grid-template-columns:repeat(3,1fr)}}
.gal-item{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--ash);transition:border-color .5s}
.gal-item:hover{border-color:var(--gold-d)}
.gal-item-bg{position:absolute;inset:0;transition:transform .6s}
.gal-item:hover .gal-item-bg{transform:scale(1.05)}
.gal-item-content{position:absolute;inset:0;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;z-index:1}
.gal-item-num{font-family:monospace;font-size:.6rem;letter-spacing:.18em;color:var(--gold-l);margin-bottom:.5rem}
.gal-item h3{font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.5rem}
.gal-item p{font-size:.85rem;color:rgba(212,208,200,.7);line-height:1.4}
.gal-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.9),transparent 60%);z-index:0}

/* Contacto */
.cont-hero{padding:10rem 1.5rem 4rem;border-bottom:1px solid rgba(42,42,42,.4)}
@media(min-width:768px){.cont-hero{padding:12rem 3rem 6rem}}
.cont-title{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92;margin-bottom:2rem}
.cont-title span{display:block}
.cont-title .gold{background:linear-gradient(180deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cont-desc{font-family:Georgia,serif;font-size:clamp(1rem,2vw,1.3rem);color:rgba(212,208,200,.75);max-width:700px;line-height:1.5}
.contacto-sec{padding:6rem 0;border-top:1px solid rgba(42,42,42,.4)}
.cont-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:768px){.cont-grid{grid-template-columns:repeat(2,1fr)}}
.cont-box{padding:2rem;border:1px solid var(--ash);transition:border-color .5s}
.cont-box:hover{border-color:var(--gold-d)}
.cont-box-label{font-family:monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.cont-box h3{font-family:Georgia,serif;font-size:1.8rem;margin-bottom:1rem}
.cont-box p{font-size:.95rem;color:rgba(212,208,200,.7);line-height:1.5;margin-bottom:1.5rem}
.cont-list{display:flex;flex-direction:column;gap:.75rem}
.cont-list a{display:flex;align-items:center;gap:.75rem;font-family:Georgia,serif;font-size:1rem;color:var(--gold-l);transition:color .3s}
.cont-list a:hover{color:var(--gold)}
.cont-list a::before{content:'→';font-family:monospace;font-size:.8rem}
.info-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:3rem}
@media(min-width:768px){.info-grid{grid-template-columns:repeat(3,1fr)}}
.info-item{padding:1.5rem;border-top:1px solid var(--ash)}
.info-item-label{font-family:monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pearl);margin-bottom:.75rem}
.info-item h4{font-family:Georgia,serif;font-size:1.2rem;margin-bottom:.5rem}
.info-item p{font-size:.85rem;color:rgba(212,208,200,.7);line-height:1.4}

/* Section headers */
.sec-title{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:400;line-height:.92;margin-top:.5rem}
.sec-link{font-family:monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l);transition:color .3s}
.sec-link:hover{color:var(--gold)}
