/* Download free dialog */
.spc-free {
	width: min(440px, calc(100vw - 32px));
	padding: 2rem 1.75rem 1.5rem;
	border: 1px solid #d6e6f4;
	border-radius: 20px;
	background: #fff;
	color: #12355b;
	box-shadow: 0 30px 80px rgba(11, 34, 54, 0.28);
	font-size: 1rem;
}

.spc-free::backdrop {
	background: rgba(11, 34, 54, 0.55);
}

.spc-free-x {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #5b6b7f;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.spc-free-x:hover,
.spc-free-x:focus-visible {
	background: #eef5fb;
	color: #12355b;
}

.spc-free-kicker {
	margin: 0 0 0.35rem;
	color: #0f766e;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.spc-free h2 {
	margin: 0 2rem 0.5rem 0;
	font-size: 1.5rem;
	line-height: 1.2;
}

.spc-free-lead {
	margin: 0 0 1.25rem;
	color: #5b6b7f;
}

.spc-free-form label[for] {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.spc-free-form input[type="email"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 0 1rem;
	border: 1px solid #c4d6e6;
	border-radius: 12px;
	font-size: 1rem;
}

.spc-free-form input[type="email"]:focus-visible {
	border-color: #0f766e;
	outline: 3px solid rgba(15, 118, 110, 0.25);
	outline-offset: 1px;
}

.spc-free-form input[aria-invalid="true"] {
	border-color: #c0392b;
}

.spc-free-hp {
	position: absolute;
	left: -9999px;
}

.spc-free-check {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	margin: 0.9rem 0 0;
	color: #5b6b7f;
	font-size: 0.9375rem;
}

.spc-free-check input {
	width: 18px;
	height: 18px;
	accent-color: #0f766e;
}

.spc-free-note {
	min-height: 1.25rem;
	margin: 0.6rem 0;
	font-size: 0.9375rem;
}

.spc-free-note.is-error {
	color: #c0392b;
}

.spc-free-go {
	width: 100%;
	min-height: 52px;
	justify-content: center;
	border: 0;
	font-size: 1.0625rem;
	cursor: pointer;
}

.spc-free-go:disabled {
	opacity: 0.7;
	cursor: progress;
}

.spc-free-small {
	margin: 0.9rem 0 0;
	color: #5b6b7f;
	font-size: 0.8125rem;
	text-align: center;
}

.spc-free-small a,
.spc-free-again a {
	color: #0f766e;
}

.spc-free-steps {
	margin: 0.75rem 0 1rem;
	padding-left: 1.25rem;
	color: #34495e;
	line-height: 1.6;
}

.spc-free-again {
	margin: 0;
	font-size: 0.9375rem;
}
