/* ThemeLiving centered hero */
.hbv-hero-banner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: min(100vh, 900px);
	min-height: 680px;
	overflow: hidden;
	background: #242424;
	color: #fff;
	font-family: var(--hbv-font-family, inherit);
}

/* The homepage hero and its first content block should meet without a blank seam. */
.hbv-hero-banner + .home-about {
	margin-top: 40px !important;
	transform: none !important;
	animation: none !important;
	opacity: 1 !important;
	transition: none !important;
}

@media (max-width: 600px) {
	.hbv-hero-banner + .home-about {
		margin-top: 24px !important;
	}
}

.hbv-video-container,
.hbv-slideshow-container {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.hbv-video-container {
	background-color: #f2efe9;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	pointer-events: none;
	touch-action: pan-y;
}

.hbv-video-poster {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: opacity .18s ease;
}

.hbv-video-iframe,
.hbv-video-local,
.hbv-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hbv-video-poster-picture { display: none;
}

.hbv-video-poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	touch-action: pan-y;
}

.hbv-video-local[data-hbv-src] {
	z-index: 2;
	opacity: 0;
	transition: opacity .18s ease;
	pointer-events: none;
	touch-action: pan-y;
}

.hbv-hero-banner.is-video-playing .hbv-video-local[data-hbv-src] { opacity: 1; }
.hbv-hero-banner.is-video-playing .hbv-video-poster { opacity: 0; }


.hbv-video-iframe {
	transform: scale(1.08);
	pointer-events: none;
	touch-action: pan-y;
}

/* The hero media is decorative; only the overlaid content remains interactive. */
.hbv-video-container,
.hbv-video-poster-picture,
.hbv-video-poster,
.hbv-video-local,
.hbv-video-iframe,
.hbv-overlay {
	pointer-events: none;
	touch-action: pan-y;
}

.hbv-slide {
	opacity: 0;
	transition: opacity 1s ease;
}

.hbv-slide.active {
	z-index: 1;
	opacity: 1;
}

.hbv-overlay {
	position: absolute;
	z-index: 2;
	inset: 0;
	background:
		linear-gradient(rgba(0, 0, 0, .28), rgba(0, 0, 0, .28)),
		linear-gradient(90deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .04) 45%, rgba(0, 0, 0, .32)),
		linear-gradient(0deg, rgba(0, 0, 0, .42), transparent 55%);
}

.hbv-content {
	position: relative;
	z-index: 4;
	width: min(620px, 46%);
	margin: 0 6vw 0 auto;
	padding: 0;
	color: #fff;
	text-align: left;
	will-change: transform, opacity;
}

/* Keep intentionally disabled banner content from reserving an empty block. */
.hbv-content[style*="display:none"],
.hbv-content[style*="display: none"] {
	display: none !important;
}

.hbv-content > * {
	opacity: 0;
	transform: translateY(28px);
}

.hbv-hero-banner.is-ready .hbv-heading {
	animation: hbv-content-reveal .85s cubic-bezier(.22, 1, .36, 1) .1s forwards;
}

.hbv-hero-banner.is-ready .hbv-subheading {
	animation: hbv-content-reveal .85s cubic-bezier(.22, 1, .36, 1) .28s forwards;
}

.hbv-hero-banner.is-ready .hbv-actions {
	animation: hbv-content-reveal .85s cubic-bezier(.22, 1, .36, 1) .44s forwards;
}

.hbv-heading {
	margin: 0 0 16px;
	color: #fff;
	font-family: inherit;
	font-size: clamp(2.4rem, 4.6vw, 4.6rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: 0;
}

.hbv-heading.is-typing::after {
	width: 2px;
	height: .88em;
	display: inline-block;
	margin-left: .09em;
	background: currentColor;
	content: '';
	vertical-align: -.06em;
	animation: hbv-typewriter-caret .72s steps(1, end) infinite;
}

.hbv-subheading {
	margin: 0 0 26px;
	color: rgba(255, 255, 255, .92);
	font-size: 1.05rem;
	font-weight: 300;
	line-height: 1.55;
}

.hbv-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
}

.hbv-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 145px;
	padding: 14px 22px;
	border: 1px solid #fff;
	background: #fff;
	color: #222;
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.hbv-cta-secondary {
	background: transparent;
	color: #fff;
}

.hbv-cta:hover {
	border-color: #222;
	background: #222;
	color: #fff;
}

.hbv-cta-secondary:hover {
	border-color: #fff;
	background: #fff;
	color: #222;
}

.hbv-dots {
	position: absolute;
	z-index: 5;
	bottom: 30px;
	left: 50%;
	display: flex;
	gap: 9px;
	transform: translateX(-50%);
}

.hbv-dot {
	width: 8px;
	height: 8px;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.hbv-dot.active {
	background: #fff;
}

@keyframes hbv-content-reveal {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes hbv-typewriter-caret {
	0%, 46% { opacity: 1; }
	47%, 100% { opacity: 0; }
}

@media (max-width: 768px) {
	.hbv-hero-banner {
		height: min(760px, 100svh);
		min-height: 600px;
	}

	.hbv-content {
		width: 100%;
		margin: 0;
		padding: 0 20px;
		text-align: center;
	}

	.hbv-heading {
		max-width: 360px;
		margin-right: auto;
		margin-left: auto;
		font-size: clamp(2.15rem, 9vw, 3rem);
		line-height: 1.08;
	}

	.hbv-subheading {
		max-width: 340px;
		margin-right: auto;
		margin-left: auto;
		font-size: .95rem;
	}

	.hbv-actions {
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.hbv-hero-banner {
		min-height: 620px;
	}

	.hbv-heading {
		font-size: clamp(2rem, 9.5vw, 2.45rem);
	}

	.hbv-cta {
		min-width: 0;
		flex: 0 1 auto;
		padding: 12px 15px;
		font-size: .7rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hbv-content > * {
		opacity: 1;
		transform: none;
		animation: none !important;
	}

	.hbv-content {
		transform: none !important;
		opacity: 1 !important;
	}
}


/* Unified homepage media collage — compact editorial cluster. */
.yl-media-collage{
	position:relative;
	width:calc(100% - 100px);
	max-width:none;
	margin:0 50px clamp(70px,9vw,140px);
	padding:0;
	color:#1f211f;
}
.yl-media-collage__intro{max-width:1080px;margin:0 auto 42px;text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.yl-media-collage__eyebrow{margin:0 0 12px;color:#9b6b4d;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.yl-media-collage__intro h2{max-width:1050px;margin:0 auto 14px;font-family:inherit;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
.yl-media-collage__intro>p:last-child{max-width:850px;margin:0 auto;color:#6f716d;font-size:.95rem;line-height:1.7}
.yl-media-collage__stage{
	position:relative;
	width:100%;
	aspect-ratio:1030 / 940;
	margin:0 auto;
}
.yl-media-collage__video{position:absolute;z-index:3;left:24.2718%;top:22.3404%;width:75.7282%;height:38.2979%;overflow:hidden;background:#202321;box-shadow:0 22px 55px rgba(29,31,27,.18)}
.yl-media-collage__video iframe,.yl-media-collage__video video,.yl-media-collage__video>img{display:block;width:100%;height:100%;border:0;object-fit:cover}
.yl-media-collage__play{position:absolute;right:16px;bottom:14px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;font-size:15px}
.yl-media-collage__image{position:absolute;z-index:1;display:block;margin:0;overflow:hidden;background:#ebe8e1}
.yl-media-collage__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.yl-media-collage__image:hover{z-index:4}
.yl-media-collage__image:hover img{transform:scale(1.045)}
.yl-media-collage__image--top_left{left:24.2718%;top:0;width:34.9515%;height:21.2766%}
.yl-media-collage__image--top_right{left:60.1942%;top:7.0922%;width:18%;height:14.1844%;aspect-ratio:auto;align-self:end}
.yl-media-collage__image--left{left:0;top:17%;width:23.3010%;height:38.2979%}
.yl-media-collage__image--bottom_left{left:32.5243% !important;top:61.7021% !important;width:34.9515% !important;height:38.2979% !important;aspect-ratio:1 / 1}
.yl-media-collage__image--bottom_right{left:68.4466% !important;top:auto !important;bottom:0 !important;width:auto !important;height:25.5319% !important;aspect-ratio:1 / 1}
.yl-media-collage__video:has(iframe){cursor:pointer}@media(max-width:800px){
	.yl-media-collage{width:calc(100% - 32px);margin:0 16px 65px;padding:0}
	.yl-media-collage__intro{margin-bottom:28px}
	.yl-media-collage__stage{width:100%;aspect-ratio:1044 / 848}
	.yl-media-collage__play{right:10px;bottom:9px;width:24px;height:24px}
}@media(prefers-reduced-motion:reduce){.yl-media-collage__image img{transition:none}}


















