#ccp-page-beyond-60-40 {
		--theme-color-primary: #F5A623;
		--theme-color-secondary: #FFC800;
		--theme-color-tertiary: #3C1053;
}
#ccp-page-beyond-60-40 #campaign-banner {
		min-height: 750px;
		height: auto;
}
@media (min-width: 768px) {
		#ccp-page-beyond-60-40 #campaign-banner {
				max-height: unset;
		}
}
#ccp-page-beyond-60-40 #campaign-banner .fg-elements-frame {
		padding: 3rem 0;
}
#ccp-page-beyond-60-40 :where(h1, .h1, h2, .h2) {
		font-family: var(--ccp-heading-font-family);
}
#ccp-page-beyond-60-40 :where(h1, .h1) {
		font-size: clamp(2.5rem, 5vw, 4rem);
}
#ccp-page-beyond-60-40 :where(h2, .h2) {
		font-size: clamp(1.75rem, 4vw, 3rem);
}
#ccp-page-beyond-60-40 .btn#read-full-story-btn {
		--story-position-y: 0.0rem;
}
#ccp-page-beyond-60-40 .btn#read-full-story-btn span:has(svg.svg-inline--fa) {
		display: inline-block;
		position: relative;
}
@keyframes bounce-arrow {
		0%, 100% {
				translate: 0px var(--story-position-y);
		}
		50% {
				translate: 0px calc(var(--story-position-y) - 0.25rem);
		}
}
#ccp-page-beyond-60-40 .btn#read-full-story-btn:hover span:has(svg.svg-inline--fa), #ccp-page-beyond-60-40 .btn#read-full-story-btn:focus span:has(svg.svg-inline--fa) {
		animation: bounce-arrow 0.6s ease;
}
#ccp-page-beyond-60-40 span.highlighted {
		color: var(--theme-color-primary);
}
#ccp-page-beyond-60-40 span.sup-group {
		font-size: 66%;
		line-height: 1;
		top: 0;
		font-weight: bold;
		baseline-shift: super;
		position: relative;
		vertical-align: super;
}
#ccp-page-beyond-60-40 span.sup-group a {
		color: var(--theme-color-secondary);
		color: inherit;
}
.tooltip {
		--bs-tooltip-bg: var(--theme-color-secondary, #FFC800);
		--bs-tooltip-color: var(--bs-dark, #000);
		--bs-tooltip-opacity: 0.92;
}

#ccp-page-beyond-60-40 .link-secondary {
		--bs-secondary-rgb: 245, 166, 35;
}
#ccp-page-beyond-60-40 .bg-theme-primary {
		background-color: var(--theme-color-primary);
}
#ccp-page-beyond-60-40 .btn.btn-gradient-c {
		--btn-gradient-color-start: var(--theme-color-primary);
		--btn-gradient-color-end: var(--theme-color-secondary);
		color: var(--bs-dark) !important;
}
#ccp-page-beyond-60-40 .btn.btn-outline-light {
		--bs-btn-border-color: var(--theme-color-primary);
		--bs-btn-hover-border-color: var(--theme-color-primary);
		--bs-btn-hover-bg: rgba(var(--bs-white-rgb), 0.09);
		--bs-btn-hover-color: var(--bs-light);
}

@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;
}

.container-full-bleed {
		--bs-gutter-x: 1.5rem;
		--bs-gutter-y: 0;
		width: 100%;
		padding-right: calc(var(--bs-gutter-x) * 0.5);
		padding-left: calc(var(--bs-gutter-x) * 0.5);
		margin-right: auto;
		margin-left: auto;
		max-width: 140rem;
		--bs-gutter-x: 5rem;
}

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

#campaign-banner {
		min-height: none;
}
#campaign-banner .bg-elements-frame {
		background-color: var(--bs-primary);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
}
#campaign-banner .bg-elements-frame::after {
		content: "";
		position: absolute;
		inset: 0;
		background: var(--bs-primary);
		mix-blend-mode: multiply;
		opacity: 0;
}
#campaign-banner .fg-elements-frame.grid {
		position: relative;
		color: white;
}

.hero-subtitle {
		font-size: 1.125rem;
		line-height: 1.75;
		color: rgba(255, 255, 255, 0.8);
		max-width: 56rem;
}

.section-label {
		font-size: 0.75rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: #2FADBC;
		color: var(--theme-color-primary);
		margin-bottom: 0.75rem;
		display: block;
}

.body-copy {
		font-size: 1.125rem;
		line-height: 1.75;
}

.editorial-pull-quote {
		font-weight: 300;
		line-height: 1.25;
		color: var(--bs-primary);
}

.stat-card {
		padding: 1.25rem 0 1.25rem 1.5rem;
		position: relative;
		background-color: var(--bs-white);
}
.stat-card::before {
		content: "";
		position: absolute;
		inset: 0 auto 0 0;
		width: 3px;
		background: linear-gradient(to bottom, var(--theme-color-primary) 0%, var(--theme-color-secondary) 100%);
}
.stat-card__value {
		font-size: clamp(2.5rem, 5vw, 3.25rem);
		font-weight: 600;
		line-height: 1;
		margin-bottom: 0.5rem;
		color: var(--bs-primary);
}
.stat-card__label {
		font-size: 0.8rem;
		letter-spacing: 0.06em;
		margin-bottom: 0.25rem;
}
.stat-card__context {
		color: #686868;
		font-size: 0.85rem !important;
}
.col-md-4:has(.stat-card):nth-child(1) .stat-card__value {
		color: #FF0004;
}

.col-md-4:has(.stat-card):nth-child(3) .stat-card__value {
		color: #33C100;
}

#section-practice {
		background-color: #0e2040;
		background-color: #0C152F;
}
#section-practice .strategy-card .section-label {
		font-size: 1rem;
}

@media (min-width: 768px) {
		.strategy-card p:has(+ .strategy-card__teaser) {
				min-height: 7.5rem;
				margin-bottom: 1.5rem;
		}
}
.strategy-card__teaser canvas {
		display: block;
		width: 100%;
		opacity: 0.6;
		pointer-events: none;
		-webkit-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}
.strategy-card__lock {
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
}

.step-card {
		padding: 1.5rem;
		background-color: white;
		height: 100%;
		position: relative;
		cursor: default;
		transition-property: box-shadow;
		transition-duration: 0.3s;
		--highlight-gradient-a: var(--theme-color-secondary);
		--highlight-gradient-b: var(--theme-color-primary);
		--number-opacity: 0.5;
}
.step-card::before {
		content: "";
		position: absolute;
		inset: 0 0 auto 0;
		background: linear-gradient(to left, var(--highlight-gradient-a) 0%, var(--highlight-gradient-b) 100%);
		height: 5px;
		width: 100%;
		transition: opacity 0.3s;
		opacity: 0;
}
.step-card--highlight, .step-card-row:where(:not(:hover)) > [class*=col-]:first-child .step-card,
.step-card-row .step-card:hover {
		--number-opacity: 1;
}
.step-card--highlight::before, .step-card-row:where(:not(:hover)) > [class*=col-]:first-child .step-card::before,
.step-card-row .step-card:hover::before {
		opacity: 1;
}
.step-card--highlight, .step-card-row:where(:not(:hover)) > [class*=col-]:first-child .step-card,
.step-card-row .step-card:hover {
		box-shadow: 0 4px 24px rgba(19, 33, 73, 0.08);
}
.step-card--highlight .step-card__num, .step-card-row:where(:not(:hover)) > [class*=col-]:first-child .step-card .step-card__num,
.step-card-row .step-card:hover .step-card__num {
		color: var(--bs-primary);
}
.step-card__num {
		font-size: 3rem;
		font-weight: 700;
		line-height: 1;
		display: inline-block;
		margin-bottom: 0.5rem;
		transition: color 0.3s, opacity 0.3s;
		background: linear-gradient(45deg, #615B86 0%, var(--bs-primary) 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		text-fill-color: transparent;
}
.step-card__label {
		color: var(--theme-color-tertiary);
}
#section-why-crystal {
		color: white;
		background-color: #0C152F;
}
#section-why-crystal p.small {
		font-size: 0.85rem;
}

#section-cta {
		background: var(--bs-primary);
}

.bottom-stat__value {
		font-size: clamp(2rem, 4vw, 2.75rem);
		line-height: 1;
		color: #ffffff;
		margin-bottom: 0.375rem;
}
.bottom-stat__label {
		font-size: 0.75rem;
		letter-spacing: 0.08em;
		color: rgba(255, 255, 255, 0.5);
		margin-bottom: 0;
}

#section-disclosures {
		background-color: #0C152F;
		color: rgba(var(--bs-light-rgb), 0.5);
}
#section-disclosures p:has(+ ol) {
		margin-bottom: 0.5rem;
}
#section-disclosures ol {
		padding-inline-start: 1rem;
}
#section-disclosures ol > li > a {
		display: inline-block;
		margin-inline-start: 0.5rem;
}
#section-disclosures ol > li > a:link {
		color: inherit;
		text-decoration: none;
}
#section-disclosures ol > li > a:hover, #section-disclosures ol > li > a:active, #section-disclosures ol > li > a:focus {
		color: var(--bs-light);
		text-decoration: underline;
		text-underline-offset: 0.125em;
}
#section-disclosures .disclosure-item {
		font-size: 0.75rem;
		line-height: 1.5;
}