/*
 * Macchi — stili di supporto alle animazioni (macchi-motion.js)
 * Life Color — 11/10/2026 — cmd 005
 * Note: la classe ms-motion su <html> la aggiunge lo script in <head> solo con JavaScript attivo
 * e senza prefers-reduced-motion; ms-motion-ready arriva quando macchi-motion.js ha preparato la pagina.
 * Senza queste classi nulla viene nascosto o bloccato.
 */

/* Lenis gestisce lo scroll fluido: niente scroll-behavior nativo che lo contrasti. */
html.lenis {
	scroll-behavior: auto !important;
}

/* Finché lo script non ha preparato le animazioni, i blocchi ms-reveal restano invisibili
   senza cambiare l'impaginazione (visibility, non display): nessun salto di layout. */
html.ms-motion:not(.ms-motion-ready) .ms-reveal {
	visibility: hidden;
}

/* Numeri: cifre a larghezza fissa, così il conteggio non fa "ballare" il testo. */
.ms-counter {
	font-variant-numeric: tabular-nums;
}

/* Card impilate: solo da 1025 px e senza movimento ridotto. Le card devono avere uno sfondo
   e un'altezza non superiore a quella della finestra meno --ms-stack-top. Solo con finestre alte almeno 760 px. */
/* Life Color — 12/10/2026 — cmd 010 — anche altezza minima 760 px: le card della Home sono alte 643
   e devono stare nella finestra meno --ms-stack-top (6rem); sotto restano una dopo l'altra. */
@media (min-width: 1025px) and (min-height: 760px) and (prefers-reduced-motion: no-preference) {
	html.ms-motion .ms-stack > .e-con,
	html.ms-motion .ms-stack > .e-con-inner > .e-con {
		position: sticky;
		top: var(--ms-stack-top, 6rem);
	}
}
