	/* ===================== VARIABILI ===================== */
	:root {
		--colore-sfondo: #1d1d1d;
		--colore-testo: #dddddd;
		--colore-accento: #c4191c;
		--colore-bianco: #ffffff;
		--colore-show: #c4191c;
	}

	/* ===================== RESET ===================== */
	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	/* ===================== BODY E SFONDO HERO ===================== */
	body {
		background-color: var(--colore-sfondo);
		color: var(--colore-bianco);
		font-size: 14px;
		font-family: "Poppins", sans-serif;
		overflow-x: hidden;
		position: relative;
	}

	/* Linee verticali stile “tech” */
	body::before {
		content: "";
		position: fixed;
		inset: 0;
		background-image: linear-gradient(90deg,
				rgba(255, 255, 255, 0.06) 1px,
				transparent 1px);
		background-size: 80px 100%;
		opacity: 0.07;
		pointer-events: none;
		z-index: -3;
	}

	/* Pattern puntinato dinamico */
	.bg-pattern {
		position: fixed;
		inset: 0;
		background-image: radial-gradient(circle, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
		background-size: 60px 60px;
		opacity: 0.08;
		pointer-events: none;
		z-index: -2;
		transition: transform 0.4s ease-out;
	}

	/* Leggero bagliore centrale per profondità */
	.bg-glow {
		position: fixed;
		inset: 0;
		background: radial-gradient(circle at 50% 10%, rgba(255, 255, 255, 0.08), transparent 55%);
		pointer-events: none;
		z-index: -1;
	}

	/* ===================== ANIMAZIONI GLOBALI ===================== */
	@keyframes fadeInUp {
		from {
			opacity: 0;
			transform: translateY(20px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@keyframes borderGlow {
		0% {
			box-shadow:
				0 0 30px rgba(0, 0, 0, 0.5),
				0 0 0 0 rgba(196, 25, 28, 0.0);
		}

		50% {
			box-shadow:
				0 0 40px rgba(0, 0, 0, 0.6),
				0 0 30px 0 rgba(196, 25, 28, 0.35);
		}

		100% {
			box-shadow:
				0 0 30px rgba(0, 0, 0, 0.5),
				0 0 0 0 rgba(196, 25, 28, 0.0);
		}
	}

	/* Slide-up testo stile d-slideup */
	.d-slideup {
		overflow: hidden;
		display: inline-block;
	}

	.d-slideup .up-text {
		display: inline-block;
		transform: translateY(100%);
		opacity: 0;
		animation: slideUpText 0.8s ease forwards;
	}

	.d-slideup.delay-1 .up-text {
		animation-delay: 0.15s;
	}

	.d-slideup.delay-2 .up-text {
		animation-delay: 0.3s;
	}

	.up-text-2 {
		font-size: 30px !important;
	}

	@keyframes slideUpText {
		to {
			transform: translateY(0);
			opacity: 1;
		}
	}

	/* ===================== HERO WRAPPER ===================== */
	.uc-wrapper {
		min-height: 100vh;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 40px 20px;
		animation: fadeInUp 1.2s ease forwards;
	}

	/* ===================== BOX CENTRALE ===================== */
	.uc-inner {
		max-width: 960px;
		width: 100%;
		margin: 0 auto;
		background-color: #1a1a1a;
		border-radius: 22px;
		padding: 70px 50px;
		text-align: center;

		border: 1px solid rgba(255, 255, 255, 0.05);
		box-shadow:
			0 0 30px rgba(0, 0, 0, 0.65),
			0 0 80px rgba(0, 0, 0, 0.45);
		animation: borderGlow 4s ease-in-out infinite;
	}

	/* micro-movimento al passaggio */
	.uc-inner:hover {
		//transform: translateY(-4px);
	}

	/* ===================== LOGO PLACEHOLDER ===================== */
	.uc-logo {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 40px;
	}

	.uc-logo-placeholder {
		width: 220px;
		height: 80px;
		border-radius: 999px;
		border: 1px solid rgba(255, 255, 255, 0.2);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 14px;
		letter-spacing: 2px;
		text-transform: uppercase;
		color: var(--colore-testo);
		position: relative;
		overflow: hidden;
	}

	.uc-logo-placeholder::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(120deg,
				transparent 0%,
				rgba(255, 255, 255, 0.12) 40%,
				transparent 80%);
		transform: translateX(-100%);
		transition: transform 0.8s ease;
	}

	.uc-logo-placeholder:hover::before {
		transform: translateX(100%);
	}

	.logo-ermes {
		max-width: 350px !important;
		height: auto;
		margin-bottom: 40px;
		filter: drop-shadow(0 0 18px rgba(0, 0, 0, 0.4));
		transition: transform .5s ease;
	}

	.logo-ermes:hover {
		transform: scale(1.03);
	}

	/* ===================== TESTI ===================== */
	h1,
	h2,
	h3,
	h4,
	h5 {
		font-weight: 600;
		line-height: 1.3;
	}

	.uc-title {
		font-size: 56px;
		margin-bottom: 22px;
	}

	.uc-subtitle {
		font-size: 18px;
		line-height: 1.8;
		color: var(--colore-testo);
		margin-bottom: 35px;
	}

	.uc-contact p {
		font-size: 16px;
		line-height: 1.8;
		color: var(--colore-testo);
	}

	.uc-contact p+p {
		margin-top: 8px;
	}

	.uc-powered {
		margin-top: 40px;
		margin-bottom: 10px;
		font-size: 14px;
		color: var(--colore-testo);
	}

	.uc-seo-links {
		margin-top: 10px;
		font-size: 13px;
		line-height: 1.7;
		color: var(--colore-testo);
	}

	/* ===================== LINK ===================== */
	a {
		color: var(--colore-show);
		text-decoration: none;
		transition: 0.3s ease;
	}

	a:hover {
		text-decoration: underline;
		opacity: 0.85;
	}

	/* ===================== CTA ROLLING TEXT ===================== */
	.uc-cta {
		margin-top: 30px;
	}

	.butn {
		border: 1px solid var(--colore-show);
		border-radius: 999px;
		padding: 12px 30px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		cursor: pointer;
		position: relative;
		overflow: hidden;
	}

	.butn-bg {
		background: var(--colore-show);
		color: #000;
	}

	.butn-bg:hover {
		background: transparent;
		color: var(--colore-bianco);
	}

	/* rolling text */
	.rolling-text {
		display: inline-block;
		overflow: hidden;
		line-height: 22px;
		height: 22px;
	}

	.rolling-text .letter {
		display: inline-block;
		transform: translateY(0);
		transition: transform 0.25s ease;
	}

	.rolling-text:hover .letter {
		transform: translateY(-100%);
	}

	/* ===================== ROLLING TEXT FIX ===================== */

	/* Contenitore */
	.rolling-text {
		display: inline-block;
		position: relative;
		height: 22px;
		overflow: hidden;
		line-height: 22px;
	}

	/* Struttura duplicata generata via JS o CSS */
	.rolling-text .letter-wrap {
		display: block;
		height: 22px;
		position: relative;
	}

	.rolling-text .letter-wrap span {
		display: block;
		height: 22px;
		transition: transform .3s ease;
	}

	/* Stato iniziale: testo fermo */
	.rolling-text .letter-wrap span.second {
		transform: translateY(100%);
	}

	/* Hover: testo scorre verso l’alto */
	.rolling-text:hover .letter-wrap span.first {
		transform: translateY(-100%);
	}

	.rolling-text:hover .letter-wrap span.second {
		transform: translateY(-100%);
	}

	/* ===================== RESPONSIVE ===================== */
	@media (max-width: 900px) {
		.uc-inner {
			padding: 50px 25px;
		}

		.uc-title {
			font-size: 40px;
		}
	}

	@media (max-width: 600px) {
		.uc-title {
			font-size: 32px;
		}

		.uc-subtitle {
			font-size: 16px;
		}
	}