
.cy-hero-wrap {
	height: 420vh;
	min-height: 3360px;
	position: relative;
}

.cy-hero {
	display: flex;
	flex-direction: column;
	font-family: var(--cy-font-body);
	height: max(800px, 100svh);
	isolation: isolate;
	overflow: hidden;
	padding-top: 80px;
	position: sticky;
	top: 0;
	-webkit-font-smoothing: antialiased;
}

@supports not (height: 100svh) {
	.cy-hero {
		height: max(800px, 100vh);
	}
}

.cy-panel-svg {
	height: 100%;
	inset: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.cy-panel-svg .screen {
	pointer-events: auto;
}

.cy-panel-svg.moving g[filter] {
	filter: none;
}

.cy-hero__gradient {
	background: var(--cy-grad-hero);
	inset: 0;
	position: absolute;
}

.cy-hero__grain {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-a01dcb7/cycode.com/wp-content/themes/generatepress-child/images/rebrand/hero-grain.jpg");
	background-position: 0 0;
	background-repeat: repeat;
	background-size: 800px 534px;
	mix-blend-mode: color-burn;
	opacity: .1;
}

.cy-hero__grain.nitro-lazy {
	background-image: none !important;
}

.cy-hero__glyphs, .cy-hero__grain {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cy-hero__glyphs {
	height: 100%;
	width: 100%;
}

.cy-hero__body {
	flex: 1;
	justify-content: center;
	padding-bottom: 106px;
	position: relative;
	transform-origin: 50% 42%;
	will-change: transform, opacity;
	z-index: 1;
}

.cy-hero__body, .cy-hero__copy {
	display: flex;
	flex-direction: column;
}

.cy-hero__copy {
	align-items: center;
	color: var(--cy-text-on-dark);
	gap: 24px;
	margin-inline: auto;
	text-align: center;
	width: min(792px, 100%);
}

h1.cy-display-lg {
	font: var(--cy-display-lg);
	margin: 0;
}

.cy-lede {
	font: var(--cy-body-lg);
	margin: 0;
	width: min(820px, 100%);
}

.cy-hero .cy-eyebrow {
	color: var(--cy-text-on-dark);
	font-size: 14px;
	letter-spacing: 1.3px;
	line-height: 18px;
}

.cy-hero h1.cy-display-lg {
	font: var(--cy-display-xl);
}

.cy-hero .cy-lede {
	font-size: 19px;
	line-height: 29px;
	width: min(860px, 100%);
}

.cy-capture {
	align-items: center;
	background: var(--cy-surface-raised);
	border-radius: 999px;
	box-shadow: var(--cy-elevation-rest);
	display: flex;
	gap: 8px;
	height: 64px;
	margin: 40px auto 0;
	overflow: hidden;
	padding: 8px 8px 8px 24px;
	position: relative;
	transition: box-shadow .2s;
	width: min(486px, 100%);
	z-index: 1;
}

.cy-capture input {
	appearance: none;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--cy-action-primary);
	flex: 1 0 0;
	font-family: var(--cy-font-body);
	font-size: 16px;
	font-weight: 500;
	height: auto;
	line-height: 19px;
	margin: 0;
	min-width: 0;
	outline: none;
	padding: 0;
}

.cy-capture input::placeholder {
	color: var(--cy-text-secondary);
	font-weight: 500;
}

.cy-ma-layer {
	height: 1400px;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	transform-origin: 0 0;
	visibility: hidden;
	width: 480px;
	z-index: 2;
}

.cy-ma-layer.is-placed {
	visibility: visible;
}

.ma {
	color: #1b1b2a;
	font-family: var(--cy-font-body);
	font-size: 13px;
	height: 1400px;
	line-height: 21px;
	position: relative;
	width: 480px;
	-webkit-font-smoothing: antialiased;
}

.ma-feed {
	align-items: flex-start;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	left: 0;
	padding: 20px 24px 0;
	position: absolute;
	top: 0;
	width: 480px;
}

.ma-line {
	display: flex;
	width: 100%;
}

.ma-think + .ma-line {
	margin-top: 20.9px;
}

.ma-line + .ma-chip {
	margin-top: 14px;
}

.ma-line--me {
	justify-content: flex-end;
}

.ma-bub {
	border-radius: 20px;
	box-sizing: border-box;
	max-width: 314px;
	opacity: 0;
	padding: 16px 20px;
	transform: translateY(10px) scale(.98);
	transition: opacity .3s, transform .42s cubic-bezier(.22, .72, .24, 1);
	white-space: pre-wrap;
	word-break: break-word;
}

.ma-bub--me {
	background: var(--cy-action-primary);
	color: #fff;
	transform-origin: 100% 100%;
}

.ma-bub--ai {
	background: var(--cy-surface-card);
	max-width: 380px;
	transform-origin: 0 100%;
}

.ma .ma-bub.in {
	opacity: 1;
	transform: none;
}

.ma-t.typing:after {
	animation: 1.05s step-end infinite cyMaCaret;
	background: currentColor;
	content: "";
	display: inline-block;
	height: 14px;
	margin: 0 0 -2px 2px;
	vertical-align: baseline;
	width: 1.5px;
}

.ma-think {
	align-items: center;
	display: flex;
	gap: 9px;
	margin: 24.9px 0 0;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .3s, transform .4s cubic-bezier(.22, .72, .24, 1);
}

.ma .ma-think.in {
	opacity: 1;
	transform: none;
}

.ma-avatar {
	flex: none;
}

.ma .ma-avatar svg, .ma-avatar {
	display: block;
	height: 38px;
	width: 38px;
}

.ma .ma-avatar svg {
	overflow: visible;
}

.ma-ring-bg {
	fill: #fff;
	stroke: var(--cy-border-subtle);
	stroke-width: 1.74692px;
}

.ma-ring {
	fill: none;
	stroke: var(--cy-action-primary);
	stroke-dasharray: 113.9;
	stroke-dashoffset: 113.9px;
	stroke-linecap: round;
	stroke-width: 1.74692px;
	transform: rotate(-90deg);
	transform-origin: 19px 19px;
}

.ma.loading .ma-ring {
	animation: 1.45s cubic-bezier(.45, .05, .35, 1) infinite cyMaSweep;
}

.ma.loaded .ma-ring {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset .5s ease-out;
}

.ma-hex {
	fill: none;
	stroke: var(--cy-text-muted);
	stroke-width: 1.3px;
}

.ma-spark {
	fill: var(--cy-text-muted);
}

.ma-hex--g {
	stroke: var(--cy-text-primary);
}

.ma-spark--g {
	fill: var(--cy-text-primary);
}

.ma-hex--g, .ma-spark--g {
	opacity: 0;
	transition: opacity .5s;
}

.ma.loaded .ma-hex--g, .ma.loaded .ma-spark--g {
	opacity: 1;
}

.ma-think-lbl {
	font-weight: 500;
}

.ma-think-lbl, .ms-actions {
	color: var(--cy-text-secondary);
}

.ms-logo-mark {
	fill: var(--cy-action-primary);
}

.ms-logo-word {
	fill: var(--cy-text-secondary);
}

.ms-rule {
	stroke: var(--cy-border-subtle);
}

.ma .ma-chev {
	display: block;
	fill: none;
	flex: none;
	height: 8px;
	stroke: var(--cy-text-secondary);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.4px;
	width: 12px;
}

.ma-chip {
	align-items: center;
	background: var(--cy-surface-card);
	border-radius: 12px;
	box-sizing: border-box;
	display: flex;
	font-size: 12px;
	gap: 8px;
	margin-top: 12px;
	min-height: 52px;
	min-width: 284px;
	opacity: 0;
	padding: 15px 20px 15px 16px;
	transform: translateY(14px) scale(.965);
	transform-origin: 0;
	transition: opacity .52s 60ms, transform .78s cubic-bezier(.18, .78, .26, 1);
	white-space: nowrap;
	width: auto;
}

.ma .ma-chip.in {
	opacity: 1;
	transform: none;
}

.ma-dot {
	border-radius: 50%;
	flex: none;
	height: 8px;
	width: 8px;
}

.ma-dot--warn {
	background: var(--cy-orange-500);
}

.ma-dot--info {
	background: var(--cy-blue-300);
}

.ma-chip b {
	font-weight: 600;
}

.ma-chip em {
	color: var(--cy-text-muted);
	font-style: normal;
	margin-left: 5px;
}

.ma-composer {
	background: #fff;
	border: 1px solid var(--cy-border-subtle);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(17, 15, 26, .03), 0 6px 18px rgba(17, 15, 26, .04);
	box-sizing: border-box;
	height: 117px;
	left: 24.5px;
	opacity: 0;
	position: absolute;
	top: 404px;
	transform: translateY(30px);
	transition: opacity .5s, transform .72s cubic-bezier(.2, .74, .24, 1), border-color .2s, box-shadow .2s;
	width: 431px;
}

.ma .ma-composer.in {
	opacity: 1;
	transform: none;
}

.ma-composer:focus-within {
	box-shadow: 0 1px 2px rgba(17, 15, 26, .05), 0 8px 24px rgba(17, 15, 26, .07), 0 0 0 3px rgba(13, 13, 32, .04);
}

.ma-composer .ma-input {
	appearance: none;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--cy-text-primary);
	font: inherit;
	height: auto;
	left: 20px;
	margin: 0;
	outline: 0;
	padding: 0;
	position: absolute;
	top: 15px;
	width: 391px;
}

.ma-composer .ma-input:focus {
	background: none;
	border: 0;
	box-shadow: none;
	outline: 0;
}

.ma-composer .ma-input::placeholder {
	color: var(--cy-text-muted);
}

.ma-send.sent {
	animation: .34s cubic-bezier(.3, 1.4, .5, 1) cyMaSend;
}

.ma-tools {
	bottom: 16px;
	display: flex;
	gap: 10px;
	left: 20px;
	position: absolute;
}

.ma .ma-tool {
	display: block;
	fill: none;
	flex: none;
	height: 20px;
	stroke: var(--cy-text-muted);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.4px;
	width: 20px;
}

.ma .ma-tool--hex {
	stroke-linecap: butt;
}

.ma-send {
	background: var(--cy-action-primary);
	border: 0;
	border-radius: 50%;
	bottom: 11px;
	cursor: pointer;
	display: grid;
	height: 36px;
	padding: 0;
	place-items: center;
	position: absolute;
	right: 11px;
	transition: transform .2s, opacity .2s;
	width: 36px;
}

.ma-send:hover {
	transform: translateY(-1px);
}

.ma-send:active {
	opacity: .85;
	transform: translateY(0);
}

.ma .ma-send svg {
	display: block;
	fill: none;
	height: 20px;
	stroke: #fff;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7px;
	width: 20px;
}

.screen.peek {
	cursor: pointer;
}

.screen.peek .ms {
	transition: filter .28s;
}

.screen.peek:hover .ms {
	filter: drop-shadow(0 -8px 22px rgba(4, 12, 40, .22));
}

.screen:not(.peek) {
	cursor: default;
}

.dbs {
	pointer-events: none;
}

.cy-panel-svg #nd-AI-Guardrails, .cy-panel-svg #nd-AI-Risk-Detection, .cy-panel-svg #nd-AI-governance, .cy-panel-svg #nd-AI-visibility {
	opacity: 0;
	transform: translateY(14px) scale(.94);
	transform-box: fill-box;
	transform-origin: center;
	transition: opacity .45s, transform .6s cubic-bezier(.2, .9, .25, 1.15);
}

.cy-panel-svg #nd-Line_11, .cy-panel-svg #nd-Line_13, .cy-panel-svg #nd-Line_7, .cy-panel-svg #nd-Line_9 {
	opacity: 0;
	transition: opacity .5s;
}

.cy-panel-svg #nd-Line_17, .cy-panel-svg #nd-Line_5, .cy-panel-svg #nd-Moving-data_3 {
	display: none;
}

.cy-panel-svg .dbs-art path[fill="#F4F4FF"], .cy-panel-svg .dbs-art rect[fill="#F4F4FF"] {
	fill: #fff;
	fill-opacity: .96;
}

.cy-panel-svg .dbs.popped #nd-AI-Guardrails, .cy-panel-svg .dbs.popped #nd-AI-Risk-Detection, .cy-panel-svg .dbs.popped #nd-AI-governance, .cy-panel-svg .dbs.popped #nd-AI-visibility {
	opacity: 1;
	transform: none;
}

.cy-panel-svg .dbs.popped #nd-AI-governance {
	transition-delay: .12s;
}

.cy-panel-svg .dbs.popped #nd-AI-Risk-Detection {
	transition-delay: .24s;
}

.cy-panel-svg .dbs.popped #nd-AI-Guardrails {
	transition-delay: .36s;
}

.cy-panel-svg .dbs.popped #nd-Line_11, .cy-panel-svg .dbs.popped #nd-Line_13, .cy-panel-svg .dbs.popped #nd-Line_7, .cy-panel-svg .dbs.popped #nd-Line_9 {
	opacity: 1;
	transition-delay: .3s;
}

.cy-panel-svg .dbs.popped #nd-Line_10, .cy-panel-svg .dbs.popped #nd-Line_12, .cy-panel-svg .dbs.popped #nd-Line_14, .cy-panel-svg .dbs.popped #nd-Line_8 {
	animation: 1.6s linear infinite cyDbsFlow;
}

@keyframes cyDbsFlow {
	to {
		stroke-dashoffset: -16px;
	}
}

@keyframes cyMaCaret {
	0%, 55% {
		opacity: 1;
	}
	
	56%, to {
		opacity: 0;
	}
}

@keyframes cyMaSweep {
	0% {
		stroke-dashoffset: 113.9px;
	}
	
	60% {
		stroke-dashoffset: 16px;
	}
	
	to {
		stroke-dashoffset: -113.9px;
	}
}

@keyframes cyMaSend {
	0% {
		transform: scale(1);
	}
	
	40% {
		transform: scale(.86);
	}
	
	to {
		transform: scale(1);
	}
}

@media (max-width: 1080px) {
	.cy-hero-wrap {
		height: auto;
		min-height: 0;
	}
	
	.cy-hero {
		height: max(720px, 100svh);
		position: relative;
	}
	
	.cy-ma-layer, .cy-panel-svg {
		display: none;
	}
	
	.cy-hero__body {
		padding-bottom: 88px;
	}
}

@media (max-width: 720px) {
	.cy-hero {
		height: 100svh;
		min-height: 620px;
	}
	
	.cy-hero__body {
		padding-bottom: 56px;
		padding-inline: 20px;
	}
	
	.cy-hero .cy-eyebrow {
		font-size: 11px;
		letter-spacing: 1px;
	}
	
	.cy-hero h1.cy-display-lg {
		font-size: 44px;
		letter-spacing: -.5px;
		line-height: 46px;
	}
	
	.cy-hero .cy-lede {
		font-size: 16px;
		line-height: 24px;
	}
	
	.cy-hero .cy-lede br {
		display: none;
	}
	
	.cy-capture {
		align-items: stretch;
		background: var(--cy-surface-raised);
		border-radius: 18px;
		flex-direction: column;
		gap: 5px;
		height: auto;
		max-width: 420px;
		padding: 5px;
		width: 100%;
	}
	
	.cy-capture input {
		background: var(--cy-surface-band);
		border-radius: 13px;
		flex: none;
		font-size: 15px;
		height: 42px;
		padding: 0 14px;
	}
	
	.cy-capture .cy-btn-primary {
		font-size: 15px;
		height: 42px;
		justify-content: center;
		width: 100%;
	}
	
	.cy-btn-primary {
		font-size: 14px;
		height: 40px;
		padding-inline: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cy-btn-primary {
		transition: none;
	}
	
	.ma-bub, .ma-chip, .ma-think {
		opacity: 1;
		transform: none;
		transition: none;
	}
	
	.ma-ring {
		stroke-dashoffset: 0;
	}
	
	.ma-ring, .ma-t.typing:after {
		animation: none;
	}
	
	.screen.peek:hover .ms {
		filter: none;
	}
	
	.cy-panel-svg .dbs [id^="nd-"] {
		transition: none !important;
	}
	
	.cy-panel-svg .dbs [id^="nd-Line_"] {
		animation: none !important;
	}
}

.cy-capture:focus-within {
	box-shadow: 0 0 0 2px var(--cy-surface-raised), 0 0 0 4px var(--cy-action-primary);
}
