#why-crystal-hero {
		min-height: auto;
}
@media (min-width: 992px) {
		#why-crystal-hero {
				max-height: 900px;
		}
}
#why-crystal-hero .hero-background-pane::after {
		background: linear-gradient(to bottom, transparent 75%, var(--bs-primary));
}

#why-crystal-hero-histogram {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		opacity: 0.5;
}
@media (min-width: 992px) {
		#why-crystal-hero-histogram {
				width: 55%;
				left: 0;
				opacity: 1;
		}
}
@media (min-width: 1400px) {
		#why-crystal-hero-histogram {
				translate: -15vw 0%;
				width: 65%;
		}
}

@media (max-width: 767.98px) {
		.table-responsive {
				-ms-scroll-snap-type: x mandatory;
				    scroll-snap-type: x mandatory;
				-webkit-overflow-scrolling: touch;
				scrollbar-width: none;
		}
		.table-responsive::-webkit-scrollbar {
				display: none;
		}
}

.comparison-table {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: minmax(9rem, auto) 1.5rem minmax(14rem, 1.2fr) 1.5rem minmax(12rem, 1fr);
		grid-template-columns: minmax(9rem, auto) minmax(14rem, 1.2fr) minmax(12rem, 1fr);
		column-gap: 1.5rem;
		position: relative;
		min-width: 640px;
}
.comparison-table__crystal-bg {
		-ms-grid-column: 2;
		grid-column: 2;
		grid-row: 1/-1;
		border-radius: 0.75rem;
		z-index: 0;
}
.comparison-table__divider {
		-ms-grid-row-align: start;
		    align-self: start;
		height: 1px;
		z-index: 1;
}
.comparison-table__cell {
		position: relative;
		z-index: 1;
		padding: 1.125rem 1.5rem;
		font-size: 0.9375rem;
		line-height: 1.5;
		text-wrap: pretty;
}
.comparison-table__cell--label {
		font-weight: bold;
		padding-left: 0;
		color: var(--bs-light);
		text-transform: uppercase;
		letter-spacing: 0.03em;
}
.comparison-table__cell--crystal {
		font-weight: 500;
}
.comparison-table__cell--head {
		font-size: 1rem;
}
.comparison-table__cell--head p.fw-bold {
		letter-spacing: 0.08em;
}
.comparison-table__cell--head {
		padding-top: 1.75rem;
}
.comparison-table__cell--head p:first-of-type {
		font-size: 1.5rem;
}
.comparison-table__cell--head p:last-of-type {
		font-size: 1rem;
}
.comparison-table__cell--last {
		padding-bottom: 1.75rem;
}
@media (max-width: 767.98px) {
		.comparison-table {
				-ms-grid-columns: 71vw 1rem 71vw;
				grid-template-columns: 71vw 71vw;
				column-gap: 1rem;
				min-width: 0;
		}
		.comparison-table__crystal-bg {
				-ms-grid-column: 1 !important;
				grid-column: 1 !important;
				scroll-snap-align: start;
		}
		.comparison-table__mega-bg {
				-ms-grid-column: 2;
				grid-column: 2;
				grid-row: 1/-1;
				border-radius: 0.75rem;
				background: color-mix(in srgb, var(--bs-white) 8%, transparent);
				z-index: 0;
				scroll-snap-align: start;
		}
		.comparison-table__cell--label {
				display: none;
		}
		.comparison-table__cell--head:not(.comparison-table__cell--crystal):not(.comparison-table__cell--mega) {
				display: none;
		}
		.comparison-table__cell--crystal {
				-ms-grid-column: 1 !important;
				grid-column: 1 !important;
		}
		.comparison-table__cell--mega {
				-ms-grid-column: 2 !important;
				grid-column: 2 !important;
		}
		.comparison-table__cell--head {
				font-weight: 600 !important;
				font-size: 1.35rem;
				font-family: var(--ccp-heading-font-family);
		}
		.comparison-table__cell--crystal::before, .comparison-table__cell--mega::before {
				content: attr(data-label);
				display: block;
				font-size: 0.75rem;
				font-weight: 600;
				text-transform: uppercase;
				letter-spacing: 0.175em;
				opacity: 0.7;
				margin-bottom: 0.25rem;
				text-wrap: balance;
		}
		.comparison-table__cell--crystal::before {
				color: var(--bs-secondary-on-light);
		}
		.comparison-table__cell--mega::before {
				color: var(--bs-secondary-on-dark);
		}
}

.structural-advantage-box {
		display: -ms-grid;
		display: grid;
		-ms-grid-rows: auto auto 1fr;
		-ms-grid-columns: 1fr auto 1fr;
		    grid-template: [label-start] auto [content-start] auto [label-end] 1fr [content-end]/[content-start] 1fr [label-start] auto [label-end] 1fr [content-end];
		--border-stroke: 1px;
		--border-color: var(--bs-gray-100);
		--bg: var(--bs-gray-200);
		--label-color: var(--bs-primary);
		--shadow: var(--bs-box-shadow);
}
.structural-advantage-box > * {
		position: relative;
}
.structural-advantage-box .structural-advantage-box__label {
		grid-area: label;
		-ms-grid-row-align: center;
		    align-self: center;
		background-color: var(--bg);
		border: var(--border-stroke, 1px) solid var(--border-color);
		color: var(--label-color);
		padding: 0.25rem 1rem;
		border-radius: 5rem;
		z-index: 2;
}
.structural-advantage-box .structural-advantage-box__content {
		grid-area: content;
		padding: 2rem;
		border: var(--border-stroke, 1px) solid var(--border-color);
		border-radius: var(--bs-border-radius-xl);
		background: var(--bs-white);
		box-shadow: var(--shadow);
}
.structural-advantage-box--crystal {
		--border-color: var(--bs-secondary);
		--border-color: #2F9DBC;
		--border-stroke: 2px;
		--bg: rgb(var(--bs-secondary-rgb));
		--label-color: var(--bs-white);
		--shadow: 0 0.25rem 1.5rem rgba(var(--bs-secondary-rgb), 0.45);
}
.structural-advantage-box--crystal .structural-advantage-box__content {
		padding: 2rem;
		background: linear-gradient(to bottom, color-mix(in srgb, var(--bs-secondary), var(--bs-white)) var(--bs-white));
}
.sab-table {
		display: -ms-grid;
		display: grid;
		grid-template: repeat(auto-fill, [boxes-start] 5rem [boxes-end connectors-start] auto [connectors-end])/repeat(6, 1fr);
		gap: 0 0.5rem;
}
.sab-table.sab-table--crystal .funds {
		-ms-grid-column-span: 2;
		grid-column: span 2;
}
.sab-table.sab-table--crystal .sab-connectors {
		-ms-grid-column-span: 2;
		grid-column: span 2;
}
.sab-table .sab-table-row {
		-ms-grid-row-span: 1;
		grid-row: span 1;
		grid-column: 1/-1;
		display: -ms-grid;
		display: grid;
		-ms-grid-rows: subgrid;
		-ms-grid-columns: subgrid;
		    grid-template: subgrid/subgrid;
}
.sab-table .sab-box {
		display: block;
		align-content: center;
		padding: 1rem 0.5rem;
		-ms-grid-row-span: 1;
		grid-row: span 1;
		-ms-grid-column-span: 1;
		grid-column: span 1;
		border-radius: var(--bs-border-radius-lg);
}
.sab-table .sab-box--full {
		grid-column: 1/-1;
}
.sab-table .sab-box--short {
		padding-block: 0.5rem;
}
@media (max-width: 767.98px) {
		.sab-table .sab-box {
				font-size: 75%;
		}
}
.sab-table .funds {
		background-color: var(--bs-white);
		border: 1px solid var(--bs-gray-200);
}
.sab-table .sab-connectors {
		display: flex;
		align-items: stretch;
		justify-content: center;
		-ms-grid-column-span: 1;
		grid-column: span 1;
		height: 1.5rem;
}
.sab-table .sab-connectors::before {
		content: "";
		height: 100%;
		width: 2px;
		background: var(--bs-gray-400);
}
.sab-table .sab-connectors:only-child {
		grid-column: 1/-1;
}

@keyframes sa-fade-in {
		from {
				opacity: 0;
				transform: translateY(8px);
		}
		to {
				opacity: 1;
				transform: translateY(0);
		}
}
@keyframes sa-line-draw {
		to {
				stroke-dashoffset: 0;
		}
}
.sa-svg {
		width: 100%;
		height: auto;
		display: block;
}
.sa-svg .sa-fade {
		opacity: 0;
		animation: sa-fade-in 0.6s ease forwards;
		animation-play-state: paused;
}
.sa-svg .sa-line {
		fill: none;
		stroke: #C7CAD1;
		stroke-width: 2;
		stroke-dasharray: 1000;
		stroke-dashoffset: 1000;
		animation: sa-line-draw 0.7s ease forwards;
		animation-play-state: paused;
}
.sa-svg .sa-line--crystal {
		stroke: #2F9DBC;
}
.sa-svg .sa-line--trunk {
		stroke: var(--bs-primary);
		stroke-width: 3;
}
.sa-svg .sa-line--legacy {
		stroke: #C7CAD1;
}
.sa-svg .sa-line--dashed {
		stroke-dasharray: 6 4;
}
.sa-svg .sa-dot--crystal {
		fill: #2F9DBC;
}
.sa-svg .sa-dot--legacy {
		fill: #C7CAD1;
}
.sa-svg .sa-node-text {
		font: 600 0.8125rem/1 var(--bs-font-sans-serif);
}
.sa-svg .sa-pill-text {
		font: 600 0.875rem/1 var(--bs-font-sans-serif);
		fill: #fff;
}
.sa-svg .sa-doc-text {
		font: 600 0.6875rem/1 var(--bs-font-sans-serif);
		fill: #fff;
}
.sa-svg .sa-investor-text {
		font: 600 0.8125rem/1 var(--bs-font-sans-serif);
		fill: var(--bs-primary);
}
.sa-svg.is-visible .sa-fade, .sa-svg.is-visible .sa-line {
		animation-play-state: running;
}

#section-closing-cta {
		--stitch-dot-rgb: 100, 100, 100;
}