/* ==========================================================
   GRIFO GROUP — VARIABILI GLOBALI
   ========================================================== */

:root {
	--gg-page-width: 1320px;
	--gg-content-padding: 28px;

	--gg-white: #ffffff;
	--gg-text: #252525;
	--gg-muted: #6e7477;
	--gg-line: #dfe3e5;
	--gg-soft: #f4f5f5;
	--gg-icon: #a7adaf;
}

/* ==========================================================
   NORMALIZZAZIONE
   ========================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	overflow-x: clip;
	color: var(--gg-text);
	background: var(--gg-white);
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

.gg-container {
	width: min(
		calc(100% - (var(--gg-content-padding) * 2)),
		var(--gg-page-width)
	);
	margin-inline: auto;
}

/* ==========================================================
   COMPONENTE — ECOSISTEMA DI COMPETENZE
   ========================================================== */

.gg-ecosistema {
	padding: clamp(72px, 8vw, 128px) 0 clamp(64px, 7vw, 110px);
	background: var(--gg-white);
}

.gg-ecosistema__header {
	max-width: 850px;
	margin: 0 auto;
	text-align: center;
}

.gg-ecosistema__title {
	margin: 0;
	font-size: clamp(30px, 3.6vw, 52px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--gg-text);
}

.gg-ecosistema__intro {
	max-width: 780px;
	margin: 22px auto 0;
	font-size: clamp(17px, 1.55vw, 22px);
	font-weight: 500;
	line-height: 1.42;
	color: var(--gg-text);
}

.gg-ecosistema__description {
	max-width: 720px;
	margin: 24px auto 0;
	font-size: clamp(15px, 1.15vw, 17px);
	font-weight: 400;
	line-height: 1.65;
	color: var(--gg-muted);
}

.gg-ecosistema__pillars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 940px;
	margin: clamp(54px, 6vw, 84px) auto 0;
}

.gg-ecosistema__pillar {
	position: relative;
	padding: 0 clamp(24px, 4vw, 54px);
	text-align: center;
}

.gg-ecosistema__pillar + .gg-ecosistema__pillar {
	border-left: 1px solid var(--gg-line);
}

.gg-ecosistema__icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 22px;
	object-fit: contain;
}

.gg-ecosistema__pillar-title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--gg-text);
}

.gg-ecosistema__pillar-text {
	margin: 9px 0 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
	color: var(--gg-muted);
}

.gg-ecosistema__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	max-width: 1080px;
	margin: clamp(56px, 7vw, 94px) auto 0;
	background: var(--gg-line);
	border: 1px solid var(--gg-line);
}

.gg-ecosistema__stat {
	min-height: 210px;
	padding: 38px 26px 34px;
	background: var(--gg-white);
	text-align: center;
}

.gg-ecosistema__value {
	margin: 0;
	font-size: clamp(42px, 4vw, 62px);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.045em;
	color: var(--gg-text);
}

.gg-ecosistema__label {
	margin: 20px 0 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--gg-muted);
}

.gg-ecosistema__date {
	margin: 28px 0 0;
	text-align: center;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #989d9f;
}

/* ==========================================================
   MESSAGGI TECNICI
   ========================================================== */

.gg-component-error {
	margin: 30px;
	padding: 16px 20px;
	border: 1px solid #b42318;
	background: #fff1f0;
	color: #8a1c13;
	font-family: monospace;
	font-size: 14px;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

	.gg-ecosistema__pillars {
		max-width: 720px;
	}

	.gg-ecosistema__pillar {
		padding-inline: 24px;
	}

	.gg-ecosistema__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 640px) {

	:root {
		--gg-content-padding: 20px;
	}

	.gg-ecosistema {
		padding: 64px 0 58px;
	}

	.gg-ecosistema__title {
		font-size: 32px;
	}

	.gg-ecosistema__intro {
		margin-top: 18px;
		font-size: 17px;
	}

	.gg-ecosistema__description {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.6;
	}

	.gg-ecosistema__pillars {
		grid-template-columns: 1fr;
		margin-top: 48px;
	}

	.gg-ecosistema__pillar {
		padding: 34px 20px;
	}

	.gg-ecosistema__pillar:first-child {
		padding-top: 0;
	}

	.gg-ecosistema__pillar + .gg-ecosistema__pillar {
		border-top: 1px solid var(--gg-line);
		border-left: 0;
	}

	.gg-ecosistema__icon {
		width: 66px;
		height: 66px;
	}

	.gg-ecosistema__stats {
		grid-template-columns: 1fr;
		margin-top: 44px;
	}

	.gg-ecosistema__stat {
		min-height: 0;
		padding: 34px 20px 32px;
	}

	.gg-ecosistema__value {
		font-size: 48px;
	}

}


/* ==========================================================
   HOMEPAGE 2026 — RIMOZIONE DEL TELAIO GENERATEPRESS
   Pagina ID: 172541
   ========================================================== */

body.page-id-172541 .site-content {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.page-id-172541 .content-area,
body.page-id-172541 .site-main,
body.page-id-172541 article,
body.page-id-172541 .inside-article,
body.page-id-172541 .entry-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
}

body.page-id-172541 .entry-header,
body.page-id-172541 .entry-title {
	display: none;
}

body.page-id-172541 .entry-content > * {
	width: 100%;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
}

body.page-id-172541 .grid-container {
	max-width: none;
}

body.page-id-172541 .site-footer {
	margin-top: 0;
}

/* ==========================================================
   HERO
   ========================================================== */

.gg-hero {

    display:flex;
    align-items:center;

    min-height:92vh;

    background:#ffffff;

}

.gg-hero__content{

    max-width:860px;

}

.gg-hero__title{

    margin:18px 0;

    font-size:clamp(58px,7vw,104px);

    line-height:.95;

    font-weight:500;

    letter-spacing:-0.05em;

}

.gg-hero__lead{

    max-width:650px;

    margin-top:32px;

    font-size:22px;

    line-height:1.55;

    color:var(--gg-muted);

}