/* Custom Theme Classes that extend Tailwind */
.material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
	font-size: 20px;
}
.thin-border { border: 1px solid #E5E7EB; }
.gold-accent { border-bottom: 2px solid #ecc072; }
.glass-card {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.3);
}
.bg-champagne-gold { background-color: #ecc072; }
.bg-midnight-navy { background-color: #000000; }
.reveal-on-scroll {
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal-on-scroll.active {
	opacity: 1;
	transform: translateY(0);
}
.image-zoom-container:hover img {
	transform: scale(1.05);
}
.image-zoom-container img {
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.masonry-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 24px;
}
.gallery-item {
	position: relative;
	overflow: hidden;
	border: 1px solid #c6c6cc;
	transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.gallery-item:hover {
	box-shadow: 0px 4px 20px rgba(11, 15, 25, 0.04);
	transform: translateY(-2px);
}
.gallery-item:hover .gallery-overlay {
	opacity: 1;
}
.gallery-item img {
	transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.gallery-item:hover img {
	transform: scale(1.05);
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
	animation: fadeIn 0.6s ease-out forwards;
}
