/* ========================================
   SERVICE GALLERY
   ======================================== */

.service-gallery{
	position:relative;
	padding:var(--space-4xl) 0;
	background:var(--color-white);
	overflow:hidden;
}

.service-gallery-header{
	max-width:760px;
	margin:0 auto var(--space-4xl);
	text-align:center;
}

.service-gallery-header .section-title{
	margin-bottom:24px;
}

.service-gallery-header .section-subtitle{
	font-size:var(--text-lg);
	line-height:1.8;
	color:var(--color-muted);
}

.service-gallery-grid{
	display:grid;
	grid-template-columns:repeat(12, 1fr);
	grid-auto-rows:120px;
	gap:20px;
}

.gallery-item{
	position:relative;
	overflow:hidden;
	background:var(--warm-beige);
}

.gallery-item-large{
	grid-column:span 8;
	grid-row:span 4;
}

.gallery-item-small{
	grid-column:span 4;
	grid-row:span 2;
}

.gallery-item-medium{
	grid-column:span 4;
	grid-row:span 1;
}

.gallery-item-inner{
	position:relative;
	width:100%;
	height:100%;
}

.gallery-placeholder{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--warm-beige);
	transition:var(--transition);
}

.gallery-item:hover .gallery-placeholder{
	transform:scale(1.02);
}

.gallery-placeholder span{
	font-size:var(--text-xs);
	font-weight:500;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:rgba(91,76,66,.35);
}

.gallery-caption{
	position:absolute;
	left:32px;
	bottom:28px;
	font-size:var(--text-sm);
	line-height:1.5;
	color:var(--color-text);
	opacity:0;
	transform:translateY(10px);
	transition:var(--transition);
}

.gallery-item:hover .gallery-caption{
	opacity:1;
	transform:translateY(0);
}
