
.fc-form .hs-form fieldset {
	max-width: none;
}

.fc-form .hs-form-field {
	margin: 0 0 12px;
}

.fc-form .hs-form-field > label {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0 0 0 0);
	border: 0;
	white-space: nowrap;
}

.fc-form .hs-input:not([type="checkbox"]):not([type="radio"]) {
	background: var(--cy-surface-band);
	border: 1px solid var(--cy-border-subtle);
	border-radius: var(--cy-radius-pill);
	box-shadow: none;
	color: var(--cy-text-primary);
	font: var(--cy-label-lg);
	font-size: var(--cy-type-label-lg-size);
	height: 56px;
	line-height: var(--cy-type-label-lg-line);
	padding: 0 24px;
	transition: background-color .2s, border-color .2s, box-shadow .2s;
	width: 100%;
}

.fc-form .hs-input:not([type="checkbox"]):not([type="radio"])::placeholder {
	color: var(--cy-text-muted);
}

.fc-form .hs-input:not([type="checkbox"]):not([type="radio"]):focus {
	background: var(--cy-surface-raised);
	border-color: var(--cy-border-strong);
	box-shadow: 0 0 0 2px var(--cy-surface-raised), 0 0 0 4px var(--cy-action-primary);
	outline: 2px solid rgba(0, 0, 0, 0);
	outline-offset: 2px;
}

.fc-form .hs-input:not([type="checkbox"]):not([type="radio"]):is(textarea) {
	border-radius: var(--cy-radius-md);
	height: auto;
	min-height: 96px;
	padding: 16px 24px;
}

.fc-form .hbspt-form .hs-button {
	align-items: center;
	background: var(--cy-action-primary);
	border: 0;
	border-radius: var(--cy-radius-pill);
	box-shadow: var(--cy-shadow-btn-rest);
	color: var(--cy-action-on-primary);
	cursor: pointer;
	display: flex;
	font: var(--cy-label-lg);
	font-size: var(--cy-type-label-lg-size);
	height: 48px;
	justify-content: center;
	margin-top: 12px;
	padding: 0 24px;
	transform: scale(1);
	transition: transform .28s var(--cy-ease-spring), box-shadow .2s ease, background-color .2s ease;
	width: 100%;
}

.fc-form .hbspt-form .hs-button:focus, .fc-form .hbspt-form .hs-button:hover {
	background: var(--cy-action-primary-hover);
	box-shadow: var(--cy-shadow-btn-hover);
	color: var(--cy-action-on-primary);
	outline: none;
}

.fc-form .hbspt-form .hs-button:active {
	background: var(--cy-action-primary-active);
	box-shadow: var(--cy-shadow-btn-press);
	transform: scale(.96);
	transition-duration: 90ms;
}

.fc-form .hs-error-msgs {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
}

.fc-form .hs-error-msgs label {
	height: auto;
	position: static;
	width: auto;
	clip: auto;
	color: #b3261e;
	font-size: var(--cy-type-caption-size);
	line-height: var(--cy-type-caption-line);
}

.fc-form .hs-form-booleancheckbox label, .fc-form .legal-consent-container {
	color: var(--cy-text-muted);
	font-size: var(--cy-type-caption-size);
	line-height: var(--cy-type-caption-line);
}

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

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

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

.cc-section {
	padding: 120px 0;
}

.cc-split {
	align-items: start;
	column-gap: 126px;
	display: grid;
	grid-template-columns: minmax(0, 588fr) minmax(0, 486fr);
}

.cc-links {
	gap: 40px;
	min-width: 0;
}

.cc-head, .cc-links {
	display: flex;
	flex-direction: column;
}

.cc-head {
	gap: 16px;
}

.cy-contact .cc-form-title, .cy-contact .cc-title {
	color: var(--cy-text-primary);
	font: var(--cy-display-sm);
	font-size: var(--cy-type-display-sm-size);
	font-weight: 400;
	line-height: var(--cy-type-display-sm-line);
}

.cy-contact .cc-grid {
	display: grid;
	gap: 32px 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	padding: 0;
}

.cy-contact .cc-grid li {
	margin: 0;
}

.cy-contact .cc-grid li:nth-child(6n+1) .cc-card:before {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-8143743/cycode.com/wp-content/themes/generatepress-child/images/rebrand/contact/card-hover-1.webp");
}

.cy-contact .cc-grid li:nth-child(6n+2) .cc-card:before {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-8143743/cycode.com/wp-content/themes/generatepress-child/images/rebrand/contact/card-hover-2.webp");
}

.cy-contact .cc-grid li:nth-child(6n+3) .cc-card:before {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-8143743/cycode.com/wp-content/themes/generatepress-child/images/rebrand/contact/card-hover-3.webp");
}

.cy-contact .cc-grid li:nth-child(6n+4) .cc-card:before {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-8143743/cycode.com/wp-content/themes/generatepress-child/images/rebrand/contact/card-hover-4.webp");
}

.cy-contact .cc-grid li:nth-child(6n+5) .cc-card:before {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-8143743/cycode.com/wp-content/themes/generatepress-child/images/rebrand/contact/card-hover-5.webp");
}

.cy-contact .cc-grid li:nth-child(6n+6) .cc-card:before {
	background-image: url("https://cdn-ilfagpm.nitrocdn.com/BrKObTBTqIMWgdXVvosBVjZBnRXzzZkM/assets/images/optimized/rev-8143743/cycode.com/wp-content/themes/generatepress-child/images/rebrand/contact/card-hover-6.webp");
}

.cy-contact .cc-card {
	background: var(--cy-surface-band);
	border-radius: var(--cy-radius-md);
	box-shadow: inset 0 0 0 1px var(--cy-border-subtle);
	color: var(--cy-text-primary);
	display: flex;
	flex-direction: column;
	gap: 40px;
	height: 100%;
	isolation: isolate;
	justify-content: flex-start;
	min-height: 174px;
	overflow: hidden;
	padding: 24px;
	position: relative;
	text-decoration: none;
}

.cy-contact .cc-card:before {
	background: 50%/cover no-repeat;
	border-radius: inherit;
	content: "";
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity .25s;
	z-index: -1;
}

.cy-contact .cc-card .cc-card-text, .cy-contact .cc-card .cc-card-title {
	transition: color .25s;
}

.cy-contact .cc-card:focus-visible, .cy-contact .cc-card:hover {
	color: var(--cy-text-on-dark);
}

.cy-contact .cc-card:focus-visible:before, .cy-contact .cc-card:hover:before {
	opacity: 1;
}

.cy-contact .cc-card:focus-visible .cc-card-text, .cy-contact .cc-card:focus-visible .cc-card-title, .cy-contact .cc-card:hover .cc-card-text, .cy-contact .cc-card:hover .cc-card-title {
	color: var(--cy-text-on-dark);
}

.cy-contact .cc-card:focus-visible {
	outline: 2px solid var(--cy-text-primary);
	outline-offset: 2px;
}

.cc-row {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.cy-contact .cc-card-title {
	color: var(--cy-text-primary);
	flex: 1 0 0;
	font: var(--cy-label-lg);
	font-size: var(--cy-type-label-lg-size);
	line-height: var(--cy-type-label-lg-line);
	min-width: 0;
}

.cc-action {
	background: var(--cy-action-inverse);
	border: 1px solid var(--cy-border-subtle);
	border-radius: var(--cy-radius-pill);
	box-shadow: 0 0 .5px rgba(0, 0, 0, .03);
	display: grid;
	flex: none;
	height: 44px;
	place-items: center;
	width: 44px;
}

.cc-action .cc-glyph {
	display: block;
}

.cy-contact .cc-card-text {
	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);
	max-width: 215px;
	text-wrap: pretty;
}

.cy-contact-card {
	background: var(--cy-surface-raised);
	border-radius: var(--cy-radius-md);
	box-shadow: inset 0 0 0 1px var(--cy-border-subtle);
	gap: 28px;
	min-width: 0;
	padding: 40px;
}

.cc-card-head, .cy-contact-card {
	display: flex;
	flex-direction: column;
}

.cc-card-head {
	box-shadow: inset 0 -1px 0 var(--cy-border-subtle);
	gap: 12px;
	padding-bottom: 20px;
}

.cy-contact .cc-form-text {
	color: var(--cy-text-secondary);
	font: var(--cy-body-md);
	font-size: var(--cy-type-body-md-size);
	line-height: var(--cy-type-body-md-line);
}

.cy-contact .cc-consent {
	color: var(--cy-text-muted);
	font-size: var(--cy-type-caption-size);
	line-height: var(--cy-type-caption-line);
}

.cy-contact .cc-consent a {
	color: inherit;
	text-decoration: underline;
}

.cy-contact .cc-form .hs-form fieldset.form-columns-2 {
	display: flex;
	gap: 12px;
}

.cy-contact .cc-form .hs-form fieldset.form-columns-2:after, .cy-contact .cc-form .hs-form fieldset.form-columns-2:before {
	content: none;
}

.cy-contact .cc-form .hs-form fieldset.form-columns-2 .hs-form-field {
	flex: 1 1 0;
	float: none;
	min-width: 0;
	width: auto;
}

.cy-contact .cc-form .hs-form fieldset.form-columns-2 .hs-form-field .hs-input {
	width: 100%;
}

.cy-contact .cc-form .hs-form fieldset .input {
	margin-right: 0;
}

.cy-contact .cc-form .hs-form textarea.hs-input {
	height: 112px;
	min-height: 112px;
	resize: none;
}

.cy-contact .cc-form .hbspt-form form .hs-button {
	margin-top: 16px;
	width: 100%;
}

@media (min-width: 1296px) {
	.cc-split {
		grid-template-columns: 588px 486px;
	}
	
	.cy-contact .cc-grid {
		grid-template-columns: repeat(2, 282px);
	}
}

@media (max-width: 1080px) {
	.cc-section {
		padding: 80px 0;
	}
	
	.cc-split {
		grid-template-columns: minmax(0, 1fr);
		margin: 0 auto;
		max-width: 792px;
		row-gap: 48px;
	}
	
	.cy-contact-card {
		order: -1;
	}
}

@media (max-width: 720px) {
	.cc-section {
		padding: 64px 0;
	}
	
	.cy-contact .cc-grid {
		gap: 16px;
		grid-template-columns: minmax(0, 1fr);
	}
	
	.cy-contact .cc-card {
		gap: 16px;
		min-height: 0;
	}
	
	.cy-contact-card {
		padding: 24px;
	}
	
	.cy-contact .cc-form .hs-form fieldset.form-columns-2 {
		flex-direction: column;
		gap: 0;
	}
}
