.vbs-cta-cursor-lookbook {
	position: relative;
	overflow: hidden;
	--vb-cursor-lookbook-statement-size: 1.1vw;
	--vb-cursor-lookbook-statement-leading: 1.3;
	--vb-cursor-lookbook-statement-tracking: -0.01em;
	--vb-cursor-lookbook-title-tracking: -0.03em;
}

/* Fallback — the invitation and all five authored looks remain visible. */
.vbs-cta-cursor-lookbook__stage {
	width: min(100% - (2 * var(--vb-gutter)), var(--vb-max-wide));
	margin-inline: auto;
	padding-block: var(--vb-space-section);
	display: grid;
	gap: 2.5rem;
	justify-items: center;
}
.vbs-cta-cursor-lookbook__statement {
	width: min(100%, 22rem);
	text-align: center;
	font-family: var(--vb-font-sans);
	font-size: var(--vb-fs-body);
	line-height: var(--vb-lh-body);
	font-weight: var(--vb-weight-body);
	color: var(--vb-color-ink-soft);
}
.vbs-cta-cursor-lookbook__title {
	max-width: 80%;
	text-align: center;
	font-family: var(--vb-font-display);
	font-size: var(--vb-fs-display-1);
	line-height: var(--vb-lh-display-1);
	letter-spacing: var(--vb-ls-display-1);
	font-weight: var(--vb-weight-display);
}
.vbs-cta-cursor-lookbook__link {
	color: var(--vb-color-ink);
	text-decoration: none;
}
.vbs-cta-cursor-lookbook__link:focus-visible {
	outline: 2px solid var(--vb-color-accent);
	outline-offset: 0.15em;
}
.vbs-cta-cursor-lookbook:where([data-vb-cursor-cycle]) .vbs-cta-cursor-lookbook__card {
	position: static;
	inset: auto;
	width: 100%;
	transform: none;
}
.vbs-cta-cursor-lookbook:where([data-vb-cursor-cycle]) .vbs-cta-cursor-lookbook__medias {
	position: static;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 1rem;
}
.vbs-cta-cursor-lookbook:where([data-vb-cursor-cycle]) .vbs-cta-cursor-lookbook__media {
	position: static;
	inset: auto;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--vb-radius-sm);
	visibility: visible;
}

/* Following — the source composition becomes one viewport and the five looks
   collapse into a single card. The shared primitive owns card x/y/rotation
   and media xPercent/yPercent; this file owns only their exact geometry. */
html.vb-gsap .vbs-cta-cursor-lookbook__stage {
	position: relative;
	width: 100%;
	max-width: none;
	height: 100vh;
	padding-block: 0;
	display: block;
	overflow: hidden;
}
html.vb-gsap .vbs-cta-cursor-lookbook__statement {
	position: relative;
	z-index: 1;
	width: 20%;
	min-width: 300px;
	margin-inline: auto;
	padding: 25px 25px 0;
	font-size: var(--vb-cursor-lookbook-statement-size);
	line-height: var(--vb-cursor-lookbook-statement-leading);
	letter-spacing: var(--vb-cursor-lookbook-statement-tracking);
	color: var(--vb-color-ink);
}
html.vb-gsap .vbs-cta-cursor-lookbook__title {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	z-index: 1;
	width: max-content;
	max-width: 80%;
	transform: translate(-50%, -50%);
	font-size: clamp(max(var(--vb-fs-display-1), 5rem), 10vw, 12.5rem);
	line-height: 0.95;
	letter-spacing: var(--vb-cursor-lookbook-title-tracking);
}
html.vb-gsap .vbs-cta-cursor-lookbook__card {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	z-index: 2;
	width: 20vw;
	aspect-ratio: 0.8;
	transform: translate(-50%, -50%);
	overflow: hidden;
	border-radius: var(--vb-radius-card);
	pointer-events: none;
	will-change: transform;
}
html.vb-gsap .vbs-cta-cursor-lookbook__medias {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform: scale(1.2);
	will-change: transform;
}
html.vb-gsap .vbs-cta-cursor-lookbook__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	border-radius: 0;
	visibility: hidden;
}
html.vb-gsap .vbs-cta-cursor-lookbook__media.is-active { visibility: visible; }

@media (hover: none), (pointer: coarse) {
	html.vb-gsap .vbs-cta-cursor-lookbook__card { display: none; }
}

@media (max-width: 900px) {
	.vbs-cta-cursor-lookbook {
		--vb-cursor-lookbook-statement-size: 16px;
	}
	html.vb-gsap .vbs-cta-cursor-lookbook__statement {
		width: 100%;
		padding: 15px 15px 0;
		font-size: var(--vb-cursor-lookbook-statement-size);
	}
}
