/*
 * La casa: griglia di voci con foto, la prima a tutta larghezza, e la striscia
 * dei numeri che chiude la fascia. Regole della sezione #casa del prototipo.
 */

.cn-casa {
	display: grid;
	gap: clamp(0.9rem, 2vw, 1.5rem);
	grid-template-columns: repeat(2, 1fr);
}

.cn-casa__voce {
	margin: 0;
	background-color: var(--cn-superficie);
	border: var(--cn-filetto) solid var(--cn-bordo);
	overflow: hidden;
	isolation: isolate;
}

.cn-casa__voce--larga {
	grid-column: 1 / -1;
}

/* Due classi e non una: Elementor stampa `.elementor img { height: auto }`,
   che con una classe sola vincerebbe e rimetterebbe l'immagine sulle sue
   proporzioni originali. */
.cn-casa .cn-casa__voce img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	transition: transform 900ms var(--cn-ease);
}

@media (hover: hover) {
	.cn-casa .cn-casa__voce:hover img {
		transform: scale(1.04);
	}
}

.cn-casa .cn-casa__voce--larga img {
	aspect-ratio: 16 / 7;
}

/* Opaco e sopra la foto: lo zoom all'hover non gli passa davanti. */
.cn-casa__corpo {
	position: relative;
	background-color: var(--cn-superficie);
	padding: clamp(1.2rem, 2.4vw, 2rem);
}

.cn-casa__corpo h3 {
	font-size: var(--cn-titolo-voce);
	margin-bottom: 0.4rem;
}

.cn-casa__corpo p {
	color: var(--cn-inchiostro-tenue);
	font-size: var(--cn-corpo-piccolo);
	margin: 0;
	max-width: 46ch;
}

/* Striscia dei numeri: rompe la griglia e chiude la sezione. */
.cn-fatti {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: clamp(1.4rem, 3vw, 2.5rem);
	margin: clamp(2.6rem, 5vw, 4rem) 0 0;
	padding: clamp(2rem, 4vw, 3rem) 0 0;
	list-style: none;
	border-top: var(--cn-filetto) solid var(--cn-bordo);
	text-align: center;
	font-size: var(--cn-etichetta);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cn-inchiostro-tenue);
}

.cn-fatti span {
	display: block;
	font-family: var(--cn-font-display);
	font-size: var(--cn-cifra);
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--cn-accento);
	margin-bottom: 0.35rem;
}

@media (max-width: 52rem) {
	.cn-casa {
		grid-template-columns: 1fr;
	}

	.cn-casa .cn-casa__voce--larga img {
		aspect-ratio: 4 / 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cn-casa .cn-casa__voce:hover img {
		transform: none;
	}
}
