:root{
	--vicora-gold:#C9A86A;
	--vicora-charcoal:#0D0D0D;
	--vicora-ivory:#F7F2EB;
	--vicora-white:#FFFFFF;
}

.vicora-home-hero{
	position:relative;
	width:100vw;
	max-width:100vw;
	height:100vh;
	height:100svh;
	min-height:100vh;
	min-height:100svh;
	overflow:hidden;
	isolation:isolate;
	background:var(--vicora-charcoal);
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}

/* Force full-bleed even inside Astra containers */
#content,
.site-content{
	padding:0 !important;
}

.site-content .ast-container{
	max-width:none !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

.vicora-hero__slides,
.vicora-hero__slide{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}

.vicora-hero__slides{
	z-index:0;
	background:var(--vicora-charcoal);
}

.vicora-hero__slide{
	opacity:0;
	background-image:var(--vicora-slide-bg);
	background-size:auto 100%;
	background-repeat:no-repeat;
	background-position:right top;
	background-color:var(--vicora-charcoal);
	transform:translate3d(72px, 28px, 0);
	clip-path:inset(0 0 0 100%);
	transition:
		clip-path 1350ms cubic-bezier(.16,.72,.16,1),
		opacity 520ms ease,
		transform 1500ms cubic-bezier(.16,.72,.16,1);
	will-change:clip-path, opacity, transform;
}

.vicora-hero__slide.is-active{
	opacity:1;
	clip-path:inset(0 0 0 0);
	transform:translate3d(0, 28px, 0);
	z-index:2;
}

.vicora-hero__slide.is-leaving{
	opacity:1;
	clip-path:inset(0 100% 0 0);
	transform:translate3d(-44px, 28px, 0);
	z-index:1;
}

.vicora-home-hero::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.50) 26%, rgba(0,0,0,0.20) 48%, rgba(0,0,0,0.00) 72%),
		radial-gradient(1000px 700px at 18% 38%, rgba(201,168,106,0.12) 0%, rgba(201,168,106,0.00) 60%),
		radial-gradient(900px 700px at 72% 30%, rgba(201,168,106,0.10) 0%, rgba(201,168,106,0.00) 58%);
	z-index:2;
	pointer-events:none;
}

.vicora-home-hero::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,0.16) 0%, rgba(0,0,0,0.00) 38%, rgba(0,0,0,0.12) 100%);
	z-index:2;
	pointer-events:none;
}

.vicora-hero__inner{
	position:relative;
	z-index:3;
	height:100%;
	min-height:100vh;
	min-height:100svh;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	padding-left:clamp(18px, 5vw, 90px);
	padding-right:clamp(18px, 4vw, 64px);
}

.vicora-hero__content{
	max-width:650px;
	color:var(--vicora-white);
	transform:translateY(56px);
	transition:opacity 360ms ease, transform 520ms cubic-bezier(.2,.8,.2,1);
}

.vicora-home-hero.is-visible .vicora-hero__content{
	animation:vicoraFadeUp 900ms cubic-bezier(.2,.8,.2,1) both;
}

.vicora-home-hero.is-visible .vicora-hero__content.is-changing{
	animation:none;
	opacity:0;
	transform:translateY(72px);
}

.vicora-hero__label{
	display:inline-block;
	font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size:12px;
	letter-spacing:.28em;
	text-transform:uppercase;
	color:var(--vicora-gold);
	margin:0 0 18px 0;
}

.vicora-hero__headline{
	font-family:"Playfair Display", Georgia, "Times New Roman", serif;
	font-weight:300;
	color:var(--vicora-white);
	font-size:clamp(54px, 6.6vw, 96px);
	line-height:0.95;
	letter-spacing:-0.02em;
	margin:0 0 18px 0;
	text-shadow:0 18px 50px rgba(0,0,0,0.65);
}

.vicora-hero__divider{
	display:flex;
	align-items:center;
	gap:14px;
	margin:6px 0 18px 0;
}

.vicora-hero__divider::before{
	content:"";
	height:1px;
	width:110px;
	background:linear-gradient(90deg, rgba(201,168,106,0.95) 0%, rgba(201,168,106,0.45) 72%, rgba(201,168,106,0.00) 100%);
	box-shadow:0 0 22px rgba(201,168,106,0.22);
}

.vicora-hero__divider::after{
	content:"";
	width:6px;
	height:6px;
	border:1px solid rgba(201,168,106,0.9);
	transform:rotate(45deg);
	opacity:.9;
}

.vicora-hero__subtext{
	margin:0 0 28px 0;
	max-width:500px;
	font-family:"Cormorant Garamond", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size:clamp(18px, 1.6vw, 22px);
	line-height:1.5;
	color:rgba(255,255,255,0.90);
	text-shadow:0 10px 40px rgba(0,0,0,0.55);
}

.vicora-hero__actions{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	align-items:center;
}

.vicora-hero__btn{
	height:56px;
	padding:0 22px;
	border-radius:2px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size:13px;
	letter-spacing:.12em;
	text-transform:uppercase;
	text-decoration:none !important;
	transition:transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, border-color 220ms ease, color 220ms ease;
}

.vicora-hero__btn--primary{
	background:linear-gradient(180deg, rgba(201,168,106,1) 0%, rgba(176,141,87,1) 100%);
	color:var(--vicora-white);
	border:1px solid rgba(201,168,106,0.55);
	box-shadow:0 18px 42px rgba(0,0,0,0.42);
}

.vicora-hero__btn--secondary{
	background:rgba(0,0,0,0.10);
	color:var(--vicora-white);
	border:1px solid rgba(201,168,106,0.70);
	backdrop-filter:blur(2px);
}

.vicora-hero__btn:hover{
	transform:translateY(-1px);
	box-shadow:0 0 0 1px rgba(201,168,106,0.15), 0 18px 52px rgba(201,168,106,0.20), 0 28px 60px rgba(0,0,0,0.55);
}

.vicora-hero__btn--secondary:hover{
	background:rgba(201,168,106,0.10);
	border-color:rgba(201,168,106,0.95);
}

.vicora-hero__particles{
	position:absolute;
	inset:0;
	z-index:2;
	pointer-events:none;
}

.vicora-hero__slider-nav{
	position:absolute;
	left:clamp(18px, 5vw, 90px);
	bottom:clamp(20px, 4vh, 44px);
	z-index:4;
	display:flex;
	align-items:center;
	gap:13px;
}

.vicora-hero__slider-dot{
	display:flex;
	align-items:center;
	gap:8px;
	min-width:26px;
	padding:5px 0;
	border:0;
	background:transparent;
	color:rgba(255,255,255,0.58);
	cursor:pointer;
	font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size:10px;
	letter-spacing:.15em;
	transition:color 280ms ease;
}

.vicora-hero__slider-dot i{
	display:block;
	width:0;
	height:1px;
	overflow:hidden;
	background:rgba(201,168,106,0.34);
	transition:width 380ms ease;
}

.vicora-hero__slider-dot i::before{
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:var(--vicora-gold);
	transform:scaleX(0);
	transform-origin:left center;
}

.vicora-hero__slider-dot.is-active{
	color:var(--vicora-gold);
}

.vicora-hero__slider-dot.is-active i{
	width:56px;
}

.vicora-hero__slider-dot.is-active i::before{
	animation:vicoraSlideProgress 3s linear both;
}

.vicora-home-hero:hover .vicora-hero__slider-dot.is-active i::before{
	animation-play-state:paused;
}

.vicora-hero__particle{
	position:absolute;
	width:2px;
	height:2px;
	border-radius:999px;
	background:rgba(201,168,106,0.95);
	box-shadow:0 0 12px rgba(201,168,106,0.55);
	opacity:.0;
	transform:translate3d(0, 10px, 0);
	animation:vicoraParticleFloat var(--dur) linear infinite;
	animation-delay:var(--delay);
}

@keyframes vicoraParticleFloat{
	0%{
		opacity:0;
		transform:translate3d(0, 18px, 0) scale(0.8);
	}
	12%{ opacity:0.9; }
	82%{ opacity:0.85; }
	100%{
		opacity:0;
		transform:translate3d(0, -120px, 0) scale(1.15);
	}
}

@keyframes vicoraFadeUp{
	0%{ opacity:0; transform:translateY(74px); }
	100%{ opacity:1; transform:translateY(56px); }
}

@keyframes vicoraSlideProgress{
	0%{ transform:scaleX(0); }
	100%{ transform:scaleX(1); }
}

@media (max-width: 920px){
	.vicora-hero__inner{
		padding-top:64px;
		align-items:flex-end;
		padding-bottom:56px;
	}
	.vicora-hero__headline{
		font-size:clamp(42px, 10vw, 72px);
	}
	.vicora-home-hero::before{
		background:linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.42) 55%, rgba(0,0,0,0.00) 100%);
	}
	.vicora-hero__slider-nav{
		gap:10px;
	}
	.vicora-hero__slider-dot.is-active i{
		width:34px;
	}
}

@media (prefers-reduced-motion: reduce){
	.vicora-hero__slide{ transition:none; }
	.vicora-hero__content{ animation:none; opacity:1; transform:none; }
	.vicora-hero__particle{ animation:none; display:none; }
	.vicora-hero__slider-dot.is-active i::before{ animation:none; transform:scaleX(1); }
}
