:root{
  --bg:#0e0f12;/* quasi nero */
  --card:#14161b;
  --muted:#8b91a1;
  --text:#e7e9ee;
  --brand:#1fb4b6; /* accento blu soft */
  --brand-2:#eb8c0c; /* accento secondario */
  --success:#22c55e;
  --danger:#ef4444;
  --radius:18px;
  --maxw:1080px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
@media (prefers-color-scheme: light){
  :root{ --bg:#ffffff; --card:#f6f7fb; --text:#111827; --muted:#5b6475; --shadow:0 10px 30px rgba(0,0,0,.10);}  
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#ffffff; --card:#f6f7fb; --text:#111827; --muted:#5b6475; --shadow:0 10px 30px rgba(0,0,0,.10);}  
}
*{
	box-sizing:border-box;
}
html {
	scroll-behavior: smooth;
}
html, body {
	height:auto;
}
.img_logo {
	width:190px;
}
.footer_bottom {
	font-size:0.8rem;
	padding:30px 0px
}
footer a {
	color:var(--text);
}
body{
  margin:0; font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  background:var(--bg); color:var(--text); line-height:1.6; letter-spacing:.2px;
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
.container{width:100%; max-width:var(--maxw); margin-inline:auto; padding:0 20px}

/* Header */
header{
  position:sticky; top:0; z-index:50; backdrop-filter:saturate(1.2) blur(8px);
  background:color-mix(in oklab, var(--bg) 86%, transparent);
  border-bottom:1px solid color-mix(in oklab, var(--muted) 20%, transparent);
}
.nav{display:flex; align-items:center; justify-content:space-between; height:68px}
.brand{font-weight:800; letter-spacing:.5px}
.brand a{color:var(--text); text-decoration:none}
nav ul{display:flex; gap:22px; list-style:none; margin:0; padding:0;align-items:center;}
nav a{color:var(--text); opacity:.88}
nav a:hover{opacity:1}
.cta{
  display:inline-block; padding:11px 16px; border-radius:999px; font-weight:600; letter-spacing:.2px;
  background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:white; box-shadow:var(--shadow);
}
.cta:hover{filter:brightness(1.05); text-decoration:none}
.menu-btn{display:none}

/* Hero */
.hero{padding:90px 0 64px}
.hero h1{font-size: clamp(36px, 6vw, 56px); line-height:1.08; margin:0 0 14px; font-weight:900}
.hero p{font-size: clamp(16px, 2.2vw, 20px); color:var(--muted); max-width:780px}
.hero .actions{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap}
.btn-outline{padding:11px 16px; border-radius:999px; border:1px solid color-mix(in oklab, var(--muted) 30%, transparent); color:var(--text); font-weight:600}
.btn-outline:hover{border-color:var(--text)}

/* Sections */
section{padding:70px 0}
.section-title{font-size: clamp(24px, 4vw, 34px); margin:0 0 10px; font-weight:800}
.section-sub{color:var(--muted); margin:0 0 26px}
.grid{display:grid; gap:16px}
.grid.cols-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3, minmax(0,1fr))}
@media (max-width:900px){ .grid.cols-2, .grid.cols-3{grid-template-columns:1fr} }
.card{background:var(--card); border:1px solid color-mix(in oklab, var(--muted) 16%, transparent); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow)}
.pill{display:inline-block; font-size:12px; padding:4px 10px; border-radius:999px; background:color-mix(in oklab, var(--brand) 18%, transparent); color:color-mix(in oklab, var(--brand) 92%, white); font-weight:600}

.list{display:grid; gap:10px; margin:16px 0 0; padding:0; list-style:none}
.list li{position:relative; padding-left:28px}
.list li::before{
	content: "\e5ca"; /* codice dell'icona di spunta */
	font-family: 'Material Icons'; 
	position:absolute; 
	left:0; 
	top:0; 
	opacity:.9;
	font-size: 18px;
	color:var(--brand);
}

/* Stats */
.stat{display:flex; flex-direction:column; gap:8px; align-items:flex-start; padding:22px; border-radius:var(--radius); background:linear-gradient(180deg, color-mix(in oklab, var(--brand) 16%, transparent), transparent)}
.stat .num{font-size:34px; font-weight:900}
.stat .label{color:var(--muted)}

/* Form */
form{display:grid; gap:14px}
label{font-weight:600}
input, select, textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid color-mix(in oklab, var(--muted) 25%, transparent); background:transparent; color:var(--text)}
input::placeholder, textarea::placeholder{color:color-mix(in oklab, var(--muted) 50%, transparent)}
textarea{min-height:120px; resize:vertical}
.form-row{display:grid; gap:14px; grid-template-columns:repeat(2, 1fr)}
@media (max-width:700px){ .form-row{grid-template-columns:1fr} }
.help{font-size:12px; color:var(--muted)}
.note{font-size:13px; color:var(--muted)}

/* Footer */
footer{padding:36px 0 56px; border-top:1px solid color-mix(in oklab, var(--muted) 20%, transparent)}
.footgrid{display:grid; gap:16px; grid-template-columns:1.5fr 1fr}
@media (max-width:900px){ .footgrid{grid-template-columns:1fr} }

/* Accessibility */
:focus-visible{outline:3px solid var(--brand); outline-offset:2px}
.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

.menu-btn-close {
	display:none;
}
header nav {
	display:block
}
#cookie-banner {
	position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #222;
    color: #fff;
    padding: 15px;
    text-align: center;
    z-index: 9999;
    font-family: sans-serif;
    display: none;
}
@media (max-width:900px){ 
	header nav {
		display:none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #FFF;
	}
	header nav #main-menu {
		display:block;
		padding:60px 15px;
		font-size:1.5rem;
	}
	#main-menu li {
		margin-bottom:25px;
	}
	.menu-btn {
		display:block;
		
	}
	.menu-btn svg {
		height:30px;
		width:30px;
		fill:#1f1f1f;
		cursor:pointer;
	}
	.menu-btn-close {
		display:block;
		position: absolute;
		top:15px;
		right:15px;
		height:30px;
		width:30px;
		fill:#1f1f1f;
		cursor:pointer;
	}
	.actions a {
		display:inline-block;
		margin-bottom:15px;
	}
}
