*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 "Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:#1d2433;background:#f4f6f9;-webkit-font-smoothing:antialiased}
a{color:#0b5cad}a:hover{color:#123a5c}
.w{max-width:1120px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#ffcc4d;padding:6px 10px;z-index:9}
:focus-visible{outline:3px solid #ffcc4d;outline-offset:2px}
header.top{background:linear-gradient(90deg,#0f3150,#123a5c 55%,#174a73);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 rgba(0,0,0,.15)}
header.top .w{display:flex;align-items:center;gap:16px;height:60px}
.logo{font-weight:800;font-size:22px;color:#fff;text-decoration:none;letter-spacing:.01em}.logo span{color:#ffcc4d}
header nav{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:15px}
header nav a{color:#dbe6f2;text-decoration:none}header nav a:hover{color:#fff}
.inl{display:inline}
.btn{display:inline-block;background:#123a5c;color:#fff!important;border:0;border-radius:7px;padding:10px 18px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.2}
.btn:hover{filter:brightness(1.12)}.btn.sm{padding:7px 13px;font-size:14px;background:#ffcc4d;color:#1d2433!important}
.btn.lg{padding:13px 22px;font-size:17px}.btn.ghost{background:#fff;color:#123a5c!important;box-shadow:inset 0 0 0 1.5px #123a5c}
header .btn.sm{background:#ffcc4d;color:#1d2433!important}
.lnk{background:none;border:0;color:#0b5cad;font:inherit;cursor:pointer;padding:0;text-decoration:underline}
header .lnk{color:#dbe6f2;text-decoration:none}
.hero{background:linear-gradient(180deg,#123a5c,#1b4f7a);color:#fff;padding:56px 0 64px}
.hero .w{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.hero h1{font-size:44px;line-height:1.1;margin:8px 0 16px;letter-spacing:-.01em}.hero h1 em{font-style:normal;color:#ffcc4d}
.kick{text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:#a9c3dc;margin:0}
.lead{font-size:18.5px;color:#dbe6f2;max-width:34em}.cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 10px}
.hero .btn{background:#ffcc4d;color:#1d2433!important}.hero .btn.ghost{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 1.5px #fff}
.small{font-size:13.5px;color:#4b5563}.hero .small{color:#a9c3dc}
.hi{margin:0}.hi img{width:100%;height:auto;border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.35);display:block}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-28px;position:relative}
.f{background:#fff;border-radius:10px;padding:20px 22px;box-shadow:0 4px 18px rgba(18,58,92,.08)}.f h3{margin:0 0 6px;color:#123a5c;font-size:17px}.f p{margin:0;color:#475569;font-size:15px}
section h2{font-size:28px;color:#123a5c;margin:56px 0 8px}.sub{color:#4b5563;margin:0 0 20px}
.sg{display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:16px;align-items:start}.sg figure{margin:0}.sg img{width:100%;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.12);display:block}
.sg figcaption{font-size:13.5px;color:#4b5563;margin-top:6px}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.plan{background:#fff;border-radius:12px;padding:22px;box-shadow:0 4px 18px rgba(18,58,92,.08);display:flex;flex-direction:column;border:2px solid transparent}
.plan.hl{border-color:#ffcc4d;position:relative}.plan.hl:before{content:"Consigliato";position:absolute;top:-12px;left:18px;background:#ffcc4d;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}
.plan h3{margin:0;color:#123a5c}.plan .pr{font-size:32px;flex:0;font-weight:800;margin:8px 0 4px;color:#1d2433}.plan .pr small{font-size:14px;font-weight:500;color:#64748b;margin-left:4px}
.plan p{color:#475569;font-size:14.5px;flex:1}.plan form,.plan .btn{margin-top:auto}.plan .btn{width:100%;text-align:center}
.plans.uno{grid-template-columns:minmax(0,440px)!important;justify-content:center}.plan p.lancio{flex:0;margin:10px 0 0;align-self:flex-start;background:#123a5c;color:#fff;font-size:12.5px;font-weight:700;padding:2px 10px;border-radius:999px}.plan .pr s.listino{font-size:22px;font-weight:600;color:#64748b;margin-right:6px}.plan p.listino-l{flex:0;margin:0 0 6px}
.faq details{background:#fff;border-radius:8px;margin:8px 0;padding:12px 16px;box-shadow:0 2px 8px rgba(18,58,92,.06)}.faq summary{font-weight:650;cursor:pointer;color:#123a5c}
.faq p{margin:8px 0 0;color:#475569}
.dev{display:flex;gap:24px;align-items:center;margin:56px auto;background:#fff;border-radius:12px;padding:20px 24px}.dev p{margin:0;color:#475569}
footer.foot{background:#e9edf2;color:#4a5568;font-size:13px;margin-top:64px;padding:22px 0}
footer.foot .fl{display:flex;gap:16px;align-items:center}footer.foot .fl p{margin:0}footer.foot img{display:block}
footer.foot .legal{margin:14px 0 0;border-top:1px solid #d5dce5;padding-top:12px}footer.foot .legal span{color:#4b5563}
.narrow{max-width:480px;margin:40px auto;padding:0 16px}
.pg{padding-top:28px;padding-bottom:20px}.pg h1{color:#123a5c;font-size:30px;margin:0 0 16px}
.card{background:#fff;border-radius:12px;padding:22px 24px;box-shadow:0 4px 18px rgba(18,58,92,.08);margin:0 0 18px}.card h2{margin:0 0 12px;font-size:19px;color:#123a5c}
.frm{display:flex;flex-direction:column;gap:12px}.frm label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:#334155}
.frm label small{font-weight:400;color:#4b5563}
.frm input,.frm select{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #c7ced8;border-radius:7px;background:#fff}
.frm input:focus{border-color:#123a5c;outline:2px solid #ffcc4d}
.frm .chk{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}.frm .chk input{margin-top:5px}
.frm.row{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.frm.row input{flex:1;min-width:220px}.frm.row label{flex:1;min-width:120px}
.msg{padding:11px 14px;border-radius:8px;margin:0 0 14px;background:#e8f1fb;color:#123a5c;font-size:14.5px}
.msg.err{background:#fde8e8;color:#8a1c1c}.msg.warn{background:#fff4d6;color:#5b4a14}
.stato{padding:12px 14px;border-radius:8px;font-size:15px}.stato.ok{background:#e7f6ec;color:#14532d}.stato.ko{background:#fde8e8;color:#8a1c1c}
.acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 0}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tw{overflow:auto}.tb{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff}.tb th,.tb td{padding:7px 9px;border-bottom:1px solid #e5e9ef;text-align:left;vertical-align:top}
.tb th{background:#f1f4f8;color:#334155;font-weight:650}
.tag{display:inline-block;font-size:11.5px;background:#e7f6ec;color:#14532d;border-radius:999px;padding:1px 8px;margin-left:4px}.tag.off{background:#fde8e8;color:#8a1c1c}
.team{list-style:none;padding:0;margin:0 0 12px}.team li{padding:6px 0;border-bottom:1px solid #eef1f5}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 18px;border-bottom:2px solid #dbe2ea}.tabs a{padding:8px 14px;text-decoration:none;color:#334155;border-radius:6px 6px 0 0}
.tabs a.on{background:#123a5c;color:#fff}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:12px}.kpis div{background:#fff;border-radius:10px;padding:14px;box-shadow:0 2px 10px rgba(18,58,92,.07)}
.kpis b{display:block;font-size:24px;color:#123a5c}.kpis span{font-size:12.5px;color:#64748b}
.codes code,.tb code{font-family:ui-monospace,Consolas,monospace;font-size:13.5px;background:#f1f4f8;padding:1px 5px;border-radius:4px}
.legal h2{font-size:20px;margin:24px 0 6px}mark.dc{background:#ffe08a;padding:0 3px;border-radius:3px}
.muted{color:#4b5563}
@media (max-width:900px){.hero .w{grid-template-columns:1fr}.hero h1{font-size:34px}.feats,.plans{grid-template-columns:1fr 1fr}.sg{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.g2{grid-template-columns:1fr}}
@media (max-width:560px){.feats,.plans{grid-template-columns:1fr}header nav{gap:10px;font-size:14px}header nav a:not(.btn){display:none}.dev{flex-direction:column}footer.foot .fl{flex-direction:column;align-items:flex-start}}

/* marchio Nabla Engineering in alto a destra (senza link) */
header.top nav{margin-left:auto}header.top .nbl{display:flex;align-items:center;padding-left:14px;border-left:1px solid rgba(255,255,255,.22)}
header.top .nbl img{height:34px;width:auto;display:block}
@media (max-width:560px){header.top .nbl img{height:24px}header.top .nbl{padding-left:8px}}
/* conformità: avvisi amministratore, dati azienda, cookie, accessibilità */
.adm-warn{background:#7c2d12;color:#fff;padding:12px 0;font-size:14.5px}.adm-warn a{color:#fde68a}.adm-warn ul{margin:6px 0 0 18px;padding:0}
mark.dc{background:#fde68a;color:#1d2433;padding:0 3px;border-radius:3px;font-weight:600}
.g3{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px}
.rad{display:inline-flex;align-items:center;gap:6px;margin:0 18px 8px 0;font-weight:500}
.chk{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:14.5px;line-height:1.45}.chk input{margin-top:4px;flex:none;width:18px;height:18px}
.riepilogo .tb th{text-align:left;width:38%}
details.canc{margin-top:14px}details.canc summary{cursor:pointer;color:#8a1c1c;font-weight:650}
.btn.danger{background:#b91c1c}
.cookie-info{position:fixed;left:16px;right:16px;bottom:16px;max-width:640px;margin:0 auto;background:#123a5c;color:#fff;border-radius:10px;padding:12px 16px;display:flex;gap:14px;align-items:center;box-shadow:0 6px 24px rgba(0,0,0,.25);z-index:50;font-size:14.5px}
.cookie-info p{margin:0;flex:1}.cookie-info a{color:#fde68a}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
[hidden]{display:none!important}
@media (max-width:560px){.g3{grid-template-columns:1fr}.cookie-info{flex-direction:column;align-items:stretch}}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.frm fieldset{border:1px solid #c7ced8;border-radius:8px;padding:8px 14px 4px;margin:0}.frm legend{font-size:14px;font-weight:600;color:#334155;padding:0 6px}
.frm label.rad{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:4px 22px 6px 0;font-weight:500}.frm label.rad input{width:18px;height:18px;margin:0;padding:0}
.frm label.chk{display:block;position:relative;padding-left:30px;font-weight:400;line-height:1.5}.frm label.chk input{position:absolute;left:0;top:2px;width:18px;height:18px;margin:0;padding:0}
.frm label.chk small{display:inline}
/* piè di pagina legale compatto */
footer.foot{font-size:11px;padding:16px 0 18px;margin-top:56px;color:#4b5563}
footer.foot .az{font-size:11px;line-height:1.6;color:#4b5563;margin:0}
.az-r{margin:0;display:flex;flex-wrap:wrap;align-items:baseline}.az-r>span+span::before{content:"·";margin:0 .45em;color:#6b7280}
.az-r:first-child>span:first-child{font-weight:600;color:#1f2937}
.az-l{margin-top:6px;padding-top:6px;border-top:1px solid #d5dce5}.az-l>span:first-child{font-weight:400}
.az-l a{color:#1b4f80}.az-l>span:last-child{color:#4b5563}
footer.foot .disc{margin:4px 0 0;font-size:11px;color:#4b5563}
@media (max-width:600px){footer.foot .az,footer.foot .disc{text-align:center}.az-r{flex-direction:column;align-items:center}
  .az-r>span+span::before{content:none}.az-l{flex-direction:row;flex-wrap:wrap;justify-content:center}.az-l>span+span::before{content:"·"}}

.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.frm textarea{width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;border:1px solid #8a94a6;border-radius:6px}
.beta{display:inline-block;margin-left:8px;padding:1px 7px;border:1px solid #7fa3c4;border-radius:999px;background:#1f4d75;color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.5;vertical-align:middle;cursor:help;white-space:nowrap}
header.top .logo+.beta{margin-left:-8px}
footer.foot .beta-n{margin-top:8px}
