.ccp-ones #ccp-promo-banner-front {
		-ms-grid-rows: 1fr;
		-ms-grid-columns: 1fr;
		    grid-template: 1fr/1fr;
		justify-items: stretch;
}

.ccp-ones {
		--bs-secondary-on-light: rgb(33.74, 112.7059574468, 134.96);
		--bs-secondary-on-light-rgb: 34, 113, 135;
		--bs-secondary-on-dark: rgb(116.6, 197.5787234043, 220.4);
		--bs-secondary-on-dark-rgb: 117, 198, 220;
}
.ccp-ones :where(.section--dark, .bg-primary, .hfr-section--dark) {
		--section-tone: dark;
}
.ccp-ones :where(.section--light, .bg-light, .bg-white, .bg-body, .bg-body-secondary) {
		--section-tone: light;
}

@container style(--section-tone: light) {
		.section-label,
		.hero-eyebrow,
		.hero-date {
				--bs-secondary: var(--bs-secondary-on-light);
		}
		.text-secondary,
		a.link-secondary {
				--bs-secondary-rgb: var(--bs-secondary-on-light-rgb);
		}
		.btn-secondary {
				--bs-btn-bg: var(--bs-secondary-on-light);
				--bs-btn-border-color: var(--bs-secondary-on-light);
				--bs-btn-hover-bg: color-mix(in srgb, var(--bs-secondary-on-light), white 5%);
				--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-secondary-on-light), white 5%);
		}
}
@container style(--section-tone: dark) {
		.section-label,
		.hero-eyebrow,
		.hero-date {
				--bs-secondary: var(--bs-secondary-on-dark);
		}
		.text-secondary,
		a.link-secondary {
				--bs-secondary-rgb: var(--bs-secondary-on-dark-rgb);
		}
		.btn-secondary {
				--bs-btn-bg: var(--bs-secondary-on-dark);
				--bs-btn-border-color: var(--bs-secondary-on-dark);
				--bs-btn-hover-bg: color-mix(in srgb, var(--bs-secondary-on-dark), black 5%);
				--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-secondary-on-dark), black 5%);
				color: var(--bs-dark) !important;
		}
}
#campaign-banner {
		max-height: none !important;
		height: auto;
		min-height: 60vh;
}
#campaign-banner .bg-elements-frame {
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
}
#campaign-banner .fg-elements-frame.grid {
		position: relative;
		color: white;
}
@media (max-width: 767.98px) {
		#campaign-banner .fg-elements-frame.grid {
				display: flex;
				flex-direction: column;
				padding-bottom: 2rem;
		}
}
#campaign-banner.simplified-hero {
		min-height: calc(87vh - var(--ccp-header-height, 0px));
}
#campaign-banner.simplified-hero .fg-elements-frame.grid {
		padding: 4rem 0.5rem 2rem;
}
@media (min-width: 768px) {
		#campaign-banner.simplified-hero .fg-elements-frame.grid:has(#ccp-hero-banner-disclaimer) {
				-ms-grid-rows: auto 0 max-content 0 auto 0 auto;
				grid-template-rows: auto max-content auto auto;
				gap: 0 1rem;
		}
		#campaign-banner.simplified-hero .fg-elements-frame.grid:has(#ccp-hero-banner-disclaimer) #ccp-hero-banner-disclaimer {
				-ms-grid-row: 3;
				grid-row: 3;
				grid-column: c-content-start/c-content-end;
		}
}
#campaign-banner #ccp-hero-banner-form:has([data-sf-wrapper]) {
		display: block !important;
		max-width: 420px !important;
}
#campaign-banner #ccp-hero-banner-form:not(:has([data-sf-wrapper])) {
		display: block !important;
		max-width: unset !important;
}
@media (max-width: 767.98px) {
		#campaign-banner #ccp-hero-banner-form:not(:has([data-sf-wrapper])) {
				width: 100%;
				margin: 2rem 0 0;
		}
}
#campaign-banner:not(:has([data-sf-wrapper])).simplified-hero {
		min-height: calc(55vh - var(--ccp-header-height, 0px));
}

#campaign-banner:has([data-sf-wrapper]) .hero-headline {
		font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
		#campaign-banner:has([data-sf-wrapper]) .hero-headline {
				font-size: 3rem;
		}
}
@media (min-width: 768px) {
		#campaign-banner:has([data-sf-wrapper]) .hero-headline {
				font-size: calc(1.475rem + 2.7vw);
		}
}
@media (min-width: 768px) and (min-width: 1200px) {
		#campaign-banner:has([data-sf-wrapper]) .hero-headline {
				font-size: 3.5rem;
		}
}

.section-label {
		font-size: 0.875rem;
		letter-spacing: 0.07em;
		text-transform: uppercase;
		color: var(--bs-secondary);
}
.section-label.section-label--flag {
		position: relative;
		display: inline-flex;
		flex: 0 0 auto;
		gap: 0.5rem;
		align-items: center;
		font-weight: 600;
}
.section-label.section-label--flag::before {
		content: "";
		margin-top: 0.25rem;
		height: 0.125rem;
		width: 2rem;
		background-color: currentColor;
}
@media (max-width: 767.98px) {
		.section-label.section-label--flag::before {
				margin-inline-start: -0.75rem;
		}
}

.hero-eyebrow {
		font-size: 0.875rem;
		letter-spacing: 0.07em;
		text-transform: uppercase;
		color: var(--bs-secondary);
		display: block;
		margin-bottom: 0.75rem;
}

.hero-date {
		font-style: italic;
		color: var(--bs-secondary);
		margin-bottom: 0.25rem;
}

.hero-headline {
		font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
		.hero-headline {
				font-size: 4rem;
		}
}
.hero-headline {
		color: #fff;
		margin-bottom: 0;
		text-wrap: balance;
}
.hero-headline em {
		color: var(--bs-secondary);
		font-style: italic;
}

.hero-rule {
		display: block;
		width: 48px;
		height: 3px;
		background: var(--bs-secondary);
		margin: 1.75rem 0;
}

.hero-body {
		max-width: 680px;
		margin-bottom: 0;
}

.feature-item {
		padding: 0.5rem 0;
}

.feature-text {
		color: rgba(255, 255, 255, 0.85);
		line-height: 1.54;
}

.hfr-section--dark {
		background: var(--theme-bg-dark, #0f1935);
		color: #fff;
}

.hfr-section--light {
		background: #f7f4f2;
}

#section-cta h2 {
		font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
		#section-cta h2 {
				font-size: 3rem;
		}
}

.cta-headline {
		color: #fff;
		margin-bottom: 0;
		text-wrap: balance;
}

.hfr-cta-card {
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-top: 2px solid rgba(47, 173, 188, 0.8);
}
.hfr-cta-card p.small {
		font-size: 0.875rem;
}

@property --btn-gradient-angle {
		syntax: "<angle>";
		inherits: false;
		initial-value: 45deg;
}
.btn.btn-gradient-base, .btn.btn-gradient-c, .btn.btn-gradient-b, .btn.btn-gradient-a {
		--btn-gradient-transition-duration: 0.25s;
		--btn-gradient-transition-easing: ease-in-out;
		--btn-gradient-angle: 45deg;
		--btn-gradient-angle-hover: 90deg;
		--btn-gradient-color-start: transparent;
		--btn-gradient-color-end: transparent;
		--border-offset: var(--bs-border-width);
		--btn-gradient-padding-y: calc(var(--bs-btn-padding-y) + var(--border-offset));
		--btn-gradient-padding-x: calc(var(--bs-btn-padding-x) + var(--border-offset));
		padding: var(--btn-gradient-padding-y) var(--btn-gradient-padding-x);
		color: #fff !important;
		border: none;
		background-image: linear-gradient(var(--btn-gradient-angle), var(--btn-gradient-color-start) 0%, var(--btn-gradient-color-end) 100%);
		transition: filter var(--btn-gradient-transition-duration) var(--btn-gradient-transition-easing), opacity var(--btn-gradient-transition-duration) var(--btn-gradient-transition-easing), --btn-gradient-angle var(--btn-gradient-transition-duration) var(--btn-gradient-transition-easing);
}
.btn.btn-gradient-base:hover, .btn.btn-gradient-c:hover, .btn.btn-gradient-b:hover, .btn.btn-gradient-a:hover, .btn.btn-gradient-base:active, .btn.btn-gradient-c:active, .btn.btn-gradient-b:active, .btn.btn-gradient-a:active {
		color: #fff !important;
		filter: brightness(1.12);
		--btn-gradient-angle: var(--btn-gradient-angle-hover);
}
.btn.btn-gradient-base:focus, .btn.btn-gradient-c:focus, .btn.btn-gradient-b:focus, .btn.btn-gradient-a:focus {
		color: #fff !important;
		box-shadow: none !important;
}
.btn.btn-gradient-base:disabled, .btn.btn-gradient-c:disabled, .btn.btn-gradient-b:disabled, .btn.btn-gradient-a:disabled, .btn.btn-gradient-base.disabled, .btn.disabled.btn-gradient-c, .btn.disabled.btn-gradient-b, .btn.disabled.btn-gradient-a {
		color: #fff !important;
		filter: none;
		opacity: 0.65;
}
.btn.btn-gradient-a {
		--btn-gradient-color-start: #132149;
		--btn-gradient-color-end: #6A4C93;
}
.btn.btn-gradient-b {
		--btn-gradient-color-start: #132149;
		--btn-gradient-color-end: #256183;
}
.btn.btn-gradient-c {
		--btn-gradient-color-start: #2F9DBC;
		--btn-gradient-color-end: #44B0A6;
}