/* Promise Section Styles — Original from static design */

.promise {
	margin-top: 0;
	background: var(--white);
}

.promise .wrap {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0;
	padding-top: 38px;
	padding-bottom: 44px;
}

.promise .pr {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	min-width: 0;
	padding: 0 clamp(18px, 2.3vw, 38px);
}

.promise .pr-icon {
	font-size: 21px;
	line-height: 1;
	color: var(--ink);
	flex: 0 0 auto;
}

.promise b {
	display: block;
	font-size: 11px;
	line-height: 1.35;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.promise span {
	display: block;
	margin-top: 5px;
	font-size: 10.5px;
	color: var(--body);
	line-height: 1.55;
}

@media (max-width: 940px) {
	.promise .wrap {
		grid-template-columns: repeat(2, 1fr);
		gap: 26px 34px;
	}

	.promise .pr {
		padding: 0;
	}
}

@media (max-width: 560px) {
	.promise {
		overflow: visible;
	}

	.promise .wrap {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		max-width: none;
		overflow: visible;
		gap: 0;
		padding: 22px 8px 24px;
	}

	.promise .pr {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		min-width: 0;
		padding: 0 5px;
		text-align: center;
	}

	.promise .pr-icon {
		font-size: 23px;
		margin-bottom: 3px;
	}

	.promise b {
		font-size: clamp(6.5px, 1.9vw, 9px);
		line-height: 1.45;
		letter-spacing: .03em;
	}

	.promise span {
		margin-top: 5px;
		font-size: clamp(6px, 1.65vw, 8px);
		line-height: 1.4;
	}
}

@media (prefers-reduced-motion: reduce) {
	.promise,
	.promise * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
