:root{
		--arancio:#ff8000;
		--arancio-scuro:#e06f00;
		--nero:#111111;
		--grigio:#f4f4f4;
		--bordo:#e2e2e2;
	}
	*{ box-sizing:border-box; margin:0; padding:0; }
	html{ scroll-behavior:smooth; }
	body{
		font-family:"Arial",Arial,"Segoe UI",sans-serif;
		color:#1a1a1a;
		background:#fff;
		line-height:1.6;
	}
	h1,h2,h3{ text-transform:uppercase; letter-spacing:.5px; line-height:1.1; font-family:Georgia, 'Times New Roman', Times, serif }


	/* ---------- HERO ---------- */
	.hero{
		background: linear-gradient(rgba(0,0,0,0.52), rgba(0,0,0,0.70)),
		            url('../images/hero-background-new.jpg') top center/cover no-repeat;
		color:#fff; text-align:center;
		padding:60px 40px 80px;
		position:relative; overflow:hidden;
		border-bottom:4px solid var(--arancio);
		min-height: 80vh;
		display: flex;
		align-items: center;
	}
	.hero .wrap {
		max-width: 1400px;
	}

	.hero:before{
		content:""; position:absolute; top:0; bottom:0; right:30px; width:45%;
		background:var(--arancio);
		transform:skewX(-18deg); opacity:.07;
	}
	.container-hero{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}

	.container-hero .title-hero, .container-hero .logo-hero {
		width: 50%;

	}

	.container-hero .title-hero {
		text-align: left
	}


	.container-hero .logo-hero {
		text-align: right;
	}

	.logo-hero img {
		max-width: 100%;
		width: 50%;
	}

	
	/* barra bianca loghi */
	.hero .loghi-hero{
		display:inline-flex; justify-content:center; align-items:center;
		gap:25px; flex-wrap:wrap;
		background:#fff;
		padding:16px 20px;
		margin:0 auto 50px;
		position:relative;
		border-radius: 20px;
	}
	.hero .loghi-hero .logo-box{
		width:140px; height:80px;
		display:flex; align-items:center; justify-content:center;
	}
	.hero .loghi-hero .logo-box img{
		max-width:100%; max-height:100%; object-fit:contain;
	}
	.hero h1{
		font-size:clamp(2.4em,6vw,4.2em); font-weight:900;
		position:relative;
		text-shadow:0 2px 10px rgba(0,0,0,.6);
		color:var(--arancio)
	}
	.hero .claim{
		margin:18px auto 0; max-width:620px; color:#e0e0e0;
		text-transform:none; letter-spacing:0; font-size:1.05em;
		position:relative;
	}

	.logo-hero .loghi-hero {
		display: none;
	}

	@media(max-width:560px){
		.container-hero {
			gap: 30px;
		}
		.hero .title-hero {
			width: 100%;
		}
		.hero .loghi-hero{ gap:20px; padding:7px 10px; max-width:100%;
			margin-bottom: 15px;
		
		}
		.hero .loghi-hero img:first-child {
			max-width:90px;

		}
		.hero .loghi-hero img:last-child {
			max-height:40px;

		}
		.logo-hero {
			display: flex;
			gap: 24px;
			width: 100% !important;
			align-items: center;

			img {
				width: 30%;
			}
		}
		.logo-hero .loghi-hero {
			display: inline-flex;
        height: 100%;
		}

		.title-hero .loghi-hero {
			display: none;
		}
	}

	/* ---------- LAYOUT SEZIONI ---------- */
	section{ padding:60px 24px; }
	.wrap{ max-width:1040px; margin:0 auto; }
	.titolo-sezione{ margin-bottom:34px; }
	.titolo-sezione h2{
		font-size:1.9em; font-weight:900; display:inline-block;
		border-left:6px solid var(--arancio); padding-left:16px;
	}
	.titolo-sezione p{ color:#666; text-transform:none; margin-top:6px; padding-left:22px; }

	.bg-black{ background:var(--nero); border-top:1px solid var(--bordo);}

	.bg-black .titolo-sezione {
		color: #ffff;
	}
	.bg-black .titolo-sezione p {
		color: #fff
	}

	/* Servizi */
	.servizi{ border:1px solid var(--bordo); }
	.servizio{ border-bottom:1px solid var(--bordo); }
	.servizio:last-child{ border-bottom:none; }

	.servizio-toggle{
		all:unset;
		box-sizing:border-box;
		display:flex; align-items:center; gap:18px;
		width:100%; padding:26px;
		background:#fff; cursor:pointer; text-align:left;
		position:relative; transition:.25s;
	}
	.servizio-toggle:hover{ background:#fafafa; }
	.servizio-toggle:after{
		content:""; position:absolute; left:0; bottom:0; height:4px; width:0; background:var(--arancio); transition:.3s;
	}
	.servizio-toggle:hover:after, .servizio.open .servizio-toggle:after { width:100%; }
	.servizio-toggle .num{
		font-size:.8em; font-weight:900; color:var(--arancio); letter-spacing:1px; flex-shrink:0;
	}
	.servizio-toggle b{ font-size:1.15em; text-transform:uppercase; }
	.servizio-toggle .chevron{
		margin-left:auto; width:10px; height:10px; flex-shrink:0;
		border-right:2px solid var(--nero); border-bottom:2px solid var(--nero);
		transform:rotate(-45deg); transition:transform .3s;
	}
	.servizio.open .servizio-toggle .chevron{ transform:rotate(45deg); }

	.servizio-desc{
		display:grid; grid-template-rows:0fr;
		transition:grid-template-rows .35s ease;
	}
	.servizio.open .servizio-desc{ grid-template-rows:1fr; }
	.servizio-desc-inner{ overflow:hidden; }
	.servizio-desc-inner p{ padding:20px 50px; color:var(--nero)  }

	/* Contatti */
	.contatti{ display:flex; flex-wrap:wrap; gap:22px; }
	.contatto{
		flex:1 1 280px; background:#fff; border:1px solid var(--bordo);
		border-top:4px solid var(--arancio); padding:26px 28px;
	}
	.contatto small{ display:block; text-transform:uppercase; letter-spacing:2px; color:#888; font-size:.75em; margin-bottom:6px; }
	.contatto a{ color:var(--nero); text-decoration:none; font-weight:700; font-size:1.25em; word-break:break-all; }
	.contatto a:hover{ color:var(--arancio); }


	.palmares{
		text-align: left;
		background-color: var(--arancio);
	}

	.palmares .titolo-sezione {
		margin-bottom: 0
	}

	.palmares .titolo-sezione h2{
		border-color: #fff;
	}

	.palmares .titolo-sezione p {
		color: #fff;
	}

	/* Anni campioni d'Italia */
	.fascia-italia{
		padding: 46px 24px;
		border-bottom: 1px solid var(--arancio)
	}
	.fascia-italia .wrap{
		padding-bottom: 24px;
	}

	.fascia-italia h4{ font-size:1.2em; font-weight:900; margin-bottom:6px; text-transform: uppercase }
	h3.label{ color:var(--arancio); letter-spacing:3px; font-size:1.5em; font-weight:700; margin-bottom:18px;text-transform: uppercase}
	.anni{ display:flex; flex-wrap:wrap; justify-content:start; gap:10px; margin-top:22px;}
	.anno{
		padding:9px 15px; font-weight:900;
		background-color: var(--nero);
		background: linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.2)),url(/assets/images/flag-italy.jpg);
		background-size: cover;
		background-position: center;
		text-shadow: 0 1px 3px rgba(0,0,0,.8);
		color:#fff; 
		font-size:1em; transition:.2s;
	}
	.anno.vinto {
		background: linear-gradient(rgba(255, 128, 1, .7), rgba(255, 128, 1, .7)),url(/assets/images/flag-italy.jpg);
		background-size: cover;
		background-position: center;
	}
	.anno:hover{ 
		transform: translateY(-3px)
	 }

	.fascia-italia .nota{ margin-top:18px; color: var(--arancio); font-size:.9em; text-transform:none; }

	/* Trofei mondiali */

	
	.trofei{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:0; border:1px solid var(--bordo); }
	.trofeo{
		background:#fff; padding:30px 28px;
		border-right:1px solid var(--bordo); border-bottom:1px solid var(--bordo);
		position:relative; transition:.25s;
	}
	.trofeo:hover{ background:#fafafa; }
	.trofeo .anno-big{
		font-size:1.8em; font-weight:900; color:var(--nero); line-height:1;
		font-family:Georgia, 'Times New Roman', Times, serif
	}
	.trofeo .esito{
		display:inline-block; margin:14px 0 12px;
		background:#dbdada; color: var(--nero); font-weight:700;
		font-size:.7em; letter-spacing:1.5px; padding:5px 12px; text-transform:uppercase;
	}
	.trofeo .esito.campioni{
		background:var(--arancio);
		color: #ffff;
	}
	.trofeo h4{ font-size:1.15em; font-weight:900; text-transform: uppercase }
	.trofeo p{ color:#555; text-transform:none; margin-top:6px; }
	.trofeo.oro{ border-bottom:4px solid var(--arancio); }

	.trofeo.image {
		padding: 0
	}
	.trofeo.image img{
		width: 100%;

	}
	/* Collaborazione */
	.collab{
		max-width:680px; margin:0 auto 36px; text-align:center;
		border:1px solid var(--bordo); border-left:4px solid var(--arancio);
		padding:18px 24px; background:#fff; color:#444; text-transform:none;
	}
	.collab b{ color:var(--nero); }

	/* Footer */
	footer{
		background:var(--nero); color:#888; text-align:center;
		padding:34px 24px; font-size:.9em;
		border-top:3px solid var(--arancio);
	}
	footer b{ color:#fff; }
	footer a{ color:var(--arancio); text-decoration:none; }

	/* reveal */
	.reveal{ opacity:0; transform:translateY(22px); transition:.6s ease; }
	.reveal.on{ opacity:1; transform:none; }