
.cy-shead {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 48px;
}

.cy-shead .shead-eyebrow {
	color: var(--cy-text-secondary);
}

.cy-shead .shead-eyebrow--muted {
	color: var(--cy-text-muted);
}

.cy-shead .shead-row {
	align-items: center;
	display: flex;
	gap: 24px;
}

.cy-shead .shead-title {
	color: var(--cy-text-primary);
	flex: 1 1 0;
	font: var(--cy-display-sm);
	margin: 0;
	min-width: 0;
}

.cy-shead .shead-copy {
	color: var(--cy-text-secondary);
	flex: none;
	font: var(--cy-body-md);
	margin: 0;
	max-width: 49%;
	width: 588px;
}

.cy-shead.cy-shead--stacked .shead-row {
	align-items: flex-start;
	flex-direction: column;
	gap: 12px;
}

.cy-shead.cy-shead--stacked .shead-copy {
	max-width: none;
	width: 100%;
}

.cy-shead.cy-shead--cta .shead-row {
	align-items: center;
	column-gap: 24px;
	display: grid;
	grid-template-areas: "title cta" "copy cta";
	grid-template-columns: minmax(0, 1fr) auto;
	row-gap: 16px;
}

.cy-shead.cy-shead--cta .shead-title {
	grid-area: title;
}

.cy-shead.cy-shead--cta .shead-copy {
	font: var(--cy-body-lg);
	grid-area: copy;
	max-width: none;
	width: 100%;
}

.cy-shead.cy-shead--cta .shead-cta {
	align-self: center;
	grid-area: cta;
}

.cy-shead.cy-shead--left {
	gap: 16px;
	max-width: 588px;
}

.cy-shead.cy-shead--left .shead-row {
	align-items: flex-start;
	flex-direction: column;
	gap: 16px;
}

.cy-shead.cy-shead--left .shead-copy {
	max-width: 100%;
	width: 486px;
}

.cy-shead.cy-shead--column .shead-row {
	align-items: flex-start;
	justify-content: space-between;
}

.cy-shead.cy-shead--column .shead-main {
	display: flex;
	flex: 0 588px;
	flex-direction: column;
	gap: 12px;
	min-height: 84px;
	min-width: 0;
}

.cy-shead.cy-shead--center {
	text-align: center;
}

.cy-shead.cy-shead--center, .cy-shead.cy-shead--center .shead-row {
	align-items: center;
	gap: 16px;
}

.cy-shead.cy-shead--center .shead-copy {
	font: var(--cy-body-lg);
}

@media (max-width: 1080px) {
	.cy-shead {
		margin-bottom: 40px;
	}
	
	.cy-shead .shead-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}
	
	.cy-shead .shead-copy {
		max-width: none;
		width: 100%;
	}
	
	.cy-shead.cy-shead--column .shead-main {
		flex-basis: auto;
		min-height: 0;
	}
	
	.cy-shead.cy-shead--cta .shead-row {
		grid-template-areas: "title" "copy" "cta";
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 720px) {
	.cy-shead {
		margin-bottom: 32px;
	}
	
	.cy-shead .shead-cta {
		height: auto;
		justify-content: center;
		min-height: 48px;
		padding-block: 12px;
		text-align: center;
		white-space: normal;
		width: 100%;
	}
}

.cy-solution-cards {
	background: var(--cy-surface-page);
	font-family: var(--cy-font-body);
	padding: 120px 0 80px;
}

.cy-solution-cards .sv-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 56px 0 0;
	padding: 0;
}

.cy-solution-cards .sv-grid > li {
	display: flex;
	margin: 0;
}

.cy-solution-cards .sv-card {
	background: var(--cy-surface-band);
	border: 1px solid var(--cy-border-subtle);
	border-radius: 14px;
	color: var(--cy-text-primary);
	display: flex;
	flex: auto;
	flex-direction: column;
	padding: 33px;
	transition: translate .35s cubic-bezier(.22, .61, .36, 1);
	translate: 0;
}

.cy-solution-cards .sv-card:hover {
	translate: 0 -4px;
}

.cy-solution-cards .sv-visual {
	--sv-k: 1;
	aspect-ratio: 318/250;
	border-radius: 12px;
	margin-bottom: 28px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.cy-solution-cards .sv-box {
	height: 250px;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(var(--sv-k));
	transform-origin: 0 0;
	width: 318px;
}

.cy-solution-cards .sv-title {
	color: var(--cy-text-primary);
	font: var(--cy-heading-md);
	margin: 0;
}

.cy-solution-cards .sv-text {
	color: var(--cy-text-secondary);
	font: var(--cy-body-md);
	margin: 6px 0 0;
}

.cy-solution-cards .sv-tile {
	border-radius: 50%;
	height: 54px;
	left: var(--x);
	position: absolute;
	top: var(--y);
	transform-origin: center;
	width: 54px;
}

.cy-solution-cards .sv-tile--ghost {
	background: rgba(235, 233, 229, .4);
	box-shadow: inset 0 0 0 1px var(--cy-border-strong);
}

.cy-solution-cards .sv-tile--hs {
	background: var(--cy-surface-card);
	box-shadow: inset 0 0 0 .2px var(--cy-border-subtle), 0 .8px 2px rgba(26, 23, 23, .12);
	overflow: hidden;
}

.cy-solution-cards .sv-tile--hs img {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.cy-solution-cards .sv-tile--logo {
	align-items: center;
	background: none;
	border-radius: 50%;
	display: flex;
	height: 84.8px;
	justify-content: center;
	padding: 15px;
	width: 84.8px;
}

.cy-solution-cards .sv-tile--logo:before {
	background: #1a1918;
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--cy-border-subtle), 0 8px 20px rgba(26, 23, 23, .22);
	content: "";
	inset: 15px;
	position: absolute;
}

.cy-solution-cards .sv-tile--logo svg {
	color: #fff;
	height: 24px;
	position: relative;
	width: 24px;
}

.cy-solution-cards .sv-chip {
	align-items: center;
	background: var(--cy-surface-raised);
	border: 1px solid var(--cy-border-subtle);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(48, 46, 43, .08);
	display: flex;
	gap: 12px;
	position: absolute;
}

.cy-solution-cards .sv-device {
	height: 70px;
	left: 24px;
	padding: 0 14px;
	top: 18px;
	width: 212px;
}

.cy-solution-cards .sv-toast {
	height: 61px;
	left: 64px;
	padding: 0 14px;
	top: 97px;
	width: 225px;
}

.cy-solution-cards .sv-ai {
	height: 61px;
	left: 36px;
	padding: 0 14px;
	top: 168px;
	width: 211px;
}

.cy-solution-cards .sv-avatar {
	background: var(--cy-surface-card);
	border-radius: 50%;
	flex: none;
	height: 44px;
	position: relative;
	width: 44px;
}

.cy-solution-cards .sv-avatar img {
	border-radius: 50%;
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.cy-solution-cards .sv-badge {
	bottom: -2px;
	height: 18px;
	position: absolute;
	right: -2px;
	width: 18px;
}

.cy-solution-cards .sv-badge svg {
	display: block;
	height: 100%;
	width: 100%;
}

.cy-solution-cards .sv-dot {
	background: #5a9a72;
	border-radius: 50%;
	flex: none;
	height: 8px;
	margin-right: 0;
	width: 8px;
}

.cy-solution-cards .sv-chat {
	flex: none;
	height: 21.6px;
	width: 21.6px;
}

.cy-solution-cards .sv-chat svg {
	display: block;
	height: 100%;
	width: 100%;
}

.cy-solution-cards .sv-chip-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cy-solution-cards .sv-chip-text strong {
	color: var(--cy-text-primary);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
	white-space: nowrap;
}

.cy-solution-cards .sv-chip-text span {
	color: var(--cy-text-secondary);
	font-size: 12px;
	line-height: 1.25;
	white-space: nowrap;
}

.cy-solution-cards .sv-row {
	align-items: center;
	background: var(--cy-surface-raised);
	border: 1px solid var(--cy-border-subtle);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(48, 46, 43, .08);
	display: flex;
	gap: 10px;
	height: 66px;
	left: 7px;
	padding: 0 13px;
	position: absolute;
	top: var(--y);
	width: 304px;
}

.cy-solution-cards .sv-app {
	align-items: center;
	background: var(--cy-surface-band);
	border: 1px solid var(--cy-border-subtle);
	border-radius: 10.5px;
	color: var(--cy-text-secondary);
	display: inline-flex;
	flex: none;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.cy-solution-cards .sv-app img, .cy-solution-cards .sv-app svg {
	display: block;
	height: 18px;
	width: 18px;
}

.cy-solution-cards .sv-row .sv-chip-text {
	flex: auto;
}

.cy-solution-cards .sv-pill {
	align-items: center;
	background: var(--cy-surface-band);
	border-radius: var(--cy-radius-pill);
	color: var(--cy-text-primary);
	display: inline-flex;
	flex: none;
	font-size: 10px;
	font-weight: 500;
	gap: 6px;
	height: 23px;
	letter-spacing: .6px;
	line-height: 1;
	padding: 0 10px;
	text-transform: uppercase;
	transform-origin: center;
	white-space: nowrap;
}

.cy-solution-cards .sv-pill i {
	background: #5a9a72;
	border-radius: 50%;
	height: 6px;
	width: 6px;
}

.cy-solution-cards .sv-pill--off i {
	background: #d2483a;
}

@media (prefers-reduced-motion: reduce) {
	.cy-solution-cards .sv-card {
		transition: none;
	}
}

@media (max-width: 1080px) {
	.cy-solution-cards {
		padding: 64px 0;
	}
	
	.cy-solution-cards .sv-grid {
		margin-top: 40px;
	}
	
	.cy-solution-cards .sv-card {
		padding: 24px;
	}
	
	.cy-solution-cards .sv-visual {
		margin-bottom: 20px;
	}
}

@media (max-width: 720px) {
	.cy-solution-cards {
		padding: 48px 0;
	}
	
	.cy-solution-cards .sv-grid {
		margin-top: 24px;
	}
	
	.cy-solution-cards .sv-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;
	}
	
	.cy-solution-cards .sv-grid.cy-carousel::-webkit-scrollbar {
		display: none;
	}
	
	.cy-solution-cards .sv-grid.cy-carousel > * {
		flex: 0 0 min(82vw, 360px);
		min-width: 0;
		scroll-snap-align: start;
	}
}
