/* =====================================================================
   Home — Hero Slider (scroll-snap track + JS driver) + feature bar
   ================================================================== */

.jviens-hero {
	position: relative;
	background: var(--jv-purple-50);
	overflow: hidden;
}

.jviens-hero__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.jviens-hero__track::-webkit-scrollbar { display: none; }

.jviens-hero__slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	position: relative;
	min-height: clamp(380px, 52vh, 600px);
	display: flex;
	align-items: stretch;
}

.jviens-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	z-index: 0;
}

.jviens-hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--jv-container);
	margin: 0 auto;
	padding: clamp(32px, 6vw, 64px) var(--jv-gutter);
	display: flex;
	width: 100%;
}
.jviens-hero__content {
	max-width: 560px;
	background: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.82) 80%, rgba(255,255,255,0) 100%);
	padding: clamp(16px, 3vw, 32px);
	border-radius: var(--jv-radius);
	align-self: center;
}
html[data-theme="dark"] .jviens-hero__content {
	background: linear-gradient(90deg, rgba(20,16,26,.92) 0%, rgba(20,16,26,.82) 80%, rgba(20,16,26,0) 100%);
}

.jviens-hero__eyebrow {
	margin: 0 0 12px;
	font-size: 13px; font-weight: 600; letter-spacing: .12em;
	text-transform: uppercase; color: var(--jv-ink-muted);
}
.jviens-hero__eyebrow span { color: var(--jv-purple-500); }

.jviens-hero__title {
	margin: 0 0 16px;
	font-family: var(--jv-serif);
	font-size: clamp(26px, 5.2vw, 64px);
	line-height: 1.05;
	font-weight: 400;
	color: var(--jv-ink);
}
.jviens-hero__title-1 { display: block; }
.jviens-hero__title-2 {
	display: inline-block;
	margin-top: 4px;
	padding-bottom: 6px;
	font-style: italic;
	color: var(--jv-purple-700);
	border-bottom: 2px solid var(--jv-purple-300);
}

.jviens-hero__body {
	margin: 0 0 24px;
	font-size: 16px;
	color: var(--jv-ink-muted);
	line-height: 1.6;
	max-width: 480px;
}

.jviens-hero__cta {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 24px;
	background: var(--jv-purple-700); color: #fff;
	border-radius: var(--jv-radius);
	text-decoration: none;
	font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: 13px;
	transition: background-color .15s ease, transform .15s ease;
}
.jviens-hero__cta:hover { background: var(--jv-purple-900); transform: translateY(-1px); }
.jviens-hero__cta svg { width: 16px; height: 16px; }

/* Arrows */
.jviens-hero__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	border: 0;
	background: rgba(255,255,255,.9);
	color: var(--jv-purple-700);
	border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	box-shadow: var(--jv-shadow-sm);
	z-index: 5;
	transition: background-color .15s ease;
}
.jviens-hero__arrow:hover { background: #fff; }
.jviens-hero__arrow svg { width: 20px; height: 20px; }
.jviens-hero__arrow--prev { left: 16px; }
.jviens-hero__arrow--next { right: 16px; }

html[data-theme="dark"] .jviens-hero__arrow {
	background: rgba(30,24,40,.85);
	color: var(--jv-purple-300);
}

/* Dots */
.jviens-hero__dots {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 5;
}
.jviens-hero__dot {
	width: 10px; height: 10px;
	border: 0; padding: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.5);
	cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}
.jviens-hero__dot:hover { background: rgba(255,255,255,.8); }
.jviens-hero__dot[aria-current="true"] {
	background: var(--jv-purple-700);
	transform: scale(1.25);
}

/* Feature bar */
.jviens-hero-bar {
	background: var(--jv-purple-50);
	border-top: 1px solid var(--jv-border);
}
.jviens-hero-bar__inner {
	max-width: var(--jv-container);
	margin: 0 auto;
	padding: 20px var(--jv-gutter);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: center;
}
.jviens-hero-bar__item { display: flex; align-items: center; gap: 14px; }
.jviens-hero-bar__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	border-radius: 12px;
	background: #fff; color: var(--jv-purple-700);
	flex: 0 0 44px;
}
.jviens-hero-bar__icon svg { width: 22px; height: 22px; }
.jviens-hero-bar__text { display: flex; flex-direction: column; }
.jviens-hero-bar__title { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jv-ink); }
.jviens-hero-bar__sub   { font-size: 13px; color: var(--jv-ink-muted); }

html[data-theme="dark"] .jviens-hero-bar__icon {
	background: var(--jv-purple-100);
	color: var(--jv-purple-300);
}

/* Responsive */
@media (max-width: 767.98px) {
	.jviens-hero__arrow { display: none; }
	.jviens-hero-bar__inner { grid-template-columns: 1fr; gap: 16px; }
	.jviens-hero__content { background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.86) 100%); }
	html[data-theme="dark"] .jviens-hero__content { background: linear-gradient(180deg, rgba(20,16,26,.94) 0%, rgba(20,16,26,.86) 100%); }
}

/* Reduced motion — skip smooth scroll */
@media (prefers-reduced-motion: reduce) {
	.jviens-hero__track { scroll-behavior: auto; }
	.jviens-hero__cta { transition: none; }
}
