/* ===== Home Page CSS Rules ===== */

/* ===== Hero Section ===== */

.bhs-hero-start {
	padding-top: 700px;
}

.bhs-hero-end {
	padding-top: 80px;
}

#bhs-home-hero .overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
    background: linear-gradient(180deg, rgba(34, 34, 34, 1) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 75%, rgb(34 34 34 / 89%) 100%)
}

/* ===== About Home ===== */

.bhs-ba {
	position: relative;
	width: 100%;
	height: 100%; /* match your working implementation */
	overflow: hidden;
	background: #111;
	user-select: none;
	touch-action: none;
	--pct: 50%;
}

.bhs-ba__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	pointer-events: none;
}

.bhs-ba__img--after {
	clip-path: inset(0 calc(100% - var(--pct)) 0 0);
	will-change: clip-path;
}

.bhs-ba__range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: ew-resize;
	z-index: 3;
}

.bhs-ba__handle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--pct);
	transform: translateX(-50%);
	width: 2px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
	pointer-events: none;
	z-index: 4;
}

.bhs-ba__handle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #c9a227;
	box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.bhs-ba__handle::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	z-index: 2;
	background:
		linear-gradient(135deg, transparent 45%, #c9a227 45%, #c9a227 55%, transparent 55%) left center / 8px 12px no-repeat,
		linear-gradient(315deg, transparent 45%, #c9a227 45%, #c9a227 55%, transparent 55%) right center / 8px 12px no-repeat;
}

/* ===== Visualizer ===== */

.bhs-mosaic-v2 .bhs-m-cell,
.bhs-mosaic-v2 .bhs-m-card {
	height: 400px;
}

.bhs-mosaic-v2 .bhs-m-cell img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}

.bhs-mosaic-v2 .bhs-m-cell:hover img {
	transform: scale(1.05) rotate(1deg);
}

.bhs-mosaic-v2 .bhs-m-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.7);
}

.bhs-mosaic-v2 .bhs-m-right {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.bhs-mosaic-v2 .bhs-m-right-top,
.bhs-mosaic-v2 .bhs-m-right-bottom {
	overflow: hidden;
	position: relative;
}

.bhs-mosaic-v2 .bhs-m-right-top {
	height: 490px;
}

.bhs-mosaic-v2 .bhs-m-right-bottom {
	height: 310px;
}

.bhs-mosaic-v2 .bhs-m-right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}

.bhs-mosaic-v2 .bhs-m-right-top:hover img,
.bhs-mosaic-v2 .bhs-m-right-bottom:hover img {
	transform: scale(1.05) rotate(1deg);
}

.bhs-inset-border {
    position: absolute;
    top: 20px;
    left: 20px;
    height: calc(100% - 40px);
    width: calc(100% - 40px);
    border: 2px solid var(--bhs-gold);
}

@media (max-width: 1200px) {

	.bhs-mosaic-v2 .bhs-m-right-top {
		height: 50%;
	}

	.bhs-mosaic-v2 .bhs-m-right-bottom {
		height: 100%;
	}
}

@media (max-width: 992px) {
	.bhs-ba {
		height: 400px;
	}
}