/* SPECCHIETTO SERVIZI */
#specchietto-servizi {
	padding: 0 auto;
    text-align: center;
    width: 100%;
	background: linear-gradient(to bottom, #121C22, #1B2831);
}
#specchietto-servizi .container {
	display:inline-block;
	width:90%;
    max-width: 960px;
    margin: 0 auto;
}
/* Titolo sezione */
#specchietto-servizi .container h2 {
	position: relative;
    font-family: var(--font-general);
    font-size: 3.07em; /* 40px */
	line-height:40px;
	font-weight:300;
    color: #92ADB7;
	margin: 0 auto;
	padding-top:50px;
}
/* Separatore titolo */
#specchietto-servizi .container h2::after {
	content: "";
	display: block;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
	height: 3px;
	background-color: #FEC800;
	margin: 20px auto 0 auto; /* centra la lineetta */
	border-radius: 2px; /* leggermente più elegante */
}
/* Testo descrittivo */
#specchietto-servizi .container p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height: 28px;
	font-weight:300;
    color: #FFF;
    margin: 0 auto;
	padding-top:30px;
}
/* SERVIZI BOX */
.servizi-box {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 40px; /* distanza orizzontale */
	row-gap: 40px;    /* distanza verticale tra righe */
	margin: 40px auto;
	margin-bottom:70px;
	width: 70%;
}
.servizio {
	width: 100%;
	max-width: 308px;
	margin: 0 auto; /* centra la card dentro la colonna */
}
.servizio img {
	width: 100%;
	height: auto;
	display: block;
}
.servizio-titolo {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}
.servizio-titolo .linea {
	width: 60px;
	height: 2px;
	background-color: #FEC800;
}
.servizio-titolo h3 {
	font-family: var(--font-general);
	color: #ffffff;
	font-weight:300;
	font-size: 1.69em; /*22px;*/
	margin: 0;
	text-transform:uppercase;
}
/* HOVER SU IMMAGINI */
/* Box linkabile */
.servizio a {
	display: block;
	overflow: hidden;
	border-radius: 5px;
	transition: transform 0.4s ease;
	perspective: 1000px;
	position: relative;
}
.servizio img {
	-webkit-background-size: cover!important;
	-moz-background-size: cover!important;
	-o-background-size: cover!important;
	background-size: cover!important;
	background-position:center;
}
.servizio a img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease;
}
.servizio a:hover img {
  transform: scale(1.1) rotateZ(2deg);
}
/* Lineetta animata dal centro */
.servizio-titolo {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
	justify-content: flex-start;
}
.servizio-titolo .linea {
	width: 30px; /* metà lunghezza iniziale */
	height: 2px;
	background-color: #FEC800;
	transform-origin: left; /* si allunga verso destra */
	transition: width 0.4s ease;
}
.servizio a:hover + .servizio-titolo .linea {
  width: 60px; /* lunghezza finale */
}
/* Titolo con effetto fade-in leggero */
.servizio-titolo h3 {
	color: #ffffff;
	font-size: 1.69em;
	font-weight: 300;
	margin: 0;
	opacity: 0.8;
	transition: opacity 0.4s ease;
}
.servizio a:hover + .servizio-titolo h3 {
	opacity: 1;
}
/* Immagine con zoom + rotazione */
.servizio a img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease;
}
.servizio a:hover img {
	transform: scale(1.1) rotateZ(2deg);
}
/* SPECCHIETTO SERVIZI */

/* SERVIZI PRINCIPALI 1 */
.sfumino {
	/* sfumatura grigio -> bianco */
	background-image:url(../images/sfumino.jpg);
	background-repeat:repeat-x;
	background-position:0 0;
}	
#servizio-principale1 {
	display: grid;
	/*grid-template-columns: 3fr 2fr; /* 👈 sinistra più larga */
	grid-template-columns: 1fr; /* una sola colonna */
	/*grid-template-columns: 65% 35%;*/
	gap: 40px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	margin: 40px auto;
	padding: 0 20px;
	padding-bottom:10px;
	align-items: start;
	color: #121C22;
}
#servizio-principale1 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 25px;
}
#servizio-principale1 .blocco-testo {
	max-width: 100%;
}
#servizio-principale1 .icona {
	width: 80px;
	height: 80px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale1 .icona img {
	max-width: 50%;
	height: auto;
}
#servizio-principale1 .titolo-servizio {
	display: flex;
	align-items: center;
	gap: 15px;
}
#servizio-principale1 h2 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 2.76em; /*36px*/
	line-height:36px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 h3 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 2.46em; /*32px*/
	line-height:32px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 .titolo-servizio h2,
#servizio-principale1 .titolo-servizio h3 {
	margin: 0;
	transform: translateY(-10px); /* 👈 alza il testo */
}
#servizio-principale1 h2,
#servizio-principale1 h3 {
	position: relative;
}

#servizio-principale1 h2::after,
#servizio-principale1 h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
	height: 3px;
	background-color: #FEC800;
}
#servizio-principale1 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #000;
}
#servizio-principale1 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: center; /* 👈 centra immagine + pulsante */
	gap: 24px;
	max-width: 100%;
}
#wrapper-contenuto-immagine1 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale1 .contenuto-immagine img {
	margin-top: 0;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 80%;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin: auto;   /* 👈 questo la manda a destra */
	-webkit-background-size: cover!important;
	-moz-background-size: cover!important;
	-o-background-size: cover!important;
	background-size: cover!important;
	background-position:center;
}
#servizio-principale1 .btn-scopri {
	position: relative;
	margin-top:10px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale1 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #121C22;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale1 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale1 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale1 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale1 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 1 */  

}
/* SERVIZI PRINCIPALI 2 */
#servizio-principale2 {
	display: grid;
/*	grid-template-columns: 2fr 3fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	grid-template-columns: 1fr; /* una sola colonna */
	gap: 40px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	margin: 40px auto;
	margin-bottom:60px;
	padding: 0 20px;
	align-items: start;
	color: #121C22;	
}
.gradiente {
  /* Gradiente di sfondo verticale */
  background: linear-gradient(to bottom, #121C22, #1B2831);
}
#servizio-principale2 .contenuto-immagine {
  order: 0; /* mette l'immagine a sinistra */
}
#servizio-principale2 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 25px;
}
#servizio-principale2 .blocco-testo {
	max-width: 100%;
}
#servizio-principale2 .icona {
	width: 80px;
	height: 80px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale2 .icona img {
	max-width: 50%;
	height: auto;
}
#servizio-principale2 .titolo-servizio {
	display: flex;
	align-items: center;
	gap: 15px;
}
#servizio-principale2 h2 {
	margin: 0;
	color: #92ADB7;
	font-weight: 400;
	font-size: 2.76em; /*36px*/
	line-height:36px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 h3 {
	margin: 0;
	color: #92ADB7;
	font-weight: 400;
	font-size: 2.46em; /*32px*/
	line-height:32px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 .titolo-servizio h2,
#servizio-principale2 .titolo-servizio h3 {
	margin: 0;
	transform: translateY(-10px); /* 👈 alza il testo */
}
#servizio-principale2 h2,
#servizio-principale2 h3 {
	position: relative;
}
#servizio-principale2 h2::after,
#servizio-principale2 h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
	height: 3px;
	background-color: #FEC800;
}
#servizio-principale2 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #FFF;
}
#servizio-principale2 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: center; /* 👈 centra immagine + pulsante */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine2 {
	display: flex;
	flex-direction: column;
	align-items: center; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale2 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 80%;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin: auto; 
	-webkit-background-size: cover!important;
	-moz-background-size: cover!important;
	-o-background-size: cover!important;
	background-size: cover!important;
	background-position:center; 	
}
#servizio-principale2 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale2 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #658390;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale2 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale2 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale2 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale2 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 2 */  
}
/* ==========================
   RESPONSIVE BREAKPOINTS
   ========================== */
/* Layout tablet portrait: da 480 px a 820 px. Eredita stili da: Layout mobile. */
@media only screen and (min-width: 480px ) {
/* CONTAINER */
.gridContainer, .gridContainerMid, .gridContainerFull {
	width:100%;
	margin:0 auto;
	padding:0;
/* CONTAINER */

/* SPECCHIETTO SERVIZI */
}	
#specchietto-servizi {
	padding: 0 auto;
    text-align: center;
    width: 100%;
}
#specchietto-servizi .container {
	display:inline-block;
	width:86%;
    margin: 0 auto;
}
/* Titolo sezione */
#specchietto-servizi .container h2 {
    font-size: 3.07em; /* 40px */
	line-height:40px;
	font-weight:300;
	margin: 0 auto;
	padding-top:60px;
}
/* Testo descrittivo */
#specchietto-servizi .container p {
    font-size: 1.53em; /*20px */
	line-height: 28px;
	font-weight: 300;
    margin: 0 auto;
	padding-top:30px;
}
/* SERVIZI BOX */
.servizi-box {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 40px; /* distanza orizzontale */
	row-gap: 40px;    /* distanza verticale tra righe */
	margin: 60px auto;
	width: 70%;
}
.servizio {
	width: 100%;
	max-width: 308px;
	margin: 0 auto; /* centra la card dentro la colonna */
}
.servizio img {
	width: 100%;
	height: auto;
	display: block;
}
/* SPECCHIETTO SERVIZI */

/* SERVIZI PRINCIPALI 1 */
.sfumino {
	/* sfumatura grigio -> bianco */
	background-image:url(../images/sfumino.jpg);
	background-repeat:repeat-x;
	background-position:0 0;
}	
#servizio-principale1 {
	display: grid;
	grid-template-columns: 3fr 2fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	gap: 60px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	max-width: 1420px;
	margin: 70px auto;
	padding: 0 20px;
	align-items: start;
	color: #121C22;
}
#servizio-principale1 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
#servizio-principale1 .blocco-testo {
	max-width: 100%;
}
#servizio-principale1 .icona {
	width: 80px;
	height: 80px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale1 .icona img {
	max-width: 50%;
	height: auto;
}
#servizio-principale1 .titolo-servizio {
	display: flex;
	align-items: center;
	gap: 15px;
}

#servizio-principale1 h2 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 3.07em; /*40px*/
	line-height:40px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 h3 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 2.46em; /*32px*/
	line-height:32px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 .titolo-servizio h2,
#servizio-principale1 .titolo-servizio h3 {
	margin: 0;
	transform: translateY(-10px); /* 👈 alza il testo */
}
#servizio-principale1 h2,
#servizio-principale1 h3 {
	position: relative;
}

#servizio-principale1 h2::after,
#servizio-principale1 h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
	height: 3px;
	background-color: #FEC800;
}
#servizio-principale1 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #000;
}
#servizio-principale1 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine1 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale1 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 100%;
	max-width: 450px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin-left: auto;   /* 👈 questo la manda a destra */
}
#servizio-principale1 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale1 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #121C22;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale1 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale1 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale1 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale1 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 1 */  

}
/* SERVIZI PRINCIPALI 2 */
#servizio-principale2 {
	display: grid;
	grid-template-columns: 2fr 3fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	gap: 60px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	max-width: 1420px;
	margin: 70px auto;
	padding: 0 20px;
	align-items: start;
	color: #121C22;
}
.gradiente {
  /* Gradiente di sfondo verticale */
  background: linear-gradient(to bottom, #121C22, #1B2831);
}
#servizio-principale2 .contenuto-immagine {
  order: -1; /* mette l'immagine a sinistra */
}
#servizio-principale2 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
#servizio-principale2 .blocco-testo {
	max-width: 100%;
}
#servizio-principale2 .icona {
	width: 80px;
	height: 80px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale2 .icona img {
	max-width: 50%;
	height: auto;
}
#servizio-principale2 .titolo-servizio {
	display: flex;
	flex-direction: row-reverse; /* inverte ordine icona e titolo */
	align-items: center;         /* mantiene centratura verticale */
	gap: 15px;
}
#servizio-principale2 h2 {
	margin: 0;
	color: #92ADB7;
	font-weight: 400;
	font-size: 3.07em; /*40px*/
	line-height:40px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 h3 {
	margin: 0;
	color:#92ADB7;
	font-weight: 400;
	font-size: 2.46em; /*32px*/
	line-height:32px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 .titolo-servizio h2,
#servizio-principale2 .titolo-servizio h3 {
  margin: 0;
  transform: translateY(-10px); /* mantiene lo stesso micro-spostamento verso l’alto */
  text-align: right;            /* allinea il testo a destra */
}
#servizio-principale2 h2,
#servizio-principale2 h3 {
	position: relative;
}

#servizio-principale2 h2::after,
#servizio-principale2 h3::after {
	content: "";
    position: absolute;
    left: 100%;
    transform: translateX(-100%);
    bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
    height: 3px;
    background-color: #FEC800;
}
#servizio-principale2 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #FFF;
	text-align: right; /* allinea anche i paragrafi a destra */
}
#servizio-principale2 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: flex-start; /* 👈 tutto a sinistra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine2 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale2 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 100%;
	max-width: 450px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin-left: auto;   /* 👈 questo la manda a destra */
}
#servizio-principale2 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale2 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #658390;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale2 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale2 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale2 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale2 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 2 */  
}	
}
/* Layout landscape: da 820 px a 1024 px max.  Eredita stili da: Layout mobile e Layout tablet portrait */
@media only screen and (min-width: 820px ) {
/* CONTAINER */
.gridContainer, .gridContainerMid  {
	width:100%;
	margin:0 auto;
	padding:0;
	max-width:1232px;
	min-width:768px;
/* CONTAINER */	
	
/* SPECCHIETTO SERVIZI */
}	
#specchietto-servizi {
	padding: 0 auto;
    text-align: center;
    width: 100%;
}
#specchietto-servizi .container {
	display:inline-block;
	width:90%;
    margin: 0 auto;
}
/* Titolo sezione */
#specchietto-servizi .container h2 {
    font-size: 3.07em; /* 40px */
	line-height:40px;
	font-weight:300;
	margin: 0 auto;
	padding-top:60px;
}
/* Testo descrittivo */
#specchietto-servizi .container p {
    font-size: 1.53em; /*20px */
	line-height: 28px;
	font-weight: 300;
    margin: 0 auto;
	padding-top:30px;
}
/* SERVIZI BOX */
.servizi-box {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 40px; /* distanza orizzontale */
	row-gap: 40px;    /* distanza verticale tra righe */
	margin: 60px 20%;
	width: 60%;
}
.servizio {
	width: 100%;
	max-width: 308px;
	margin: 0 auto; /* centra la card dentro la colonna */
}
.servizio img {
	width: 100%;
	height: auto;
	display: block;
}
/* SPECCHIETTO SERVIZI */

/* SERVIZI PRINCIPALI 1 */
.sfumino {
	/* sfumatura grigio -> bianco */
	background-image:url(../images/sfumino.jpg);
	background-repeat:repeat-x;
	background-position:0 0;
}	
#servizio-principale1 {
	display: grid;
	grid-template-columns: 3fr 2fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	gap: 60px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	max-width: 1420px;
	margin: 70px auto;
	padding: 0 20px;
	align-items: start;
	color: #121C22;
}
#servizio-principale1 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
#servizio-principale1 .blocco-testo {
	max-width: 100%;
}
#servizio-principale1 .icona {
	width: 80px;
	height: 80px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale1 .icona img {
	max-width: 50%;
	height: auto;
}
#servizio-principale1 .titolo-servizio {
	display: flex;
	align-items: center;
	gap: 15px;
}

#servizio-principale1 h2 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 3.07em; /*40px*/
	line-height:40px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 h3 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 2.46em; /*32px*/
	line-height:32px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 .titolo-servizio h2,
#servizio-principale1 .titolo-servizio h3 {
	margin: 0;
	transform: translateY(-10px); /* 👈 alza il testo */
}
#servizio-principale1 h2,
#servizio-principale1 h3 {
	position: relative;
}

#servizio-principale1 h2::after,
#servizio-principale1 h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
	height: 3px;
	background-color: #FEC800;
}
#servizio-principale1 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #000;
}
#servizio-principale1 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine1 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale1 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 100%;
	max-width: 450px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin-left: auto;   /* 👈 questo la manda a destra */
}
#servizio-principale1 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale1 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #121C22;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale1 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale1 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale1 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale1 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 1 */  
}

/* SERVIZI PRINCIPALI 2 */
#servizio-principale2 {
	display: grid;
	grid-template-columns: 2fr 3fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	gap: 60px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	max-width: 1420px;
	margin: 70px auto;
	padding: 0 20px;
	align-items: start;
	color: #121C22;
}
.gradiente {
  /* Gradiente di sfondo verticale */
  background: linear-gradient(to bottom, #121C22, #1B2831);
}
#servizio-principale2 .contenuto-immagine {
  order: -1; /* mette l'immagine a sinistra */
}
#servizio-principale2 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
#servizio-principale2 .blocco-testo {
	max-width: 100%;
}
#servizio-principale2 .icona {
	width: 80px;
	height: 80px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale2 .icona img {
	max-width: 50%;
	height: auto;
}
#servizio-principale2 .titolo-servizio {
	display: flex;
	flex-direction: row-reverse; /* inverte ordine icona e titolo */
	align-items: center;         /* mantiene centratura verticale */
	gap: 15px;
}
#servizio-principale2 h2 {
	margin: 0;
	color: #92ADB7;
	font-weight: 400;
	font-size: 3.07em; /*40px*/
	line-height:40px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 h3 {
	margin: 0;
	color:#92ADB7;
	font-weight: 400;
	font-size: 2.46em; /*32px*/
	line-height:32px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 .titolo-servizio h2,
#servizio-principale2 .titolo-servizio h3 {
  margin: 0;
  transform: translateY(-10px); /* mantiene lo stesso micro-spostamento verso l’alto */
  text-align: right;            /* allinea il testo a destra */
}
#servizio-principale2 h2,
#servizio-principale2 h3 {
	position: relative;
}

#servizio-principale2 h2::after,
#servizio-principale2 h3::after {
	content: "";
    position: absolute;
    left: 100%;
    transform: translateX(-100%);
    bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
    height: 3px;
    background-color: #FEC800;
}
#servizio-principale2 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #FFF;
	text-align: right; /* allinea anche i paragrafi a destra */
}
#servizio-principale2 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: flex-start; /* 👈 tutto a sinistra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine2 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale2 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 100%;
	max-width: 450px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin-left: auto;   /* 👈 questo la manda a destra */
}
#servizio-principale2 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale2 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #658390;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale2 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale2 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale2 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale2 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 2 */  
}
}
/* Layout desktop: da 1024 px a superiori. Eredita stili da: Layout tablet landscape */
@media only screen and (min-width: 1024px ) {
/* CONTAINER */
.gridContainer {
	width:100%;
	margin:0 auto;
	padding:0;
	max-width:1232px;
	min-width:768px;
}
.gridContainerMid {
	width:100%;
	margin:0 auto;
	padding:0;
	max-width:1920px;
}
.gridContainerFull {
	width:100%;
	margin:0 auto;
	padding:0;
/*	max-width:1920px;*/
	min-width:768px;
/* CONTAINER */

/* SPECCHIETTO SERVIZI */
}	
#specchietto-servizi {
	padding: 0 auto;
    text-align: center;
    width: 100%;
}
#specchietto-servizi .container {
	display:inline-block;
	width:90%;
    margin: 0 auto;
}
/* Titolo sezione */
#specchietto-servizi .container h2 {
    font-size: 3.30em; /* 43px */
	line-height:43px;
	font-weight:300;
	margin: 0 auto;
	padding-top:60px;
}
/* SERVIZI BOX */
.servizi-box {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin: 60px auto;
	width: 90%;
	max-width: 1360px; /* desktop grande */
}
.servizio {
	width: 100%;
	max-width: 308px;
	margin: 0 auto; /* centra la card dentro la colonna */
}
.servizio img {
	width: 100%;
	height: auto;
	display: block;
}
/* SPECCHIETTO SERVIZI */

/* SERVIZI PRINCIPALI 1 */
.sfumino {
	/* sfumatura grigio -> bianco */
	background-image:url(../images/sfumino.jpg);
	background-repeat:repeat-x;
	background-position:0 0;
}	
#servizio-principale1 {
	display: grid;
	grid-template-columns: 3fr 2fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	gap: 60px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	max-width: 1420px;
	margin: 80px auto;
	padding: 0 20px;
	align-items: start;
	color: #121C22;
}
#servizio-principale1 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
#servizio-principale1 .blocco-testo {
	max-width: 100%;
}
#servizio-principale1 .icona {
	width: 85px;
	height: 85px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale1 .icona img {
	max-width: 60%;
	height: auto;
}
#servizio-principale1 .titolo-servizio {
	display: flex;
	align-items: center;
	gap: 15px;
}
#servizio-principale1 h2 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 3.30em; /*43px*/
	line-height:43px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 h3 {
	margin: 0;
	color: #121C22;
	font-weight: 400;
	font-size: 2.69em; /*35px*/
	line-height:35px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale1 .titolo-servizio h2,
#servizio-principale1 .titolo-servizio h3 {
	margin: 0;
	transform: translateY(-10px); /* 👈 alza il testo */
}
#servizio-principale1 h2,
#servizio-principale1 h3 {
	position: relative;
}

#servizio-principale1 h2::after,
#servizio-principale1 h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
	height: 3px;
	background-color: #FEC800;
}
#servizio-principale1 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #000;
}
#servizio-principale1 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine1 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale1 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 100%;
	max-width: 450px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin-left: auto;   /* 👈 questo la manda a destra */
}
#servizio-principale1 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale1 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #121C22;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale1 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale1 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale1 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale1 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 1 */  
}

/* SERVIZI PRINCIPALI 2 */
#servizio-principale2 {
	display: grid;
	grid-template-columns: 2fr 3fr; /* 👈 sinistra più larga */
	/*grid-template-columns: 65% 35%;*/
	gap: 60px;
	width: 90%; /* 👈 larghezza al 90% della finestra */
	max-width: 1420px;
	margin: 80px auto;
	padding: 0 20px;
	align-items: start;
	color: #121C22;
}
.gradiente {
  /* Gradiente di sfondo verticale */
  background: linear-gradient(to bottom, #121C22, #1B2831);
}
#servizio-principale2 .contenuto-immagine {
  order: -1; /* mette l'immagine a sinistra */
}
#servizio-principale2 .contenuto-testo {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
#servizio-principale2 .blocco-testo {
	max-width: 100%;
}
#servizio-principale2 .icona {
	width: 85px;
	height: 85px;
	background-color: #1B2730;
	border-radius: 50%;
	border: 5px solid #658390;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	flex-shrink: 0;   /* 👈 evita deformazione */
}
#servizio-principale2 .icona img {
	max-width: 60%;
	height: auto;
}
#servizio-principale2 .titolo-servizio {
	display: flex;
	flex-direction: row-reverse; /* inverte ordine icona e titolo */
	align-items: center;         /* mantiene centratura verticale */
	gap: 15px;
}
#servizio-principale2 h2 {
	margin: 0;
	color: #92ADB7;
	font-weight: 400;
	font-size: 3.30em; /*43px*/
	line-height:43px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 h3 {
	margin: 0;
	color:#92ADB7;
	font-weight: 400;
	font-size: 2.69em; /*35px*/
	line-height:35px;
	font-family: var(--font-general, Arial, sans-serif);
}
#servizio-principale2 .titolo-servizio h2,
#servizio-principale2 .titolo-servizio h3 {
    display: inline-block;   /*  importante */
	margin: 0;
	transform: translateY(-10px); /* mantiene lo stesso micro-spostamento verso l’alto */
	text-align: right;            /* allinea il testo a destra */
}
#servizio-principale2 h2,
#servizio-principale2 h3 {
	position: relative;
}

#servizio-principale2 h2::after,
#servizio-principale2 h3::after {
	content: "";
    position: absolute;
    left: 100%;
    transform: translateX(-100%);
    bottom: -16px;
	width: clamp(60px, 8vw, 100px); /* lineetta responsive */
    height: 3px;
    background-color: #FEC800;
}
#servizio-principale2 p {
    font-family: var(--font-general);
    font-size: 1.53em; /*20px */
	line-height:32px;
	font-weight:300;
	color: #FFF;
	text-align: right; /* allinea anche i paragrafi a destra */
}
#servizio-principale2 .contenuto-immagine {
	display: flex;
	flex-direction: column;
	align-items: flex-start; /* 👈 tutto a sinistra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#0C3;*/
}
#wrapper-contenuto-immagine2 {
	display: flex;
	flex-direction: column;
	align-items: flex-end; /* tutto a destra */
	gap: 24px;
	max-width: 100%;
 /* background-color:#CF9;*/
}
#servizio-principale2 .contenuto-immagine img {
	margin-top: 100px;  /* 👈 aumenta o diminuisci per regolare la posizione */
	width: 100%;
	max-width: 450px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	margin-left: auto;   /* 👈 questo la manda a destra */
}
#servizio-principale2 .btn-scopri {
	position: relative;
	margin-top:20px;
	font-family: var(--font-general);
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
	padding: 18px 35px;
	border-radius: 10px;
	color: #121C22;              
	background: #FEC800;          
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	align-self: center;           
	transition: transform .25s ease-out, background .25s ease-out, box-shadow .25s ease-out;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ombra iniziale */
}
#servizio-principale2 .btn-scopri::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #658390;          
	transform: translateY(100%);
	transition: transform .25s ease-out;
	z-index: -1;
}
#servizio-principale2 .btn-scopri span {
	position: relative;
	z-index: 1;
	color: #121C22;
	transition: none;
}
/* hover */
#servizio-principale2 .btn-scopri:hover {
	transform: translateY(-5px); /* solleva il pulsante */
	box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* ombra più marcata */
	text-decoration: none;
}
#servizio-principale2 .btn-scopri:hover span {
	color: #fff;                 
}
#servizio-principale2 .btn-scopri:hover::before {
	transform: translateY(0);   
/* SERVIZI PRINCIPALI 2 */  
}
}