.hero{
	position:relative;
	width:100%;
	height:100vh;
	min-height:100vh;
	overflow:hidden;
	color:#fff;
	background:#111;
	isolation:isolate;
}

.hero video.hero-video{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	z-index:0;
	filter:none;
	transform:scale(1.01);
}

/* Warm cinematic wash, matching the reference banner */

.hero::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
	background:
		linear-gradient(
			90deg,
			rgba(42,18,7,.22) 0%,
			rgba(42,18,7,.08) 44%,
			rgba(42,18,7,.02) 100%
		),
		linear-gradient(
			0deg,
			rgba(98,32,8,.48) 0%,
			rgba(120,54,14,.22) 30%,
			rgba(186,118,42,.08) 62%,
			rgba(255,255,255,0) 100%
		),
		linear-gradient(
			180deg,
			rgba(0,0,0,.06) 0%,
			rgba(0,0,0,.02) 42%,
			rgba(0,0,0,.18) 76%,
			rgba(0,0,0,.34) 100%
		);
}

.hero::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:34%;
	z-index:1;
	pointer-events:none;
	background:linear-gradient(
		0deg,
		rgba(87,33,10,.34) 0%,
		rgba(111,48,16,.16) 46%,
		rgba(111,48,16,0) 100%
	);
}

.hero-caption{
	position:absolute;
	z-index:3;
	left:50%;
	bottom:clamp(84px,13.5vh,132px);
	transform:translateX(-50%);
	width:min(780px,90vw);
	text-align:center;
	font-family:var(--font-title, "Times New Roman", serif);
	font-size:clamp(24px,2.15vw,31px);
	font-weight:300;
	line-height:1.12;
	letter-spacing:.015em;
	color:#fff;
	text-shadow:0 7px 30px rgba(0,0,0,.34);
	animation:heroCaptionIn 1.65s cubic-bezier(.22,.72,.22,1) .18s both;
	pointer-events:none;
}

.hero-caption span{
	display:block;
	white-space:nowrap;
}

.hero-stats{
	position:absolute;
	z-index:4;
	left:0;
	right:0;
	bottom:0;
	display:grid;
	grid-template-columns:repeat(5,1fr);
	min-height:74px;
	border-top:1px solid rgba(255,255,255,.24);
	background:linear-gradient(
		90deg,
		rgba(68,26,9,.10) 0%,
		rgba(83,31,11,.22) 50%,
		rgba(68,26,9,.10) 100%
	);
	backdrop-filter:blur(1px);
	-webkit-backdrop-filter:blur(1px);
	animation:heroStatsIn 1.45s cubic-bezier(.22,.72,.22,1) .42s both;
}

.hero-stat{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-width:0;
	padding:12px 18px 13px;
	text-align:center;
	transform:translateY(0);
	transition:
		transform .55s cubic-bezier(.22,.72,.22,1),
		opacity .55s ease,
		background-color .55s ease;
	will-change:transform;
}

.hero-stat + .hero-stat{
	border-left:1px solid rgba(255,255,255,.22);
}

.hero-stat strong{
	display:block;
	font-family:var(--font-title, "Times New Roman", serif);
	font-size:clamp(25px,2.35vw,33px);
	font-weight:300;
	line-height:.95;
	letter-spacing:.04em;
	color:#fff;
	text-shadow:0 5px 22px rgba(0,0,0,.26);
}

.hero-stat span{
	display:block;
	margin-top:7px;
	font-family:var(--font-ui, "Montserrat", Arial, sans-serif);
	font-size:clamp(9px,.86vw,12px);
	font-weight:500;
	line-height:1.15;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:rgba(255,255,255,.9);
	text-shadow:0 4px 16px rgba(0,0,0,.24);
}

.hero-stat:hover{
	transform:translateY(-7px);
	background-color:rgba(255,255,255,.035);
}

.hero-stat:hover strong,
.hero-stat:hover span{
	opacity:.96;
}

@keyframes heroCaptionIn{
	0%{
		opacity:0;
		transform:translate(-50%,16px);
		filter:blur(2.5px);
	}

	100%{
		opacity:1;
		transform:translate(-50%,0);
		filter:blur(0);
	}
}

@keyframes heroStatsIn{
	0%{
		opacity:0;
		transform:translateY(18px);
		filter:blur(2px);
	}

	100%{
		opacity:1;
		transform:translateY(0);
		filter:blur(0);
	}
}

body.menu-open .hero-caption,
body.booking-open .hero-caption,
body.menu-open .hero-stats,
body.booking-open .hero-stats{
	opacity:0;
	visibility:hidden;
	animation:none;
}

@media(max-width:920px){

	.hero-stats{
		grid-template-columns:repeat(5,minmax(120px,1fr));
		overflow-x:auto;
		overflow-y:hidden;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}

	.hero-stats::-webkit-scrollbar{
		display:none;
	}

	.hero-stat{
		min-width:120px;
		padding-left:14px;
		padding-right:14px;
	}
}

@media(max-width:560px){

	.hero{
		height:100svh;
		min-height:100svh;
	}

	.hero video.hero-video{
		object-position:center center;
	}

	.hero::before{
		background:
			linear-gradient(
				90deg,
				rgba(42,18,7,.2) 0%,
				rgba(42,18,7,.07) 100%
			),
			linear-gradient(
				0deg,
				rgba(98,32,8,.52) 0%,
				rgba(120,54,14,.24) 34%,
				rgba(186,118,42,.08) 68%,
				rgba(255,255,255,0) 100%
			),
			linear-gradient(
				180deg,
				rgba(0,0,0,.04) 0%,
				rgba(0,0,0,.04) 52%,
				rgba(0,0,0,.24) 79%,
				rgba(0,0,0,.42) 100%
			);
	}

	.hero-caption{
		bottom:clamp(118px,17vh,148px);
		width:min(360px,86vw);
		max-width:86vw;
		font-size:clamp(21px,6.4vw,27px);
		line-height:1.16;
		letter-spacing:.01em;
		text-wrap:balance;
		text-shadow:
			0 4px 18px rgba(0,0,0,.44),
			0 10px 34px rgba(0,0,0,.34);
	}

	.hero-caption span{
		white-space:normal;
	}

	.hero-stats{
		min-height:78px;
		grid-template-columns:repeat(5,minmax(116px,1fr));
	}

	.hero-stat{
		min-width:116px;
		padding:12px 12px 13px;
	}

	.hero-stat strong{
		font-size:25px;
	}

	.hero-stat span{
		margin-top:7px;
		font-size:9px;
		letter-spacing:.1em;
	}
}

@media(prefers-reduced-motion:reduce){

	.hero-caption,
	.hero-stats{
		animation:none;
	}

	.hero-stat,
	.hero-stat:hover{
		transition:none;
		transform:none;
	}
}
