.hero-media{
height:100%;
min-height:260px;
}

.masonry{
column-count:1;
column-gap:1rem;
margin-top:2rem;
}

.gallery-item{
break-inside:avoid;
margin-bottom:1rem;
border-radius:var(--radius-md);
overflow:hidden;
position:relative;
cursor:pointer;
}

.gallery-item img{
width:100%;
display:block;
transition:transform 0.4s ease;
}

.gallery-item:hover img{
transform:scale(1.05);
}

.gallery-item::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to top, rgba(0,0,0,0.5), transparent);
opacity:0;
transition:0.3s ease;
}

.gallery-item:hover::after{
opacity:1;
}

.lightbox{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,0.9);
align-items:center;
justify-content:center;
z-index:999;
padding:1rem;
}

.lightbox img{
max-width:100%;
max-height:90vh;
border-radius:var(--radius-md);
}

.lightbox-close{
position:absolute;
top:20px;
right:20px;
font-size:2rem;
cursor:pointer;
}

.sticky-cta{
position:fixed;
bottom:20px;
right:20px;
padding:0.75rem 1.2rem;
border-radius:var(--radius-md);
background:linear-gradient(135deg,var(--color-indigo),var(--color-violet));
z-index:1000;
}

@media(min-width:600px){
.masonry{
column-count:2;
}
}

@media(min-width:1024px){
.masonry{
column-count:3;
}
}