:root{
  --blue:#0068ef;
  --blue-dark:#0d47a1;
  --yellow:#ffd400;
  --gray-bg:#f2f2f2;
  --gray-dark:#6b6b6b;
  --text:#333;
}
*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;color:var(--text);line-height:1.6;background:#fff}
a{color:var(--blue-dark)}
img{max-width:100%;display:block}
.container{max-width:900px;margin:0 auto;padding:0 20px}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

header{background:var(--blue)}
header img.logo{width:100%;max-width:1100px;margin:0 auto;display:block}

nav{background:#fff;border-bottom:1px solid #ddd}
nav ul{list-style:none;margin:0;padding:10px 10px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
nav a{display:block;padding:8px 12px;text-decoration:none;color:#555;font-weight:bold;font-size:.85em;border-radius:3px;letter-spacing:.02em}
nav a:hover{background:#eee}
nav a.active{background:var(--gray-dark);color:#fff}

.hero-top{width:100%;height:420px;background-size:cover;background-position:center}

h1.page-title{text-align:center;color:var(--blue-dark);font-size:1.8em;font-weight:normal;margin:35px 20px 25px}

.section{padding:35px 0}
.section.alt{background:var(--gray-bg)}

.section-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.bullet{width:18px;height:18px;border:3px solid #f0b429;border-radius:50%;flex:0 0 auto;margin-top:5px}
.section h2{color:var(--blue-dark);margin:0 0 10px;font-size:1.2em;font-weight:normal}
.section h3{color:var(--text);font-size:1em;margin:20px 0 8px}

.two-col{display:flex;flex-wrap:wrap;gap:30px}
.two-col > div{flex:1 1 260px}
.two-col.labeled > .col-label{flex:0 1 220px}
.two-col.labeled > .col-body{flex:2 1 320px}

.badge-row{text-align:center;padding:10px 0}
.badge-row img{display:inline-block;margin:10px auto;border:4px solid var(--blue);padding:6px;background:#fff;max-width:220px}

.ad-banner{text-align:center;margin:15px 0}
.ad-banner img{max-width:480px;margin:10px auto}

.cta{position:relative;background-size:cover;background-position:center;padding:60px 20px;text-align:center;color:#fff}
.cta:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5)}
.cta .cta-inner{position:relative;z-index:1;max-width:600px;margin:0 auto}
.cta .icon{font-size:1.8em;margin-bottom:10px}
.cta p{font-size:1.1em;margin:0 0 18px}
.cta a.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:12px 30px;border-radius:3px;font-weight:bold}
.cta a.btn:hover{background:var(--blue-dark)}

.job{display:flex;gap:20px;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap}
.job img{width:220px;flex:0 0 220px;border-radius:2px}
.job .job-text{flex:1 1 200px;padding-top:4px}
.job .job-text strong{display:block;color:var(--blue-dark);margin-bottom:4px}
.job .job-text em{color:#555}

ul.clienti{columns:2;-webkit-columns:2;-moz-columns:2;padding-left:18px;margin:0}
ul.clienti li{break-inside:avoid;margin-bottom:4px}
@media (max-width:600px){ul.clienti{columns:1}}

.map-embed{width:100%;height:350px;border:0;margin-top:10px}

footer{background:var(--gray-bg);text-align:center;padding:25px 20px;font-size:.9em;color:#555}
footer p{margin:4px 0}

@media (max-width:700px){
  .hero-top{height:220px}
  .job img{width:100%;flex-basis:100%}
}
