.spg-promise {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	margin: 0.75rem 0;
	padding: 0.8rem 0.95rem 0.8rem 0.85rem;
	border: 1px solid rgba(49, 87, 213, 0.2);
	border-radius: 9px;
	background: linear-gradient(135deg, rgba(49, 87, 213, 0.07), rgba(25, 169, 116, 0.045));
	box-shadow: 0 2px 10px rgba(24, 43, 122, 0.055);
	font-size: 0.95em;
	font-weight: 500;
	line-height: 1.45;
}

.spg-promise::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: #3157d5;
}

.spg-promise__icon {
	display: grid;
	place-items: center;
	flex: 0 0 2rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 5px rgba(24, 43, 122, 0.12);
	font-size: 1.05em;
}

.spg-promise-row .spg-promise {
	margin: 0;
}

.spg-promise--blocks {
	width: 100%;
	box-sizing: border-box;
}

.spg-promise--current {
	border-color: rgba(25, 169, 116, 0.28);
	background: linear-gradient(135deg, rgba(25, 169, 116, 0.07), rgba(49, 87, 213, 0.04));
}

.spg-order-promise {
	margin-block: 1.5rem;
}

.spg-order-promise h2 {
	margin-bottom: 0.55rem;
}

.spg-assistant {
	box-sizing: border-box;
	max-width: 42rem;
	margin: 1.5rem 0;
	padding: 1.25rem;
	border: 1px solid rgba(49, 87, 213, 0.2);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(24, 43, 122, 0.07);
}

.spg-assistant h2 {
	margin: 0 0 0.45rem;
}

.spg-assistant__form {
	display: grid;
	gap: 0.8rem;
	margin-top: 1rem;
}

.spg-assistant__form label {
	display: grid;
	gap: 0.3rem;
	font-weight: 600;
}

.spg-assistant__form textarea,
.spg-assistant__form input {
	box-sizing: border-box;
	width: 100%;
	padding: 0.65rem 0.7rem;
	border: 1px solid #c9d0df;
	border-radius: 6px;
	font: inherit;
}

.spg-assistant__form button {
	justify-self: start;
	padding: 0.65rem 1rem;
	border: 0;
	border-radius: 6px;
	background: #3157d5;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
}

.spg-assistant__answer {
	min-height: 1.5rem;
	margin-top: 1rem;
	padding: 0.75rem;
	border-radius: 6px;
	background: rgba(49, 87, 213, 0.06);
	line-height: 1.5;
}

.spg-assistant > small {
	display: block;
	margin-top: 0.75rem;
	color: #5e6878;
}

.spg-support-handoff {
	display: grid;
	gap: 0.65rem;
	margin: 1rem 0;
	padding: 0.9rem 1rem;
	border: 1px solid rgba(25, 169, 116, 0.25);
	border-radius: 8px;
	background: rgba(25, 169, 116, 0.06);
}

.spg-support-handoff__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

@media (prefers-contrast: more) {
	.spg-promise {
		border-color: currentColor;
		border-width: 2px;
		background: transparent;
		box-shadow: none;
	}
}
