		.loading-screen {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #ffffff;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			z-index: 9999;
			transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
		}

		.loading-screen.fade-out {
			opacity: 0;
			visibility: hidden;
		}

		.loading-logo {
			width: 200px;
			height: auto;
			margin-bottom: 30px;
			animation: pulse 1.5s ease-in-out infinite;
		}

		@keyframes pulse {
			0% {
				transform: scale(1);
				opacity: 1;
			}

			50% {
				transform: scale(1.05);
				opacity: 0.8;
			}

			100% {
				transform: scale(1);
				opacity: 1;
			}
		}

		.loading-spinner {
			width: 50px;
			height: 50px;
			position: relative;
			margin-bottom: 20px;
		}

		.loading-spinner::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			border: 3px solid #f0f0f0;
			border-top-color: #333;
			border-radius: 50%;
			animation: spin 1s linear infinite;
		}

		@keyframes spin {
			0% {
				transform: rotate(0deg);
			}

			100% {
				transform: rotate(360deg);
			}
		}

		.loading-text {
			font-family: 'Georgia', serif;
			font-size: 18px;
			color: #333;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-top: 10px;
		}

		/* Lazy Loading Styles */
		.lazy {
			opacity: 0;
			transition: opacity 0.3s ease-in-out;
		}

		.lazy.loaded {
			opacity: 1;
		}

		.gallery-item {
			position: relative;
			overflow: hidden;
		}

		.gallery-item.loading::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
			background-size: 200% 100%;
			animation: shimmer 1.5s infinite;
			z-index: 1;
		}

		@keyframes shimmer {
			0% {
				background-position: -200% 0;
			}

			100% {
				background-position: 200% 0;
			}
		}

		/* Performance optimizations */
		img {
			will-change: opacity;
		}

		/* Prevent layout shift */
		.gallery-item img {
			display: block;
			width: 100%;
			height: auto;
			min-height: 300px;
			object-fit: contain;
			/* Changed from cover to contain to show full image */
		}
