:root {
			--primary-color: #d4af37;
			/* Premium Gold */
			--bg-dark: #0f1115;
			--bg-light: #f8f9fa;
			--text-dark: #212529;
			--text-light: #e0e0e0;
			--font-primary: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
		}

		body {
			font-family: var(--font-primary);
			color: var(--text-dark);
			background-color: var(--bg-light);
			line-height: 1.6;
			overflow-x: hidden;
		}

		h1,
		h2,
		h3,
		h4,
		h5,
		h6 {
			font-weight: 700;
			letter-spacing: -0.02em;
		}

		/* Header */
		.premium-header {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			z-index: 1000;
			padding: 1.5rem 0;
			background: transparent;
			transition: all 0.3s ease;
		}

		.premium-header.scrolled {
			position: fixed;
			background: rgba(15, 17, 21, 0.95);
			backdrop-filter: blur(10px);
			padding: 1rem 0;
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
		}

		.logo-text {
			font-size: 1.5rem;
			font-weight: 800;
			color: #fff;
			text-decoration: none;
			letter-spacing: 0.05em;
		}

		.premium-header.scrolled .logo-text,
		.premium-header .logo-text {
			color: #fff;
		}

		/* Hero Section */
		.hero-section {
			position: relative;
			height: 100vh;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			background-color: var(--bg-dark);
			overflow: hidden;
		}

		.hero-bg {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-image: url('images/premium_jeon_bg.jpg');
			background-size: cover;
			background-position: center;
			opacity: 0.6;
			transform: scale(1.05);
			animation: KenBurns 20s ease-out infinite alternate;
		}

		@keyframes KenBurns {
			0% {
				transform: scale(1.0);
			}

			100% {
				transform: scale(1.1);
			}
		}

		.hero-overlay {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: linear-gradient(to bottom, rgba(15, 17, 21, 0.3) 0%, rgba(15, 17, 21, 0.9) 100%);
		}

		.hero-content {
			position: relative;
			z-index: 10;
			text-align: center;
			padding: 0 20px;
		}

		.hero-title {
			font-size: 4rem;
			font-weight: 900;
			margin-bottom: 20px;
			letter-spacing: -0.05em;
			color: #fff;
			text-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
			animation: fadeInUp 1s ease-out;
		}

		.hero-subtitle {
			font-size: 1.5rem;
			font-weight: 300;
			color: var(--text-light);
			margin-bottom: 40px;
			animation: fadeInUp 1.2s ease-out;
		}

		.btn-gold {
			display: inline-block;
			background: var(--primary-color);
			color: #000;
			padding: 15px 40px;
			font-size: 1.1rem;
			font-weight: 700;
			border-radius: 50px;
			text-decoration: none;
			text-transform: uppercase;
			transition: all 0.3s ease;
			box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
			animation: fadeInUp 1.4s ease-out;
		}

		.btn-gold:hover {
			background: #e5c358;
			transform: translateY(-2px);
			box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
			color: #000;
		}

		/* Fade In Up Animation */
		@keyframes fadeInUp {
			from {
				opacity: 0;
				transform: translateY(30px);
			}

			to {
				opacity: 1;
				transform: translateY(0);
			}
		}

		/* Intro Section */
		.intro-section {
			padding: 100px 0;
			background: var(--bg-light);
			text-align: center;
		}

		.intro-badge {
			display: inline-block;
			padding: 6px 16px;
			background: rgba(212, 175, 55, 0.1);
			color: #b08d24;
			border-radius: 30px;
			font-weight: 600;
			margin-bottom: 20px;
			font-size: 0.9rem;
		}

		.intro-heading {
			font-size: 2.5rem;
			margin-bottom: 40px;
			color: var(--text-dark);
		}

		.intro-text {
			font-size: 1.15rem;
			color: #555;
			max-width: 800px;
			margin: 0 auto;
			line-height: 1.8;
		}

		/* Product Showcase */
		.showcase-section {
			background: #fff;
			padding: 100px 0;
		}

		.product-card {
			border: none;
			border-radius: 20px;
			overflow: hidden;
			box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
			transition: transform 0.4s ease, box-shadow 0.4s ease;
			background: #fff;
			height: 100%;
		}

		.product-card:hover {
			transform: translateY(-10px);
			box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
		}

		.product-img-wrap {
			position: relative;
			padding-top: 70%;
			/* aspect ratio */
			overflow: hidden;
		}

		.product-img {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.6s ease;
		}

		.product-card:hover .product-img {
			transform: scale(1.05);
		}

		.product-info {
			padding: 30px;
			text-align: center;
		}

		.product-title {
			font-size: 1.8rem;
			font-weight: 700;
			margin-bottom: 10px;
		}

		.product-desc {
			color: #666;
			font-size: 1rem;
		}

		/* Gallery Section */
		.gallery-section {
			padding: 100px 0;
			background: var(--bg-dark);
			color: #fff;
		}

		.gallery-title {
			text-align: center;
			font-size: 2.5rem;
			margin-bottom: 60px;
		}

		.masonry-grid {
			column-count: 3;
			column-gap: 1.5rem;
		}

		.masonry-item {
			break-inside: avoid;
			margin-bottom: 1.5rem;
			border-radius: 12px;
			overflow: hidden;
			box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
			transition: opacity 0.3s;
		}

		.masonry-item img {
			width: 100%;
			display: block;
			transition: transform 0.5s ease;
		}

		.masonry-item:hover img {
			transform: scale(1.05);
		}

		@media (max-width: 991px) {
			.masonry-grid {
				column-count: 2;
			}
		}

		@media (max-width: 575px) {
			.masonry-grid {
				column-count: 1;
			}
		}

		/* Contact / Footer */
		.footer-section {
			background: #fff;
			padding: 100px 0 50px;
		}

		.contact-info-card {
			background: var(--bg-light);
			border-radius: 20px;
			padding: 40px;
			height: 100%;
		}

		.contact-icon {
			font-size: 2rem;
			color: var(--primary-color);
			margin-bottom: 20px;
		}

		.contact-form {
			background: #fff;
			padding: 40px;
			border-radius: 20px;
			box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
		}

		.form-control {
			border: 1px solid #ddd;
			border-radius: 8px;
			padding: 12px 15px;
			background: #fafafa;
			transition: all 0.3s;
		}

		.form-control:focus {
			border-color: var(--primary-color);
			box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25);
			background: #fff;
		}

		.btn-submit {
			background: var(--bg-dark);
			color: #fff;
			border: none;
			padding: 15px 30px;
			border-radius: 8px;
			font-weight: 600;
			width: 100%;
			transition: background 0.3s;
		}

		.btn-submit:hover {
			background: #2a2d34;
			color: #fff;
		}

		.copyright {
			text-align: center;
			border-top: 1px solid #eee;
			padding-top: 30px;
			margin-top: 50px;
			color: #888;
			font-size: 0.9rem;
		}

		/* Floating Kakao */
		.floating-kakao {
			position: fixed;
			bottom: 30px;
			right: 30px;
			z-index: 1000;
			display: flex;
			flex-direction: column;
			gap: 15px;
		}

		.floating-kakao img {
			width: 60px;
			height: 60px;
			object-fit: cover;
			object-position: top;
			border-radius: 50%;
			box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
			transition: transform 0.3s;
		}

		.floating-kakao img:hover {
			transform: scale(1.1) translateY(-5px);
		}

		/* Product Showcase Custom */
		.product-img-hover {
			transition: transform 0.4s ease, box-shadow 0.4s ease;
		}

		.product-img-hover:hover {
			transform: translateY(-5px);
			box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
		}
