
:root{--navy:#0b1b33;--navy2:#132a4d;--amber:#ffb400;--amber-d:#e09b00;--red:#d7263d;--wa:#1fa855;--ink:#1c2536;--mut:#5b6678;--soft:#f3f6fb;--line:#e1e7f0;--bg:#fff;--r:14px;--sh:0 8px 28px rgba(11,27,51,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:#0a4fbf}a:hover{color:var(--navy)}
h1,h2,h3{line-height:1.2;color:var(--navy);margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.4vw,3rem)}h2{font-size:clamp(1.45rem,2.8vw,2rem);margin-top:1.6em}h3{font-size:1.15rem}
p{margin:0 0 1em}ul{padding-left:1.2em}li{margin:.25em 0}
.wrap{max-width:1160px;margin:0 auto;padding:0 18px}
.sr{position:absolute;left:-9999px}
/* header */
.top{background:var(--navy);color:#fff;font-size:.88rem}.top .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.top a{color:#fff;text-decoration:none;font-weight:600}.top .pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#3ddc84;margin-right:7px;box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:pl 1.8s infinite}
@keyframes pl{70%{box-shadow:0 0 0 9px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
header.h{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
header.h .wrap{display:flex;align-items:center;gap:18px;min-height:74px}
.logo img{height:46px;width:auto}
nav.m{margin-left:auto}nav.m>ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center}
nav.m>ul>li{position:relative}nav.m>ul>li>a,nav.m>ul>li>button{font-weight:600;font-size:.97rem;line-height:1;font-family:inherit;color:var(--navy);text-decoration:none;padding:12px 11px;background:none;border:0;cursor:pointer;display:block;border-radius:8px}
nav.m>ul>li>a:hover,nav.m>ul>li>button:hover{background:var(--soft)}
.mega{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px;width:min(760px,92vw);grid-template-columns:repeat(3,1fr);gap:20px;z-index:60}
.mega.w2{grid-template-columns:1.4fr 1fr}.mega h4{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.mega ul{list-style:none;margin:0;padding:0}.mega a{display:block;padding:5px 0;color:var(--ink);text-decoration:none;font-size:.95rem}.mega a:hover{color:#0a4fbf}
.mega .cols2{columns:2}
nav.m li:hover>.mega,nav.m li.open>.mega{display:grid}
nav.m li.rt .mega{left:auto;right:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:12px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:1.02rem;cursor:pointer;font-family:inherit;line-height:1.2}
.btn.call{background:var(--amber);color:var(--navy)}.btn.call:hover{background:var(--amber-d);color:var(--navy)}
.btn.wa{background:var(--wa);color:#fff}.btn.wa:hover{background:#17903f;color:#fff}
.btn.ml{background:#fff;color:var(--navy);border-color:var(--navy)}.btn.ml:hover{background:var(--navy);color:#fff}
.btn.dk{background:var(--navy);color:#fff}.btn.dk:hover{background:var(--navy2);color:#fff}
.btn.sm{padding:10px 16px;font-size:.95rem}
.hcall{white-space:nowrap}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--navy);border-radius:10px;padding:8px 11px;font-weight:800;color:var(--navy);cursor:pointer;font-family:inherit}
/* hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0}.hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.85}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,27,51,.93) 12%,rgba(11,27,51,.72) 48%,rgba(11,27,51,.32))}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;padding-top:54px;padding-bottom:58px;align-items:center}
.hero h1{color:#fff}.hero h1 em{font-style:normal;color:var(--amber)}
.hero .lead{font-size:1.15rem;color:#dbe4f3;max-width:38em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.badges{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:0;font-size:.93rem;color:#dbe4f3}.badges li:before{content:"✓ ";color:var(--amber);font-weight:800}
.hero.s .wrap{grid-template-columns:1fr;padding-top:38px;padding-bottom:40px}.hero.s h1{font-size:clamp(1.7rem,3.6vw,2.5rem)}
/* form */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:22px;color:var(--ink)}
.card h2,.card h3{margin:0 0 4px;font-size:1.25rem;color:var(--navy)}.card .sub{color:var(--mut);font-size:.92rem;margin-bottom:12px}
.f label{display:block;font-weight:600;font-size:.9rem;margin:10px 0 4px;color:var(--navy)}
.f input,.f select,.f textarea{width:100%;padding:12px 13px;border:1.5px solid #cbd5e4;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:3px solid rgba(255,180,0,.45);border-color:var(--amber-d)}
.f textarea{min-height:76px;resize:vertical}.f .btn{width:100%;margin-top:14px}
.f .hp{position:absolute;left:-9999px;height:0;overflow:hidden}.f small{display:block;margin-top:10px;color:var(--mut);font-size:.8rem;line-height:1.4}
/* sections */
section{padding:52px 0}section.alt{background:var(--soft)}.center{text-align:center}.center .lead2{margin-left:auto;margin-right:auto}
.lead2{color:var(--mut);max-width:44em;font-size:1.06rem}
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:.18s}
.tile:hover{transform:translateY(-3px);box-shadow:var(--sh);color:inherit}
.tile img{aspect-ratio:3/2;object-fit:cover;width:100%}.tile .b{padding:16px 18px 20px}.tile h3{margin:0 0 6px}.tile p{margin:0;color:var(--mut);font-size:.95rem}
.tile .more{display:inline-block;margin-top:10px;font-weight:700;color:#0a4fbf;font-size:.93rem}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 18px}
.steps li:before{content:counter(s);display:flex;width:38px;height:38px;border-radius:50%;background:var(--amber);color:var(--navy);font-weight:800;align-items:center;justify-content:center;margin-bottom:10px}
.steps strong{display:block;color:var(--navy);margin-bottom:4px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.why div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.why b{display:block;color:var(--navy);margin-bottom:6px}.why p{margin:0;color:var(--mut);font-size:.95rem}
.inbreve{background:#fff8e1;border-left:5px solid var(--amber);border-radius:10px;padding:16px 20px;margin:0 0 26px}.inbreve b{color:var(--navy)}.inbreve ul{margin:.4em 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.chips a{display:block;padding:8px 14px;border-radius:99px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--navy);font-weight:600;font-size:.92rem}.chips a:hover{background:var(--navy);color:#fff}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0;margin:0 0 10px}.faq summary{cursor:pointer;padding:16px 18px;font-weight:700;color:var(--navy);list-style:none}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;font-size:1.3rem;line-height:1;color:var(--amber-d)}.faq details[open] summary:after{content:"–"}.faq details p{padding:0 18px 16px;margin:0;color:var(--ink)}
.band{background:var(--navy);color:#fff;border-radius:18px;padding:34px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.band h2,.band h3{color:#fff;margin:0 0 6px}.band p{margin:0;color:#dbe4f3}
/* layout pagine interne */
.pg{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start;padding-top:36px;padding-bottom:20px}
.pg aside{position:sticky;top:92px;display:grid;gap:16px}
.bc{font-size:.86rem;color:var(--mut);padding:14px 18px 0}.bc a{color:var(--mut)}.bc span{margin:0 6px}
.art h2{margin-top:1.5em}.art .fig{margin:0 0 24px;border-radius:var(--r);overflow:hidden}.art .fig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.meta{color:var(--mut);font-size:.9rem;margin-bottom:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.box{background:var(--soft);border-radius:var(--r);padding:18px 20px}.box h3{margin-top:0}
.box ul{margin:0}
.side .card{padding:18px}.contact-list{list-style:none;padding:0;margin:0}.contact-list li{margin:.5em 0}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pill{display:inline-block;background:var(--soft);border-radius:99px;padding:3px 12px;font-size:.82rem;font-weight:700;color:var(--navy);text-decoration:none}
/* footer */
footer.f0{background:var(--navy);color:#c9d5ea;padding:46px 0 24px;margin-top:40px}footer.f0 a{color:#e8eefb;text-decoration:none}footer.f0 a:hover{color:var(--amber)}
footer.f0 .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}footer.f0 h4{color:#fff;margin:0 0 10px;font-size:.95rem}footer.f0 ul{list-style:none;padding:0;margin:0}footer.f0 li{margin:.35em 0;font-size:.94rem}
footer.f0 .logo img{height:52px}.fb{border-top:1px solid #23375a;margin-top:30px;padding-top:18px;font-size:.88rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mbar{display:none}
@media(max-width:960px){
 .hero .wrap{grid-template-columns:1fr}.pg{grid-template-columns:1fr}.pg aside{position:static}
 .g3,.g4,.steps,.why,.rel{grid-template-columns:repeat(2,1fr)}
 footer.f0 .cols{grid-template-columns:1fr 1fr}
 .burger{display:block}.hcall{display:none}
 nav.m{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;max-height:75vh;overflow:auto}nav.m.open{display:block}
 nav.m>ul{flex-direction:column;align-items:stretch;padding:8px 14px 16px}nav.m>ul>li>a,nav.m>ul>li>button{width:100%;text-align:left;padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0}
 .mega{position:static;width:auto;box-shadow:none;border:0;padding:8px 6px 12px;grid-template-columns:1fr!important}nav.m li:hover>.mega{display:none}nav.m li.open>.mega{display:grid}
 header.h .wrap{min-height:64px}.logo img{height:40px}
 body{padding-bottom:64px}
 .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;box-shadow:0 -4px 18px rgba(0,0,0,.18)}
 .mbar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px 4px;font-weight:800;text-decoration:none;font-size:.98rem}
 .mbar .c{background:var(--amber);color:var(--navy)}.mbar .w{background:var(--wa);color:#fff}.mbar .e{background:var(--navy);color:#fff}
}
@media(max-width:600px){
 body{font-size:16px}section{padding:38px 0}.g2,.g3,.g4,.steps,.why,.rel,.two{grid-template-columns:1fr}
 .hero .wrap{padding-top:34px;padding-bottom:36px}.cta .btn{width:100%}.top .wrap{justify-content:center;text-align:center}.top .wrap span:last-child{display:none}
 footer.f0 .cols{grid-template-columns:1fr}.band{padding:24px}
}

/* consenso cookie */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(11,27,51,.28);padding:16px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.ck p{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink)}.ck div{display:flex;gap:10px;flex-shrink:0}
.ckf{position:fixed;right:0;bottom:90px;z-index:80;width:46px;height:46px;border:0;border-radius:14px 0 0 14px;background:var(--navy);color:var(--amber);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:-2px 4px 14px rgba(11,27,51,.3)}
.ckf:hover{background:var(--navy2)}.ck[hidden],.ckf[hidden]{display:none!important}
@media(max-width:960px){.ck{bottom:76px}.ckf{bottom:150px}}
@media(max-width:600px){.ck{flex-direction:column;align-items:stretch}.ck div{width:100%}.ck .btn{flex:1}}
