html {
	--sticky-cta-bar-offset: 0px;
	scroll-padding-bottom: var(--sticky-cta-bar-offset);
}

.sticky_cta_bar__reserve {
	width: 100%;
	pointer-events: none;
}

/* TrustArc teconsent sits after footer and was creating a 40px gap above the bar. */
html.has-sticky-cta-bar #teconsent,
html.has-sticky-cta-bar #consent-banner {
	display: none !important;
}

.sticky_cta_bar {
	--sticky-cta-bg: #0a0a96;
	--sticky-cta-fg: #ffffff;

	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background-color: var(--sticky-cta-bg);
	color: var(--sticky-cta-fg);
	transform: translate3d(0, 100%, 0);
	/* No transform transition — avoids flicker when bar appears during scroll */
	transition: none;
	pointer-events: none;
}

.sticky_cta_bar.is-visible {
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
}

.sticky_cta_bar--dark-blue {
	--sticky-cta-bg: #0a0a96;
}

.sticky_cta_bar--acap-blue {
	--sticky-cta-bg: #0f24dc;
}

/* ==========================================================================
   Desktop First Base Styles (1440px and up)
   ========================================================================== */
.sticky_cta_bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	width: 100%;
	/* max-width: 1440px; */
	min-height: 60px;
	margin-inline: auto;
	padding: 12px 24px;
	box-sizing: border-box;
}

.sticky_cta_bar__heading {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
	flex-shrink: 0;
	white-space: normal;
	width: 100%;
	max-width: 500px;

	/* Typography from 1440+ */
	color: #FFF;
	font-family: "New Grotesk Square", "New Grotesk Square Fallback", sans-serif;
	font-size: 28px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	/* 28px */
}

.sticky_cta_bar__links {
	display: flex;
	flex: 0 1 auto;
	align-self: stretch;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	margin: 0;
	padding-top: 8px;
	list-style: none;
	min-width: 0;
	width: auto;
}

.sticky_cta_bar__item {
	display: flex;
	align-items: center;
	margin: 0;
	flex: 0 0 auto;
	min-width: 0;
	text-align: left;
}

.sticky_cta_bar__link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.25rem;
	max-width: 100%;
	text-decoration: none;
	white-space: normal;

	/* Typography from 1440+ */
	color: #FFF;
	font-family: "Founders Grotesk Regular", "Founders Grotesk Regular Fallback", sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.2;
}

.sticky_cta_bar__label--desktop {
	display: inline;
}

.sticky_cta_bar__label--mobile {
	display: none;
}

.sticky_cta_bar__arrow {
	display: inline-block;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.sticky_cta_bar__link:hover .sticky_cta_bar__arrow,
.sticky_cta_bar__link:focus-visible .sticky_cta_bar__arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Responsive Overrides
   ========================================================================== */

/* Max 1439px: Laptops / Smaller Desktops */
@media (max-width: 1439px) {
	.sticky_cta_bar__inner {
		padding: 12px 24px;
	}

	.sticky_cta_bar__heading {
		font-size: 24px;
		line-height: 1.2;
		/* max-width: 400px; */
	}

	.sticky_cta_bar__links {
		gap: 24px;
	}
}

/* Max 1079px: Tablets */
@media (max-width: 1079px) {
	.sticky_cta_bar__inner {
		justify-content: center;
		gap: 1.5rem;
		padding: 8px 24px;
	}

	.sticky_cta_bar__heading {
		display: none;
	}

	.sticky_cta_bar__links {
		flex: 1 1 auto;
		align-self: stretch;
		align-items: center;
		justify-content: space-evenly;
		gap: 24px;
		width: 100%;
	}

	.sticky_cta_bar__item {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		text-align: left;
	}

	.sticky_cta_bar__link {
		justify-content: flex-start;
		font-size: 18px;
	}
}

/* Max 767px: Mobile Devices */
@media (max-width: 767px) {
	.sticky_cta_bar__inner {
		/* Equal padding — no env(safe-area) oscillation on mobile chrome.
		   8px + 44px link + 8px = 60px bar height. */
		/* padding: 8px 24px; */
		padding: 8px 24px 6px 24px;
	}

	.sticky_cta_bar__item {
		display: flex;
		align-items: center;
	}

	.sticky_cta_bar__link {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		min-height: 44px;
		font-size: 16px;
		line-height: 1.2;
	}

	.sticky_cta_bar__label--desktop {
		display: none;
	}

	.sticky_cta_bar__label--mobile {
		display: inline;
	}
}