.ivy-cta--bandeau {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: var( --ivy-accent, rgb( 4 68 100 ) );
	color: var( --ivy-on-accent, rgb( 255 255 255 ) );
	isolation: isolate;
}

.ivy-cta--bandeau .ivy-cta__overlay {
	position: absolute;
	z-index: -1;
	inset: 0;
	pointer-events: none;
}

.ivy-cta--bandeau .ivy-cta__inner {
	position: relative;
	display: grid;
	grid-template-columns: repeat( 12, minmax( 0, 1fr ) );
	column-gap: clamp( 24px, 3vw, 48px );
	row-gap: 20px;
	max-width: 1400px;
	margin-inline: auto;
	padding: clamp( 72px, 10vh, 120px ) clamp( 20px, 6vw, 96px );
}

.ivy-cta--bandeau .ivy-cta__eyebrow {
	grid-column: 1 / -1;
	display: block;
	margin-block-end: 8px;
	padding-block-end: 14px;
	border-block-end: 1px solid var( --ivy-line-accent, rgb( 255 255 255 / 32% ) );
	color: var( --ivy-eyebrow-color, var( --ivy-on-accent-muted, rgb( 228 235 238 ) ) );
	font-size: var( --ivy-font-label );
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ivy-cta--bandeau .ivy-cta__title {
	grid-column: 1 / span 7;
	align-self: end;
	margin: 0;
	color: var( --ivy-title-color, var( --ivy-on-accent, rgb( 255 255 255 ) ) );
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.ivy-cta--bandeau .ivy-cta__text {
	grid-column: 9 / -1;
	align-self: end;
	max-width: 34ch;
	margin: 0;
	color: var( --ivy-text-color, var( --ivy-on-accent-muted, rgb( 228 235 238 ) ) );
	font-size: var( --ivy-font-lead );
	line-height: 1.5;
}

.ivy-cta--bandeau .ivy-cta__actions {
	grid-column: 9 / -1;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-block-start: 10px;
}

:where( .ivy-cta--bandeau ) .ivy-cta__cta {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding: 0.85em 1.6em;
	border: 1px solid var( --ivy-cta-border-color, var( --ivy-ink, rgb( 17 17 17 ) ) );
	border-radius: var( --ivy-radius-action, 999px );
	background: var( --ivy-cta-background-color, var( --ivy-ink, rgb( 17 17 17 ) ) );
	color: var( --ivy-cta-color, var( --ivy-surface, rgb( 255 255 255 ) ) );
	font-size: var( --ivy-font-body );
	font-weight: 700;
	text-decoration: none;
}

:where( .ivy-cta--bandeau ) .ivy-cta__cta.ivy-cta__cta--secondary {
	border-color: var( --ivy-cta_secondary-border-color, var( --ivy-line-accent, rgb( 255 255 255 / 42% ) ) );
	background: var( --ivy-cta_secondary-background-color, transparent );
	color: var( --ivy-cta_secondary-color, var( --ivy-on-accent, rgb( 255 255 255 ) ) );
}

:where( .ivy-cta--bandeau ) .ivy-cta__cta:focus-visible {
	outline: 2px solid var( --ivy-on-accent, rgb( 255 255 255 ) );
	outline-offset: 3px;
}

@media ( max-width: 767px ) {
	.ivy-cta--bandeau .ivy-cta__inner { grid-template-columns: 1fr; row-gap: 0; padding: 64px 20px; }
	.ivy-cta--bandeau .ivy-cta__eyebrow,
	.ivy-cta--bandeau .ivy-cta__title,
	.ivy-cta--bandeau .ivy-cta__text,
	.ivy-cta--bandeau .ivy-cta__actions { grid-column: 1; }
	.ivy-cta--bandeau .ivy-cta__text { margin-block-start: 24px; }
	.ivy-cta--bandeau .ivy-cta__actions { margin-block-start: 28px; }
}
