/**
 * Home — Sezione 3: Tre promesse concrete (3 col desktop, 1 col mobile).
 */

.home-promises {
	padding: clamp(3.5rem, 10vw, 6.5rem) clamp(1rem, 5vw, 4rem);
	background-color: var(--color-bg, #ffffff);
	background-image: none;
	border-top: 1px solid var(--color-border, rgba(17, 17, 17, 0.08));
}

.home-promises__inner {
	max-width: min(94vw, 76rem);
	margin: 0 auto;
}

.home-promises__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 2.75rem);
}

@media (min-width: 48rem) {
	.home-promises__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1.5rem, 3vw, 2.5rem);
		align-items: start;
	}
}

.home-promises__item {
	position: relative;
	min-width: 0;
	padding: clamp(0.25rem, 1vw, 0.5rem) 0;
}

.home-promises__number {
	position: absolute;
	top: -0.35rem;
	left: 0;
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(4.5rem, 8vw, 6.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: rgba(17, 17, 17, 0.06);
	color: color-mix(in srgb, var(--color-text, #111111) 6%, transparent);
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

.home-promises__title {
	position: relative;
	z-index: 1;
	margin: 0 0 clamp(0.85rem, 2vw, 1.1rem);
	padding-top: clamp(2.25rem, 4vw, 3rem);
	font-family: var(--font-heading);
	font-size: clamp(1.125rem, 1.1vw + 0.65rem, 1.375rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--color-text, #111111);
}

.home-promises__text {
	position: relative;
	z-index: 1;
	font-family: var(--font-body);
	font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
	line-height: 1.65;
	color: var(--color-text-muted, #555555);
	text-wrap: pretty;
}

.home-promises__text p {
	margin: 0;
}

@media (min-width: 48rem) {
	.home-promises__item:not(:last-child) {
		padding-right: clamp(0.75rem, 2vw, 1.25rem);
		border-right: 1px solid var(--color-border, rgba(17, 17, 17, 0.08));
	}

	.home-promises__item:not(:first-child) {
		padding-left: clamp(0.75rem, 2vw, 1.25rem);
	}
}

@media (max-width: 47.99rem) {
	.home-promises__item:not(:last-child) {
		padding-bottom: clamp(1.75rem, 4vw, 2.25rem);
		border-bottom: 1px solid var(--color-border, rgba(17, 17, 17, 0.08));
	}
}
