/* KS Hero Slider — lightweight, no external dependencies */

.khs-hero{
	position:relative;
	width:100%;
	height:100vh;
	min-height:420px;
	overflow:hidden;
	background:#141008;
	box-sizing:border-box;
}
.khs-hero *{box-sizing:border-box;}

/* ---- Background stack ---- */
.khs-bg-stack{position:absolute;inset:0;z-index:1;}
.khs-bg-slide{
	position:absolute;inset:0;
	background-size:cover;
	background-position:center;
	opacity:0;
	transform:scale(1.08);
	transition:opacity var(--khs-transition,1200ms) ease, transform 7000ms linear;
	will-change:opacity,transform;
}
.khs-bg-slide.is-active{
	opacity:1;
	transform:scale(1);
	z-index:2;
}

.khs-overlay{
	position:absolute;inset:0;z-index:2;
	background:linear-gradient(180deg, rgba(20,15,10,.45) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.6) 100%);
	pointer-events:none;
}

/* ---- Content ---- */
.khs-container{
	position:relative;z-index:3;
	max-width:1200px;
	margin:0 auto;
	height:100%;
	padding:0 40px;
}
.khs-content-stack{position:relative;height:100%;}
.khs-content{
	position:absolute;
	top:50%;
	left:40px;
	right:40px;
	transform:translateY(-50%) translateY(16px);
	max-width:620px;
	opacity:0;
	visibility:hidden;
	transition:opacity 700ms ease, transform 700ms ease;
	transition-delay:0ms;
}
.khs-content.is-active{
	opacity:1;
	visibility:visible;
	transform:translateY(-50%) translateY(0);
	transition-delay:250ms;
}
.khs-align-left{left:40px;right:auto;text-align:left;}
.khs-align-center{left:50%;right:auto;transform:translate(-50%,-50%) translateY(16px);text-align:center;margin:0 auto;}
.khs-align-center.is-active{transform:translate(-50%,-50%) translateY(0);}
.khs-align-right{right:40px;left:auto;text-align:right;margin-left:auto;}

.khs-eyebrow{
	font-family:'Space Mono',monospace;
	font-size:12px;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:#dcb872;
	margin-bottom:18px;
}
.khs-heading{
	font-family:Georgia,'Times New Roman',serif;
	font-weight:500;
	font-size:clamp(32px,4.6vw,64px);
	line-height:1.08;
	color:#f8f2e4;
	margin:0 0 22px;
}
.khs-heading em{font-style:italic;color:#e2a993;}
.khs-desc{
	font-family:Arial,Helvetica,sans-serif;
	font-size:16px;
	line-height:1.6;
	color:rgba(248,242,228,.85);
	margin:0 0 30px;
	max-width:460px;
}
.khs-align-center .khs-desc{margin-left:auto;margin-right:auto;}
.khs-align-right .khs-desc{margin-left:auto;margin-right:0;}

.khs-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.khs-align-center .khs-buttons{justify-content:center;}
.khs-align-right .khs-buttons{justify-content:flex-end;}

.khs-btn{
	display:inline-flex;align-items:center;gap:8px;
	font-family:Arial,Helvetica,sans-serif;
	font-size:14px;font-weight:600;
	padding:14px 26px;
	border-radius:30px;
	border:1px solid transparent;
	text-decoration:none;
	transition:transform .3s ease, opacity .3s ease;
	white-space:nowrap;
}
.khs-btn:hover{transform:translateY(-2px);opacity:.92;}
.khs-btn svg{width:14px;height:14px;}
.khs-btn--solid{background:#f8f2e4;color:#211a10;border-color:#f8f2e4;}
.khs-btn--ghost{background:transparent;color:#f8f2e4;border-color:rgba(248,242,228,.6);}

/* ---- Explore vertical label ---- */
.khs-explore-label{
	position:absolute;
	left:24px;
	bottom:120px;
	z-index:3;
	writing-mode:vertical-rl;
	transform:rotate(180deg);
	font-family:'Space Mono',monospace;
	font-size:11px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:rgba(248,242,228,.6);
}

/* ---- Footer: nav arrows (top), pagination+caption (below), progress bar (bottom edge) ---- */
.khs-footer{
	position:absolute;left:0;right:0;
	bottom:24px;
	z-index:4;
}
.khs-footer-inner{
	max-width:1200px;
	margin:0 auto;
	padding:0 40px;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:16px;
	font-family:'Space Mono',monospace;
	color:#f8f2e4;
}

.khs-nav{display:flex;gap:10px;}

.khs-footer-row{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:22px;
}

/* Progress bar sits on its own, flush with the very bottom edge */
.khs-progress{
	position:absolute;left:0;right:0;bottom:0;
	width:100%;height:2px;
	background:rgba(248,242,228,.2);
	z-index:4;
}
.khs-progress__fill{
	display:block;height:100%;width:0%;
	background:#a8492f;
}
.khs-progress__fill.is-animating{
	transition:width linear;
}
.khs-arrow{
	width:38px;height:38px;
	border-radius:50%;
	border:1px solid rgba(248,242,228,.5);
	background:transparent;
	color:#f8f2e4;
	display:flex;align-items:center;justify-content:center;
	cursor:pointer;
	transition:background .3s ease,color .3s ease;
	padding:0;
}
.khs-arrow svg{width:16px;height:16px;}
.khs-arrow:hover{background:#f8f2e4;color:#211a10;}

.khs-pagination{font-size:14px;letter-spacing:.05em;white-space:nowrap;}
.khs-page-current{font-weight:700;}

.khs-caption{position:relative;font-size:11px;letter-spacing:.03em;max-width:220px;line-height:1.5;}
.khs-caption-item{display:none;}
.khs-caption-item.is-active{display:block;}

/* ---- Responsive ---- */
@media (max-width: 1024px){
	.khs-footer-row{flex-wrap:wrap;justify-content:flex-end;}
	.khs-caption{max-width:160px;}
}
@media (max-width: 768px){
	.khs-hero{min-height:560px;}
	.khs-container{padding:0 24px;}
	.khs-align-left,.khs-align-right{left:24px;right:24px;text-align:left;max-width:100%;}
	.khs-align-right{margin-left:0;}
	.khs-align-right .khs-buttons,.khs-align-right .khs-desc{margin-right:0;justify-content:flex-start;}
	.khs-explore-label{display:none;}
	.khs-footer-inner{padding:0 24px;gap:12px;}
	.khs-footer{bottom:18px;}
	.khs-caption{display:none;}
}
@media (max-width: 480px){
	.khs-heading{font-size:30px;}
	.khs-btn{padding:12px 20px;font-size:13px;}
}
