/* Kew Hero Slider — bespoke full-bleed homepage hero.
   Tokens come from the theme (:root in main.css) with literal fallbacks so
   the plugin still renders correctly under any theme. */

.kew-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--kew-dark, #171512);
	min-height: clamp(420px, 46vw, 640px);
	isolation: isolate;
}

.kew-hero__stage {
	position: relative;
	width: 100%;
	min-height: clamp(420px, 46vw, 640px);
}

.kew-hero__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	visibility: hidden;
	transition: opacity 900ms ease;
	display: flex;
	align-items: center;
}

.kew-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

/* Left-weighted scrim: keeps the headline legible without flattening the
   artwork on the right, which is where the lot photography sits. */
.kew-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(10, 9, 8, 0.88) 0%, rgba(10, 9, 8, 0.72) 34%, rgba(10, 9, 8, 0.28) 62%, rgba(10, 9, 8, 0.18) 100%),
		linear-gradient(180deg, rgba(10, 9, 8, 0.35) 0%, rgba(10, 9, 8, 0) 40%);
	pointer-events: none;
}

.kew-hero__inner {
	position: relative;
	z-index: 2;
	width: min(1280px, 100%);
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 4rem);
	max-width: 100%;
}

.kew-hero__eyebrow {
	margin: 0 0 clamp(0.9rem, 2vw, 1.4rem);
	font-family: var(--kew-sans, "Jost", system-ui, sans-serif);
	font-size: 0.688rem;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.kew-hero__title {
	margin: 0;
	max-width: 20ch;
	font-family: var(--kew-serif, "Cormorant Garamond", Georgia, serif);
	font-weight: 300;
	font-size: clamp(2.25rem, 5.4vw, 4.25rem);
	line-height: 1.06;
	letter-spacing: -0.005em;
	color: #fff;
}

.kew-hero__meta {
	margin: clamp(1rem, 2.2vw, 1.6rem) 0 0;
	font-family: var(--kew-serif, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(1rem, 1.35vw, 1.188rem);
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.86);
}

.kew-hero__btn {
	display: inline-block;
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding: 0.95rem 2.4rem;
	border: 1px solid rgba(255, 255, 255, 0.55);
	font-family: var(--kew-sans, "Jost", system-ui, sans-serif);
	font-size: 0.688rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: transparent;
	transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease;
}

.kew-hero__btn:hover,
.kew-hero__btn:focus-visible {
	background: #fff;
	border-color: #fff;
	color: var(--kew-ink, #14110d);
}

/* Vertical word stack up the right edge. */
.kew-hero__side {
	position: absolute;
	top: 50%;
	right: clamp(1.25rem, 3vw, 3rem);
	transform: translateY(-50%);
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 0.55em;
	padding-left: 1.75rem;
	border-left: 1px solid rgba(255, 255, 255, 0.28);
	font-family: var(--kew-sans, "Jost", system-ui, sans-serif);
	font-size: 0.625rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}

/* Numbered pagination — 01 with an extending rule, then 02 03. */
.kew-hero__nav {
	position: absolute;
	right: clamp(1.25rem, 3vw, 3rem);
	bottom: clamp(1.25rem, 3vw, 2.5rem);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.kew-hero__dot {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.25rem 0;
	border: 0;
	background: none;
	cursor: pointer;
	font-family: var(--kew-sans, "Jost", system-ui, sans-serif);
	font-size: 0.688rem;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.5);
	transition: color 250ms ease;
}

.kew-hero__dot:hover {
	color: rgba(255, 255, 255, 0.85);
}

.kew-hero__dot.is-active {
	color: #fff;
}

.kew-hero__rule {
	display: block;
	width: 0;
	height: 1px;
	background: currentColor;
	transition: width 350ms ease;
}

.kew-hero__dot.is-active .kew-hero__rule {
	width: clamp(28px, 4vw, 56px);
}

@media (max-width: 780px) {
	.kew-hero__side {
		display: none;
	}
	.kew-hero__title {
		max-width: 100%;
	}
	.kew-hero__scrim {
		background: linear-gradient(180deg, rgba(10, 9, 8, 0.55) 0%, rgba(10, 9, 8, 0.82) 100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.kew-hero__slide,
	.kew-hero__rule {
		transition: none;
	}
}
