
.ra-head {
	padding: 80px 0;
}

.ra-head .ra-panel {
	align-items: center;
	border-radius: 24px;
	display: flex;
	justify-content: center;
	min-height: 359px;
	overflow: hidden;
	position: relative;
}

.ra-head .ra-field {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.ra-head .ra-panel-copy {
	align-items: center;
	color: var(--cy-text-on-dark);
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 100%;
	padding: 48px 24px;
	position: relative;
	text-align: center;
	width: 900px;
	z-index: 1;
}

.ra-head .ra-panel-copy .cy-eyebrow {
	color: inherit;
}

.ra-head h1 {
	color: inherit;
	font: var(--cy-display-md);
	font-size: var(--cy-type-display-md-size);
	line-height: var(--cy-type-display-md-line);
	margin: 0;
}

.ra-head .ra-lede {
	color: inherit;
	font-size: var(--cy-type-body-lg-size);
	line-height: var(--cy-type-body-lg-line);
	margin: 0;
	max-width: 632px;
}

@media (max-width: 1080px) {
	.ra-head {
		padding: 48px 0;
	}
	
	.ra-head .ra-panel {
		min-height: 0;
	}
	
	.ra-head .ra-panel-copy {
		padding: 40px 24px;
	}
}

@media (max-width: 720px) {
	.ra-head {
		padding: 32px 0;
	}
	
	.ra-head .ra-panel {
		border-radius: 16px;
	}
	
	.ra-head .ra-panel-copy {
		gap: 12px;
		padding: 32px 20px;
	}
}

.cy-cygives {
	background: var(--cy-surface-page);
	font-family: var(--cy-font-body);
}

.cy-cygives, .cy-cygives *, .cy-cygives :after, .cy-cygives :before {
	box-sizing: border-box;
}

.cy-cygives h1, .cy-cygives h2, .cy-cygives p, .cy-cygives ul {
	margin: 0;
}

.cyg-head .ra-panel {
	background: var(--cy-gradient-open-diagonal);
	color: var(--cy-text-on-dark);
}

.cyg-head .ra-panel-copy.cyg-hero-head {
	align-items: center;
	gap: 36px;
	max-width: 100%;
	text-align: center;
	width: 792px;
}

.cyg-title {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 100%;
	width: 501px;
}

.cyg-lockup {
	display: block;
	height: auto;
	width: 100%;
}

.cyg-powered {
	align-items: center;
	color: inherit;
	display: flex;
	font-size: var(--cy-type-eyebrow-size);
	font-weight: 500;
	gap: 8px;
	letter-spacing: 1.2px;
	line-height: var(--cy-type-eyebrow-line);
	margin: 0;
	text-transform: uppercase;
}

.cyg-powered svg {
	display: block;
	fill: currentColor;
	height: 16px;
	width: auto;
}

.cyg-lede {
	color: inherit;
	font: var(--cy-heading-sm);
	font-size: var(--cy-type-heading-sm-size);
	line-height: var(--cy-type-heading-sm-line);
}

.cyg-tools {
	padding: 0 0 120px;
}

.cyg-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	padding: 0;
}

.cyg-card {
	background: var(--cy-surface-card);
	border-radius: 16px;
	box-shadow: inset 0 0 0 1px var(--cy-border-subtle);
	box-sizing: border-box;
	justify-content: space-between;
	margin: 0;
	min-height: 556px;
	padding: 28px;
}

.cyg-card, .cyg-card-top {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.cyg-card-head {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.cyg-icon {
	align-items: center;
	display: flex;
	flex: none;
	height: 56px;
	justify-content: center;
	width: 56px;
}

.cyg-icon img, .cyg-icon svg {
	display: block;
	height: auto;
	max-height: 100%;
	max-width: 100%;
	width: auto;
}

.cy-cygives .cyg-stars {
	align-items: center;
	color: #9f9a95;
	display: inline-flex;
	font-size: 15px;
	height: 24px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.cy-cygives .cyg-stars:focus-visible, .cy-cygives .cyg-stars:hover {
	color: var(--cy-text-secondary);
}

.cyg-stars-label {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	padding: 0 10px;
}

.cyg-stars-label img {
	display: block;
	height: 17px;
	width: 17px;
}

.cyg-stars-count {
	align-items: center;
	border-left: 1px solid var(--cy-border-strong);
	display: inline-flex;
	height: 24px;
	padding-left: 4px;
}

.cyg-card-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cyg-card-title {
	color: var(--cy-text-primary);
	font: var(--cy-heading-md);
	font-size: var(--cy-type-heading-md-size);
	line-height: var(--cy-type-heading-md-line);
}

.cyg-card-desc, .cyg-card-list {
	color: var(--cy-text-secondary);
	font: var(--cy-body-sm);
	font-size: var(--cy-type-body-sm-size);
	line-height: var(--cy-type-body-sm-line);
}

.cyg-card-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: outside;
	min-height: 130px;
	padding-left: 21px;
}

.cyg-card-list li {
	margin: 0;
}

.cyg-card-foot {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cyg-card-foot .cyg-cta {
	width: 100%;
}

.cy-cygives .cyg-learn {
	color: var(--cy-text-primary);
	font-size: var(--cy-type-label-lg-size);
	font-weight: 500;
	line-height: var(--cy-type-label-lg-line);
	text-decoration: none;
	transition: color .18s;
}

.cy-cygives .cyg-learn:focus-visible, .cy-cygives .cyg-learn:hover {
	color: var(--cy-action-link-hover);
}

.cy-cygives .cyg-learn:active {
	color: var(--cy-text-primary);
}

.cyg-split {
	overflow: hidden;
	padding: 120px 0;
}

.cyg-split, .cyg-split > .cy-col {
	position: relative;
}

.cyg-split--band {
	background: var(--cy-surface-band);
}

.cyg-glyph-host {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cyg-glyph {
	display: block;
	height: 100%;
	width: 100%;
}

.cyg-split-row {
	align-items: start;
	column-gap: 126px;
	display: grid;
	grid-template-columns: minmax(0, 384fr) minmax(0, 690fr);
}

.cyg-split-title {
	color: var(--cy-text-primary);
	font: var(--cy-heading-lg);
	font-size: var(--cy-type-heading-lg-size);
	line-height: var(--cy-type-heading-lg-line);
}

.cyg-split-body {
	color: var(--cy-text-secondary);
	display: flex;
	flex-direction: column;
	font: var(--cy-body-lg);
	font-size: var(--cy-type-body-lg-size);
	gap: 20px;
	line-height: var(--cy-type-body-lg-line);
}

@media (max-width: 1080px) {
	.cyg-tools {
		padding: 80px 0;
	}
	
	.cyg-grid.cy-carousel {
		display: flex;
		flex-wrap: nowrap;
		gap: 16px;
		margin-inline: calc(var(--cy-gutter) * -1);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		padding-inline: var(--cy-gutter);
		scroll-padding-inline: var(--cy-gutter);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	
	.cyg-grid.cy-carousel::-webkit-scrollbar {
		display: none;
	}
	
	.cyg-grid.cy-carousel > * {
		flex: 0 0 min(82vw, 360px);
		min-width: 0;
		scroll-snap-align: start;
	}
	
	.cyg-grid:not(.cy-carousel) {
		grid-template-columns: minmax(0, 588px);
		justify-content: center;
	}
	
	.cyg-card {
		min-height: 0;
	}
	
	.cyg-split {
		padding: 80px 0;
	}
	
	.cyg-split-row {
		grid-template-columns: minmax(0, 1fr);
		margin: 0 auto;
		max-width: 792px;
		row-gap: 24px;
	}
}

@media (max-width: 720px) {
	.cy-cygives .cyg-learn {
		display: inline-block;
		position: relative;
	}
	
	.cy-cygives .cyg-learn:before {
		content: "";
		inset: -13px 0;
		position: absolute;
	}
	
	.cyg-head .ra-panel-copy.cyg-hero-head {
		gap: 24px;
	}
	
	.cyg-lede {
		font-size: var(--cy-type-body-lg-size);
		line-height: var(--cy-type-body-lg-line);
	}
	
	.cyg-split, .cyg-tools {
		padding: 64px 0;
	}
	
	.cyg-card {
		padding: 24px;
	}
}
