/* Luxury Diagonal Marquee Hero – 5e03f0a9 */

.ldmh-5e03f0a9-wrapper {
	position: relative;
	display: flex;
	min-height: 95vh;
	width: 100%;
	overflow: hidden;
	background-color: #0d0d0d;
	box-sizing: border-box;
}

/* ── Finely Tuned Background Marquee Canvas ── */
.ldmh-5e03f0a9-marquee-side {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
	pointer-events: none;
}

.ldmh-5e03f0a9-marquee-rotator {
	position: absolute;
	top: 50%;
	left: 49%; /* NUDGED SLIGHTLY RIGHT: Clears the text completely while keeping the right side populated */
	width: 160vw; 
	height: 160vh;
	transform: translate(-50%, -50%) rotate(-10deg); 
	transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

.ldmh-5e03f0a9-marquee-track {
	display: flex;
	flex-direction: row;
	gap: 35px;
	width: 100%;
	height: 100%;
	justify-content: center; 
	align-items: center;
	pointer-events: auto;
	transition: gap 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.ldmh-5e03f0a9-marquee-column {
	display: block;
	height: 100%;
	overflow: visible;
	position: relative;
}

.ldmh-5e03f0a9-marquee-column-inner {
	display: flex;
	flex-direction: column;
	gap: 35px;
	animation: ldmh5e03f0a9ColumnDriftUp 18s linear infinite;
	will-change: transform;
}

/* Alternate loop direction for high-contrast luxury motion */
.ldmh-5e03f0a9-marquee-column.drift-dir-down .ldmh-5e03f0a9-marquee-column-inner {
	animation: ldmh5e03f0a9ColumnDriftDown 18s linear infinite;
}

/* ── Fixed Native Square Image Cards (240px x 240px) ── */
.ldmh-5e03f0a9-marquee-item {
	width: 240px !important;
	height: 240px !important; 
	flex-shrink: 0;
	overflow: hidden;
	clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
	background-color: #141414;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6);
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease, box-shadow 0.5s ease;
	filter: grayscale(15%) brightness(0.85);
}

.ldmh-5e03f0a9-marquee-item img {
	width: 100%;
	height: 100%;
	object-fit: cover; 
	display: block;
	transform: scale(1.1);
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Premium Hover Feedback */
.ldmh-5e03f0a9-marquee-item:hover {
	transform: scale(1.05) translateY(-8px);
	filter: grayscale(0%) brightness(1.1);
	box-shadow: 0 25px 50px rgba(212, 175, 55, 0.2);
	z-index: 10;
	cursor: pointer;
}

.ldmh-5e03f0a9-marquee-item:hover img {
	transform: scale(1.03);
}

/* ── Overlay Text Content Architecture ── */
.ldmh-5e03f0a9-text-panel {
	position: relative;
	z-index: 3;
	width: 45%;
	min-width: 480px;
	display: flex;
	align-items: center;
	padding: 80px 60px 80px 80px;
	background: linear-gradient(to right, #0d0d0d 50%, rgba(13, 13, 13, 0.8) 75%, rgba(13, 13, 13, 0) 100%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-sizing: border-box;
}

.ldmh-5e03f0a9-text-inner {
	max-width: 480px;
	opacity: 0;
	transform: translateY(30px);
	animation: ldmhTextFadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.2s;
}

@keyframes ldmhTextFadeIn {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ldmh-5e03f0a9-badge {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 5px;
	font-size: 11px;
	font-weight: 600;
	color: #D4AF37;
	margin-bottom: 20px;
}

.ldmh-5e03f0a9-title {
	font-size: 52px;
	font-weight: 700;
	line-height: 1.15;
	color: #FFFFFF;
	margin: 0 0 24px 0;
	letter-spacing: -0.5px;
}

.ldmh-5e03f0a9-subtitle {
	font-size: 16px;
	line-height: 1.75;
	color: #BBBBBB;
	margin: 0 0 40px 0;
}

.ldmh-5e03f0a9-cta {
	display: inline-block;
	padding: 16px 42px;
	background-color: #D4AF37;
	color: #0d0d0d;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-decoration: none;
	border-radius: 1px;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 20px rgba(212, 175, 55, 0.15);
}

.ldmh-5e03f0a9-cta:hover {
	background-color: #FFFFFF;
	color: #0d0d0d;
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(255, 255, 255, 0.25);
}

/* ── Core Infinite Loop Systems ── */
@keyframes ldmh5e03f0a9ColumnDriftUp {
	0% { transform: translateY(0); }
	100% { transform: translateY(-50%); }
}

@keyframes ldmh5e03f0a9ColumnDriftDown {
	0% { transform: translateY(-50%); }
	100% { transform: translateY(0); }
}

/* Vignette Shading Masks */
.ldmh-5e03f0a9-marquee-side::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, #0d0d0d 0%, transparent 15%, transparent 85%, #0d0d0d 100%),
	            linear-gradient(to right, transparent 75%, #0d0d0d 100__);
	z-index: 2;
	pointer-events: none;
}

/* ── Dynamic Interactivity Scroll Engine Modifiers ── */
.ldmh-scrolled-down .ldmh-5e03f0a9-marquee-rotator {
	transform: translate(-50%, -50%) rotate(-13deg) scale(0.96);
}
.ldmh-scrolled-down .ldmh-5e03f0a9-marquee-track {
	gap: 50px;
}
.ldmh-scrolled-top .ldmh-5e03f0a9-marquee-rotator {
	transform: translate(-50%, -50%) rotate(-7deg) scale(1.04);
}

/* ── Responsive Viewport Scaling ── */

/* Laptop / Small Desktop Layout */
@media (max-width: 1300px) {
	.ldmh-5e03f0a9-marquee-rotator {
		width: 170vw;
		left: 52%; /* Adjusting proportion dynamically for smaller monitors */
	}
}

/* Tablet Viewport */
@media (max-width: 1024px) {
	.ldmh-5e03f0a9-wrapper {
		flex-direction: column;
		justify-content: flex-end;
		min-height: 90vh;
	}
	.ldmh-5e03f0a9-text-panel {
		width: 100%;
		min-width: 100%;
		padding: 120px 40px 60px 40px;
		background: linear-gradient(to bottom, transparent 0%, #0d0d0d 40%, #0d0d0d 100%);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.ldmh-5e03f0a9-marquee-side {
		height: 100%;
	}
	.ldmh-5e03f0a9-marquee-rotator {
		top: 35%;
		left: 50%;
		width: 220vw;
		transform: translate(-50%, -50%) rotate(-8deg);
	}
	.ldmh-scrolled-down .ldmh-5e03f0a9-marquee-rotator {
		transform: translate(-50%, -50%) rotate(-10deg) scale(0.98);
	}
	.ldmh-scrolled-top .ldmh-5e03f0a9-marquee-rotator {
		transform: translate(-50%, -50%) rotate(-6deg) scale(1.02);
	}
}

/* Mobile Viewport */
@media (max-width: 767px) {
	.ldmh-5e03f0a9-wrapper {
		min-height: 85vh;
	}
	.ldmh-5e03f0a9-text-panel {
		padding: 80px 24px 40px 24px;
		background: linear-gradient(to bottom, rgba(13, 13, 13, 0) 0%, rgba(13, 13, 13, 0.95) 35%, #0d0d0d 100%);
	}
	.ldmh-5e03f0a9-title {
		font-size: 34px;
		margin-bottom: 16px;
	}
	.ldmh-5e03f0a9-subtitle {
		font-size: 14px;
		margin-bottom: 28px;
	}
	.ldmh-5e03f0a9-marquee-rotator {
		top: 30%;
		left: 50%;
		width: 240vw;
		transform: translate(-50%, -50%) rotate(-6deg);
	}
	.ldmh-5e03f0a9-marquee-track {
		gap: 20px;
	}
	.ldmh-5e03f0a9-marquee-column-inner {
		gap: 20px;
	}
	.ldmh-5e03f0a9-marquee-item {
		width: 140px !important;
		height: 140px !important; 
		clip-path: polygon(6% 0%, 100% 0%, 94% 100%, 0% 100%);
		box-shadow: 0 10px 25px rgba(0,0,0,0.6);
	}
}

/* ── TARGETED MARQUEE POSITIONING ADJUSTMENTS ── */

/* Widescreen / Standard Desktops */
.ldmh-5e03f0a9-marquee-rotator {
	left: 74% !important; /* Pushes the columns slightly more to the right */
}

/* Laptop / Small Desktop Layout (1300px and down) */
@media (max-width: 1300px) {
	.ldmh-5e03f0a9-marquee-rotator {
		width: 170vw;
		left: 56% !important; /* Slightly increased offset to protect the text panel on compact screens */
	}
}

/* Tablet Viewport (1024px and down) - Centers it cleanly when stacked */
@media (max-width: 1024px) {
	.ldmh-5e03f0a9-marquee-rotator {
		top: 35%;
		left: 50% !important; /* Resets to true center when layout stacks vertically */
		width: 220vw;
	}
}

/* Mobile Viewport (767px and down) */
@media (max-width: 767px) {
	.ldmh-5e03f0a9-marquee-rotator {
		top: 30%;
		left: 50% !important; /* Keeps it centered over background on mobile frames */
		width: 240vw;
	}
}

/* ── FAULTLESS INFINITE LOOPING MARQUEE ENGINE ── */

.ldmh-5e03f0a9-marquee-column {
	display: block;
	height: 100%;
	overflow: visible;
	position: relative;
}

/* Ensure the wrapper does not truncate content layouts */
.ldmh-5e03f0a9-marquee-column-inner {
	display: flex;
	flex-direction: column;
	gap: 35px;
	/* Use a unified, smooth animation timing */
	animation: ldmhSeamlessLoopUp 24s linear infinite !important;
	will-change: transform;
}

/* Reverse drifting row style */
.ldmh-5e03f0a9-marquee-column.drift-dir-down .ldmh-5e03f0a9-marquee-column-inner {
	animation: ldmhSeamlessLoopDown 24s linear infinite !important;
}

/* Pause keyframe drift on cursor hover for a high-end luxury feel */
.ldmh-5e03f0a9-marquee-track:hover .ldmh-5e03f0a9-marquee-column-inner {
	animation-play-state: paused !important;
}


/* ── SEAMLESS MATHEMATICAL TRANSLATION KEYFRAMES ── */

@keyframes ldmhSeamlessLoopUp {
	0% {
		transform: translateY(0);
	}
	/* Translates exactly up to the midpoint of the duplicated content stack */
	100% {
		transform: translateY(calc(-50% - 17.5px)); /* Half of the 35px gap ensures zero snapping */
	}
}

@keyframes ldmhSeamlessLoopDown {
	0% {
		transform: translateY(calc(-50% - 17.5px));
	}
	100% {
		transform: translateY(0);
	}
}


/* ── MOBILE SYSTEM RESETS ── */
@media (max-width: 767px) {
	.ldmh-5e03f0a9-marquee-column-inner {
		animation: ldmhMobileLoopUp 16s linear infinite !important;
	}
	.ldmh-5e03f0a9-marquee-column.drift-dir-down .ldmh-5e03f0a9-marquee-column-inner {
		animation: ldmhMobileLoopDown 16s linear infinite !important;
	}
}

@keyframes ldmhMobileLoopUp {
	0% { transform: translateY(0); }
	100% { transform: translateY(calc(-50% - 10px)); } /* Matches mobile 20px gaps */
}

@keyframes ldmhMobileLoopDown {
	0% { transform: translateY(calc(-50% - 10px)); }
	100% { transform: translateY(0); }
}