:root{
  --primary:#2d9cdb;
  --primary-dark:#0f5f8f;
  --accent:#5c9f61;
  --orange:#ff6848;
  --text:#222436;
  --muted:#666b7a;
  --light:#f6f7fb;
  --white:#ffffff;
  --border:#e6e8f0;
  --shadow:0 16px 35px rgba(15,95,143,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial, Helvetica, sans-serif;color:var(--text);line-height:1.65;background:var(--white)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.container{width:min(1140px,92%);margin:0 auto}.topbar{background:var(--primary-dark);color:#fff;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0;flex-wrap:wrap}.site-header{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 18px rgba(0,0,0,.06)}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 0}.brand img{width:235px;display:block}.menu{display:flex;align-items:center;gap:22px;font-weight:700;color:var(--primary-dark)}.menu a{padding:8px 0;border-bottom:2px solid transparent}.menu a:hover,.menu a.active{color:var(--primary);border-bottom-color:var(--primary)}.cta{display:inline-block;background:var(--primary);color:#fff!important;padding:11px 18px!important;border-radius:999px;border-bottom:none!important;box-shadow:0 8px 20px rgba(45,156,219,.25)}.cta:hover{background:var(--primary-dark)}.hero{background:linear-gradient(110deg,rgba(15,95,143,.93),rgba(45,156,219,.88)),url('logo.png');background-size:cover;background-position:center;padding:86px 0;color:#fff}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.hero h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.08;margin:0 0 18px}.hero p{font-size:1.18rem;max-width:680px;color:#eef9ff}.hero-card{background:#fff;color:var(--text);padding:30px;border-radius:24px;box-shadow:var(--shadow)}.hero-card h2{margin-top:0;color:var(--primary-dark)}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:13px 20px;border-radius:999px;font-weight:700;border:1px solid var(--primary)}.btn-primary{background:var(--primary);color:#fff}.btn-light{background:#fff;color:var(--primary-dark);border-color:#fff}.btn-outline{background:transparent;color:var(--primary)}.section{padding:72px 0}.section-light{background:var(--light)}.section-title{max-width:760px;margin:0 auto 42px;text-align:center}.section-title h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.15;margin:0 0 12px;color:var(--primary-dark)}.section-title p{margin:0;color:var(--muted);font-size:1.08rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.card h3{margin-top:0;color:var(--primary-dark);font-size:1.32rem}.card p{color:var(--muted);margin-bottom:0}.icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(45,156,219,.12);color:var(--primary);font-weight:900;margin-bottom:18px}.highlight{border-left:6px solid var(--orange);background:#fff;padding:28px;border-radius:18px;box-shadow:var(--shadow)}.content{font-size:1.05rem}.content h2,.content h3{color:var(--primary-dark);line-height:1.2}.content h2{font-size:2.1rem;margin-top:0}.content h3{font-size:1.45rem;margin-top:36px}.content p{margin:0 0 18px}.content ul{margin:10px 0 20px;padding-left:22px}.page-hero{background:linear-gradient(110deg,var(--primary-dark),var(--primary));color:#fff;padding:58px 0}.page-hero h1{font-size:clamp(2rem,3vw,3.2rem);margin:0 0 10px}.page-hero p{max-width:760px;margin:0;color:#eef9ff;font-size:1.1rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:22px}.stat strong{display:block;font-size:2rem}.contact-box{background:var(--primary-dark);color:#fff;border-radius:24px;padding:32px}.contact-box h3{margin-top:0}.contact-box p{color:#eef9ff}.form{display:grid;gap:14px}.form input,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;font:inherit}.form textarea{min-height:150px;resize:vertical}.form small{color:var(--muted)}.footer{background:#17162a;color:#fff;padding:44px 0 18px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}.footer img{width:220px;background:#000;border-radius:8px;margin-bottom:14px}.footer h4{margin:0 0 12px;color:#fff}.footer p,.footer a{color:#d9f1ff}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin:8px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;color:#b9dff5;font-size:.92rem}.badge{display:inline-block;background:rgba(92,159,97,.13);color:#2f7335;border:1px solid rgba(92,159,97,.25);padding:5px 10px;border-radius:999px;font-weight:700;font-size:.9rem;margin-bottom:12px}.timeline{border-left:3px solid var(--primary);padding-left:24px}.timeline-item{margin-bottom:24px}.timeline-item strong{color:var(--primary-dark);font-size:1.2rem}.map-placeholder{height:320px;background:linear-gradient(135deg,#e9f7ff,#fff);border:1px solid var(--border);border-radius:24px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:30px}
.doc-card .buttons{margin-top:22px}.doc-card .icon{width:auto;min-width:58px;padding:0 12px;border-radius:12px}.doc-grid .card{display:flex;flex-direction:column}.doc-grid .buttons{margin-top:auto;padding-top:22px}.menu a{white-space:nowrap}
@media(max-width:900px){.hero-grid,.grid-3,.grid-2,.footer-grid,.stats{grid-template-columns:1fr}.menu{display:none}.brand img{width:210px}.hero{padding:62px 0}.section{padding:54px 0}.topbar .container{justify-content:center;text-align:center}.hero-card{padding:24px}}

/* Correzioni leggibilità e footer */
.hero-card p{color:var(--muted)!important;}
.hero-card .stat{background:#ffffff;border:0;padding:14px 4px;color:var(--text);}
.hero-card .stat strong{color:var(--text);}
.footer img{background:transparent!important;border-radius:0;}


/* Correzione definitiva leggibilità riquadro Home */
.hero .hero-card,
.hero .hero-card p,
.hero .hero-card .stats,
.hero .hero-card .stat {
    color: #222436 !important;
}

.hero .hero-card p {
    color: #3f4656 !important;
    opacity: 1 !important;
    font-weight: 500;
}

.hero .hero-card .stat strong {
    color: #17162a !important;
}

.hero .hero-card .stat {
    background: #ffffff !important;
    border: 0 !important;
}
