.cscf-wrap {
	--cscf-navy: #19427A;
	--cscf-navy-dark: #19427A;
	--cscf-orange: #bd3c27;
	--cscf-orange-dark: #9d4322;
	--cscf-white: #fff;
	color: var(--cscf-white);
	font-family: inherit;
	margin: 0 auto;
	max-width: 760px;
}

.cscf-wrap *,
.cscf-wrap *::before,
.cscf-wrap *::after {
	box-sizing: border-box;
}

.cscf-form {
	background: var(--cscf-navy);
	border-radius: 30px;
	box-shadow: 0 8px 18px rgb(19 37 69 / 24%);
	color: var(--cscf-white);
	padding: clamp(24px, 4vw, 38px);
}

.cscf-intro {
	border-bottom: 1px solid rgb(255 255 255 / 24%);
	margin: 0 0 24px;
	padding: 0 0 20px;
}

.cscf-intro h2 {
	color: var(--cscf-white);
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(24px, 3.5vw, 34px);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 8px;
	padding: 0;
}

.cscf-intro p {
	color: var(--cscf-white);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.cscf-intro a,
.cscf-consent a {
	color: #d9e7ff;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.cscf-intro a:hover,
.cscf-intro a:focus,
.cscf-consent a:hover,
.cscf-consent a:focus {
	color: var(--cscf-white);
}

.cscf-grid {
	display: grid;
	gap: 18px 14px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.cscf-field--full {
	grid-column: span 6;
}

.cscf-field--half {
	grid-column: span 3;
}

.cscf-field--third {
	grid-column: span 2;
}

.cscf-field label {
	color: var(--cscf-white);
	display: block;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 7px;
}

.cscf-field label em {
	font-size: 12px;
	font-weight: 400;
}

.cscf-field input,
.cscf-field select {
	-webkit-appearance: none;
	appearance: none;
	background: var(--cscf-white);
	border: 2px solid transparent;
	border-radius: 999px;
	box-shadow: none;
	color: #26354e;
	display: block;
	font-family: inherit;
	font-size: 16px;
	height: 48px;
	line-height: 1.2;
	margin: 0;
	max-width: none;
	outline: none;
	padding: 10px 16px;
	width: 100%;
}

.cscf-field select {
	background-image:
		linear-gradient(45deg, transparent 50%, #42506a 50%),
		linear-gradient(135deg, #42506a 50%, transparent 50%);
	background-position:
		calc(100% - 19px) 20px,
		calc(100% - 14px) 20px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 38px;
}

.cscf-field input:focus,
.cscf-field select:focus {
	border-color: #c9dbff;
	box-shadow: 0 0 0 3px rgb(255 255 255 / 22%);
}

.cscf-consents {
	display: grid;
	gap: 16px;
	margin-top: 24px;
}

.cscf-consent {
	align-items: flex-start;
	color: var(--cscf-white);
	cursor: pointer;
	display: grid;
	font-family: inherit;
	gap: 11px;
	grid-template-columns: 20px 1fr;
	line-height: 1.45;
	margin: 0;
}

.cscf-consent input {
	accent-color: var(--cscf-orange);
	appearance: auto;
	height: 18px;
	margin: 3px 0 0;
	width: 18px;
}

.cscf-consent strong {
	display: block;
	font-size: 15px;
	line-height: 1.4;
	margin-bottom: 3px;
}

.cscf-consent em {
	display: block;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.55;
}

.cscf-actions {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.cscf-actions button {
	appearance: none;
	background: var(--cscf-orange);
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	color: var(--cscf-white);
	cursor: pointer;
	font-family: inherit;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
	min-height: 48px;
	padding: 13px 30px;
	text-transform: none;
	transition: background-color 160ms ease, transform 160ms ease;
}

.cscf-actions button:disabled {
	cursor: wait;
	opacity: .78;
}

.cscf-submit-progress {
	align-items: center;
	display: inline-flex;
	gap: 9px;
}

.cscf-submit-progress[hidden] {
	display: none;
}

.cscf-spinner {
	animation: cscf-spin .75s linear infinite;
	border: 2px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	border-top-color: #fff;
	display: inline-block;
	height: 15px;
	width: 15px;
}

@keyframes cscf-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.cscf-spinner { animation-duration: 1.5s; }
}

.cscf-actions button:hover,
.cscf-actions button:focus {
	background: var(--cscf-orange-dark);
	color: var(--cscf-white);
	transform: translateY(-1px);
}

.cscf-actions button:focus-visible {
	outline: 3px solid var(--cscf-white);
	outline-offset: 3px;
}

.cscf-honeypot {
	height: 1px !important;
	left: -10000px !important;
	overflow: hidden !important;
	position: absolute !important;
	top: auto !important;
	width: 1px !important;
}

.cscf-notice {
	border: 1px solid transparent;
	border-radius: 10px;
	color: #1e2c45;
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 18px;
	padding: 14px 16px;
}

.cscf-notice--success {
	background: #eaf7ef;
	border-color: #76b98c;
}

.cscf-notice--error {
	background: #fff0ed;
	border-color: #d98672;
}

@media (max-width: 680px) {
	.cscf-form {
		border-radius: 22px;
		padding: 24px 20px;
	}

	.cscf-grid {
		gap: 16px;
	}

	.cscf-field--full,
	.cscf-field--half,
	.cscf-field--third {
		grid-column: span 6;
	}

	.cscf-actions button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cscf-actions button {
		transition: none;
	}
}
