
:root{
  --primary:#1f5e79; --primary-700:#184a60; --accent:#2b7d99;
  --text:#2f3a3f; --muted:#6b7a85; --bg:#f7fafc; --white:#ffffff;
  --radius:18px; --shadow:0 8px 24px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.45}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
.container{width:min(1100px,90vw);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.65rem 1rem;border:1px solid transparent;font-weight:600;cursor:pointer;transition:.2s transform ease,.2s background-color ease,.2s box-shadow ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:var(--white);box-shadow:var(--shadow)}
.btn-outline{background:transparent;border-color:var(--primary);color:var(--primary);border:1px solid var(--primary)}
.btn-ghost{background:transparent;color:var(--text)}
.tag{display:inline-block;background:#e7f2f7;color:var(--primary);font-weight:600;border-radius:999px;padding:.3rem .65rem;font-size:.8rem}
nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #e9eef2}
nav .bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.6rem}
.brand img{width:175px;height:175px} /* header */
.brand .title{font-weight:800;letter-spacing:.3px;color:var(--primary-700);font-size:1.05rem}
.lang-switch{display:flex;gap:.35rem}
.lang-switch button{padding:.38rem .6rem;border-radius:10px;border:1px solid #cfe1ea;background:#fff;color:#334;font-weight:600}
.lang-switch button.active{background:var(--primary);color:#fff;border-color:transparent}
.hero{padding:4.4rem 0 2.6rem;background:linear-gradient(180deg,#ffffff 0%,#f2f7fa 100%)}
.hero .content{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}
.hero h1{font-size:clamp(1.8rem,3vw,2.5rem);margin:.45rem 0 .6rem;color:var(--primary-700)}
.hero p{font-size:1.02rem;color:var(--muted);line-height:1.6}
.hero .card{background:#fff;border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow)}
@media (max-width:900px){.hero .content{grid-template-columns:1fr}}
section{padding:3rem 0}
section h2{font-size:1.55rem;color:var(--primary-700);margin:0 0 1rem}
.grid{display:grid;gap:1rem}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}
.card{background:#fff;border-radius:var(--radius);padding:1.05rem 1.15rem;box-shadow:var(--shadow)}
.card h3{margin:.2rem 0 .5rem}
.card p{color:var(--muted)}
ul.clean{margin:.55rem 0;padding-left:1.1rem}
ul.clean li{margin:.35rem 0}
form{display:grid;gap:.8rem}
.input{display:grid;gap:.35rem}
input,textarea{width:100%;padding:.75rem .85rem;border:1px solid #d6e2ea;border-radius:12px;background:#fff;color:var(--text)}
textarea{min-height:140px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:700px){.form-row{grid-template-columns:1fr}}
.success{display:none;margin-top:1rem;padding:.9rem 1rem;border-radius:12px;background:#e6f6ec;color:#20623d;border:1px solid #c9ebd5}
small.help{color:#8a98a2}
footer{padding:2.2rem 0;border-top:1px solid #e6edf2;background:#fff}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1.2rem}
footer p,footer a{color:#58656d}
footer .brand img{width:180px;height:180px} /* footer */
@media (max-width:900px){footer .cols{grid-template-columns:1fr}}
.badge{display:inline-block;background:#e7f2f7;color:var(--primary);border-radius:999px;padding:.2rem .55rem;font-weight:700;font-size:.75rem}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:900px){.cs-grid{grid-template-columns:1fr}}
[lang="it"] .lang-en{display:none}
[lang="en"] .lang-it{display:none}
html { scroll-behavior: smooth; scroll-padding-top: var(--nav-offset, 88px); }
[id] { scroll-margin-top: var(--nav-offset, 88px); }
