
:root{
  --primary:#1494d1; /* azzurro */
  --primary-600:#0f79ab;
  --bg:#ffffff;
  --ink:#0e1b25;
  --muted:#6b7a87;
  --card:#f6fbff;
  --shadow: 0 10px 25px rgba(0,0,0,.08);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}

img{max-width:100%;display:block}

.container{width:min(1200px, 92%); margin-inline:auto}

.site-header{
  position:sticky; top:0; z-index:50; background:#fff; box-shadow:var(--shadow);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.brand{display:flex; gap:10px; align-items:center; text-decoration:none; color:var(--ink); font-weight:700}
.brand img{width:46px; height:46px; object-fit:cover; border-radius:12px}
.main-nav ul{display:flex; gap:18px; list-style:none; margin:0; padding:0; align-items:center}
.main-nav a{color:var(--ink); text-decoration:none; padding:8px 10px; border-radius:10px}
.main-nav a:hover{background:#eef7fd}
.main-nav .btn{background:var(--primary); color:#fff}
.main-nav .btn:hover{background:var(--primary-600)}
.menu-toggle{display:none; border:0; background:#fff; font-size:28px}

.dropdown{position:relative}
.dropbtn{background:#fff; border:0; padding:8px 10px; border-radius:10px; cursor:pointer}
.dropdown-content{display:none; position:absolute; top:100%; left:0; min-width:240px; background:#fff; border-radius:14px; padding:8px; box-shadow:var(--shadow)}
.dropdown:hover .dropdown-content{display:block}
.dropdown-content a, .dropdown-content .disabled{display:block; padding:10px 12px; border-radius:10px}
.dropdown-content .disabled{opacity:.55; pointer-events:none}

.hero{background:linear-gradient(180deg, #e9f6ff 0%, #ffffff 70%); padding:64px 0}
.hero-inner{display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center}
.hero h1{font-size: clamp(28px, 5vw, 44px); line-height:1.15; margin:0 0 10px}
.hero h1 span{color:var(--primary)}
.hero p{color:var(--muted); font-size: clamp(16px, 2.2vw, 18px)}
.hero-badge{justify-self:center}
.hero-badge img{width:min(380px, 70vw); filter: drop-shadow(0 25px 40px rgba(20,148,209,.25)); border-radius:24px}

.btn{display:inline-block; padding:12px 18px; border-radius:12px; background:var(--primary); color:#fff; text-decoration:none; font-weight:600}
.btn:hover{background:var(--primary-600)}
.btn-outline{background:#fff; color:var(--primary); border:2px solid var(--primary)}
.btn-outline:hover{background:#f0f9ff}
.btn-light{background:#fff; color:var(--primary)}

.pillars{padding:40px 0 10px}
.pillars h2{font-size:28px; margin-bottom:12px}
.cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px}
.card{background:var(--card); border:1px solid #e3f0f9; border-radius:var(--radius); padding:20px; box-shadow:var(--shadow)}
.card h3{margin-top:0}
.link{font-weight:700; color:var(--primary); text-decoration:none}
.tag{display:inline-block; background:#fff; padding:6px 10px; border-radius:30px; border:1px solid #d6ecfa; color:var(--primary); font-weight:700}

.highlight{padding:56px 0; background:linear-gradient(180deg,#1494d1 0%, #0f79ab 100%); color:#fff; margin-top:36px}
.highlight .btn{background:#fff; color:var(--primary)}
.highlight .btn:hover{opacity:.9}

.page-hero.small{background:#eef7fd; padding:36px 0; border-bottom:1px solid #e3f0f9}
.prose{padding:24px 0}
.prose p{margin:0 0 14px}

.cta-band{padding:34px 0; background:#f2faff; border-top:1px solid #e3f0f9}
.cta-band .btn{margin-top:6px}

.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.contact .form .field{display:flex; flex-direction:column; gap:6px; margin-bottom:12px}
.contact .form input, .contact .form textarea{
  padding:12px 12px; border:1px solid #cfe7f8; border-radius:12px; outline:0; font:inherit; background:#fff
}
.contact .form input:focus, .contact .form textarea:focus{box-shadow:0 0 0 4px #e6f5ff}
.contact .actions{margin-top:8px}
.form-note{font-size:12px; color:var(--muted)}
.form-status{margin-top:8px; font-weight:600}

.site-footer{margin-top:50px; background:#0d2738; color:#c6d7e4; padding:28px 0 10px}
.site-footer h4{color:#fff; margin:0 0 8px}
.site-footer a{color:#fff}
.site-footer .tiny{opacity:.75; font-size:13px; padding-top:10px}

@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr; text-align:center}
  .cards{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .main-nav ul{display:none}
  .menu-toggle{display:block}
}

