/* Font self-hosted (Google Fonts, licenza OFL) - nessuna richiesta a terzi */
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/comfortaa-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/comfortaa-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/fredoka-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/fredoka-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{--k:#07090e;--k2:#0d111a;--k3:#141a27;--line:#252d40;--ink:#eef1f8;--mut:#98a2b8;--b:#0f4bbd;--b2:#6f92dc;--bd:#0b3a94;--ok:#3fd08a;--warn:#ffb020;--bad:#ff5d5d;--fd:'Bricolage Grotesque','DM Sans',system-ui,sans-serif;--fb:'DM Sans',system-ui,sans-serif;--fm:'DM Sans',system-ui,sans-serif;--sw:250px;--rad:0px;color-scheme:dark}
*{box-sizing:border-box;margin:0;border-radius:0}
html{scroll-behavior:smooth;scroll-padding-top:10px}
body{background:var(--k);color:var(--ink);font:400 16px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
svg{display:block;flex:none}
:focus-visible{outline:2px solid var(--b2);outline-offset:2px}
.mono{font-family:var(--fm)}
/* layout + sidebar */
.sb{position:fixed;left:0;top:0;bottom:0;width:var(--sw);background:#05070b;border-right:1px solid var(--line);z-index:60;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.2,.8,.2,1),transform .3s}
.sb-h{display:flex;align-items:center;gap:12px;padding:16px 14px;border-bottom:1px solid var(--line);min-height:68px}
.mark{width:36px;height:36px;background:var(--b);display:grid;place-items:center;font:800 20px var(--fd);color:#fff;flex:none;position:relative}
.mark::after{content:"";position:absolute;right:0;top:0;width:10px;height:10px;background:#05070b;clip-path:polygon(0 0,100% 0,100% 100%)}
.brand{font:800 14px/1.1 var(--fd);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden}.brand small{display:block;font:500 11px var(--fm);color:var(--mut);letter-spacing:.05em;text-transform:none;margin-top:3px}
.sb nav{flex:1;padding:10px 0;overflow:auto}
.sb nav a{display:flex;align-items:center;gap:14px;padding:12px 20px;color:var(--mut);font-weight:600;font-size:15px;position:relative;white-space:nowrap;transition:color .2s,background .2s}
.sb nav a:hover{color:var(--ink);background:#0c1019}
.sb nav a.on{color:#fff;background:linear-gradient(90deg,rgba(15,75,189,.22),transparent)}
.sb nav a.on::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--b)}
.sb nav a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:square}
.sb-f{border-top:1px solid var(--line);padding:10px}
.tgl{width:100%;display:flex;align-items:center;gap:12px;padding:10px;background:transparent;border:1px solid var(--line);color:var(--mut);font-weight:600;font-size:13px}
.tgl:hover{color:#fff;border-color:var(--b)}.tgl svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;transition:transform .3s}
body.sbc{--sw:68px}body.sbc .sb .lb,body.sbc .brand{display:none}body.sbc .sb nav a{padding:12px 24px}body.sbc .tgl svg{transform:rotate(180deg)}body.sbc .tgl{justify-content:center}
main{margin-left:var(--sw);transition:margin .3s cubic-bezier(.2,.8,.2,1)}
.top{display:none}
.w{max-width:1180px;margin:0 auto;padding:0 28px}
section{position:relative}
.sec{padding:96px 0}
.ey{display:inline-flex;align-items:center;gap:10px;font:500 12px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--b2)}.ey::before{content:"";width:22px;height:2px;background:var(--b)}
h2.t{font:800 clamp(30px,4.4vw,54px)/1.04 var(--fd);letter-spacing:-.02em;margin:14px 0 14px;max-width:18em}
h2.t em{font-style:normal;color:var(--b2)}
.lead{color:var(--mut);font-size:18px;max-width:42em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;font:700 15px var(--fd);letter-spacing:.02em;border:2px solid var(--b);background:var(--b);color:#fff;transition:transform .2s,background .2s,box-shadow .2s;text-align:center}
.btn:hover{background:#0c3f9e;box-shadow:6px 6px 0 #0b1a5c;transform:translate(-3px,-3px)}
.btn.ghost{background:transparent;border-color:#3a4562;color:var(--ink)}.btn.ghost:hover{border-color:var(--b2);background:transparent;box-shadow:6px 6px 0 #101830}
.btn.sm{padding:10px 16px;font-size:13px}.btn.blk{width:100%}.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.tag{display:inline-block;font:600 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;background:var(--b);color:#fff}.tag.o{background:transparent;border:1px solid #3a4562;color:var(--mut)}.tag.w{background:var(--warn);color:#1a1200}
/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:60px 0;background:radial-gradient(900px 500px at 85% 20%,rgba(15,75,189,.2),transparent 60%),var(--k);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;opacity:.35;mask-image:radial-gradient(ellipse at 70% 40%,#000,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000,transparent 70%)}
.hg{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative}
.hero h1{font:800 clamp(38px,5.6vw,78px)/.98 var(--fd);letter-spacing:-.03em;margin:18px 0 22px}.hero h1 em{font-style:normal;color:var(--b2)}
.hero .sub{font-size:19px;color:var(--mut);max-width:34em;margin-bottom:30px}
.acts{display:flex;gap:14px;flex-wrap:wrap}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.chips span{font:500 12px var(--fm);border:1px solid var(--line);padding:6px 10px;color:var(--mut)}
.hv{position:relative;height:420px}
.hv .p{position:absolute;background:var(--k2);border:1px solid #2c3652;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.hv .p1{left:0;top:30px;width:78%;height:270px;padding:16px;animation:fl 7s ease-in-out infinite}
.hv .p2{right:0;top:0;width:46%;height:150px;padding:14px;background:var(--b);border-color:var(--b2);animation:fl 6s ease-in-out -2s infinite}
.hv .p3{right:6%;bottom:0;width:62%;height:140px;padding:14px;animation:fl 8s ease-in-out -4s infinite}
@keyframes fl{50%{transform:translateY(-12px)}}
.bars{display:flex;gap:8px;align-items:flex-end;height:150px;margin-top:14px}.bars i{flex:1;background:var(--b);animation:gr 3.4s ease-in-out infinite;transform-origin:bottom}.bars i:nth-child(odd){background:#3a6fd8}
@keyframes gr{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.mini{font:500 11px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}.p2 .mini{color:#cfdcff}.big{font:800 34px var(--fd);margin-top:4px}
.ln{height:8px;background:#212a3e;margin-top:9px}.ln.s{width:60%}
/* sezioni alterne */
.alt{background:var(--k2)}
/* carousel */
.car{overflow:hidden;position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#05070b}
.car-t{display:flex;gap:22px;padding:26px 0;width:max-content;touch-action:pan-y}
.site{width:340px;flex:none;background:var(--k2);border:1px solid var(--line);text-align:left;padding:0;transition:transform .25s,border-color .25s;position:relative}
.site:hover{transform:translateY(-6px);border-color:var(--b)}
.site .bar{display:flex;gap:6px;padding:8px 10px;background:#121826;border-bottom:1px solid var(--line)}.site .bar i{width:8px;height:8px;background:#2d3750}
.site img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;display:block}
.site .cap{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:700;font-size:14px}.site .cap span{font:500 11px var(--fm);color:var(--b2);letter-spacing:.06em}
.car-n{display:flex;justify-content:space-between;align-items:center;padding:0 28px 16px;font:500 12px var(--fm);color:var(--mut);letter-spacing:.06em}
/* pacchetti */
.pk{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.pc{background:var(--k2);border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column;position:relative;transition:border-color .25s,transform .25s}
.pc:hover{border-color:var(--b);transform:translateY(-4px)}
.pc.hot{border:2px solid var(--b);background:linear-gradient(180deg,#0f1630,var(--k2) 40%)}
.pc .tag{position:absolute;top:-12px;left:28px}
.pc h3{font:800 22px var(--fd);letter-spacing:.02em}.pc .l{color:var(--mut);font-size:15px;margin:6px 0 20px;min-height:46px}
.pr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:22px}
.pr div{padding:14px}.pr div+div{border-left:1px solid var(--line);background:#0a0e18}
.pr small{display:block;font:500 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.pr b{font:800 30px/1.1 var(--fd);display:block;margin-top:6px}.pr b span{font:600 13px var(--fd);color:var(--mut)}
.pc ul{list-style:none;padding:0;margin:0 0 24px;flex:1;display:grid;gap:10px}
.pc li{display:flex;gap:10px;font-size:15px;line-height:1.4}.pc li::before{content:"";width:10px;height:10px;background:var(--b);margin-top:6px;flex:none}
.pc .base{font:700 13px var(--fm);color:var(--b2);letter-spacing:.04em;padding:8px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.note{font:500 13px var(--fm);color:var(--mut);margin-top:22px;border-left:3px solid var(--b);padding-left:12px}
/* e-commerce */
.ec{background:var(--b);color:#fff}.ec .ey{color:#d4e0ff}.ec .ey::before{background:#fff}.ec h2.t em{color:#08162e}.ec .lead{color:#dfe8ff}
.ecg{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;margin-top:40px;align-items:start}
.fl{list-style:none;padding:0;display:grid;gap:12px;margin:24px 0}.fl li{display:flex;gap:12px;font-weight:600}.fl li::before{content:"";width:12px;height:12px;border:3px solid #fff;margin-top:5px;flex:none}
.px{background:#08162e;border:1px solid #0f4bbd;padding:20px;margin-top:20px}.px .r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #243079;font-size:15px}.px .r:last-child{border:0}.px b{font:800 20px var(--fd)}
.px .tag.w{margin-bottom:10px}
/* app frame demo */
.dm{max-width:100%;overflow:hidden;border:1px solid #2c3652;background:#fff;color:#12172a;display:flex;flex-direction:column;min-height:520px;box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}
.dm-b{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#0d111a;color:#8f9bb5;font:500 11px var(--fm);border-bottom:1px solid #252d40}.dm-b i{width:9px;height:9px;background:#2d3750}.dm-b span{margin-left:8px}.dm-b b{margin-left:auto;color:var(--warn);font-weight:500;letter-spacing:.06em}
.dm-tabs{display:flex;background:#f0f2f8;border-bottom:1px solid #d8dde9;overflow-x:auto}.dm-tabs button{border:0;background:transparent;padding:11px 18px;font:700 13px var(--fd);color:#556;white-space:nowrap;border-bottom:3px solid transparent}.dm-tabs button.on{color:#12172a;border-color:var(--b);background:#fff}
.shop{overflow:hidden;padding:18px;flex:1;position:relative;background:#f7f8fc}
.shop-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:800;font-size:18px}
.cartb{background:#12172a;color:#fff;border:0;padding:9px 14px;font-weight:700;font-size:13px;display:flex;gap:8px}.cartb b{background:var(--b);padding:0 7px}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pd{background:#fff;border:1px solid #dde2ee;text-align:left;padding:0;transition:border-color .2s,transform .2s}.pd:hover{border-color:var(--b);transform:translateY(-3px)}
.pd img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.pd div{padding:10px 12px}.pd b{display:block;font-size:13px;line-height:1.25}.pd span{font:700 14px var(--fm);color:var(--bd)}
.pdet{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pdet img{width:100%;border:1px solid #dde2ee}.pdet h3{font:800 22px var(--fd);margin:6px 0 8px}.pdet .pz{font:800 26px var(--fd);margin:10px 0}
.dr{position:absolute;right:0;top:0;bottom:0;width:min(330px,100%);background:#fff;border-left:2px solid #12172a;padding:16px;transform:translateX(102%);transition:transform .3s;z-index:5;display:flex;flex-direction:column;gap:10px;overflow:auto}.dr.on{transform:none}
.ci{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #e6e9f2;font-size:14px}
.f{display:grid;gap:10px}.f label{display:grid;gap:4px;font:700 12px var(--fm);letter-spacing:.04em;text-transform:uppercase;color:#445}
.f input,.f select,.f textarea{border:1px solid #c5cbdb;background:#fff;padding:10px 12px;font-size:15px;color:#12172a;width:100%}
.f input:focus,.f textarea:focus,.f select:focus{outline:2px solid var(--b);outline-offset:-1px}
.tb{width:100%;border-collapse:collapse;font-size:13.5px}.tb th{text-align:left;font:600 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:#667;padding:8px 10px;border-bottom:2px solid #12172a;white-space:nowrap}.tb td{padding:9px 10px;border-bottom:1px solid #e3e7f1;vertical-align:middle}.tb tr:hover td{background:#f4f6fb}
.scr{overflow-x:auto}
.doc{background:#fff;border:2px solid #12172a;padding:20px;font:500 13px var(--fm);line-height:1.7}
/* software */
.swi{padding:70px 0;border-top:1px solid var(--line)}
.swh{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:26px}
.swh h3{font:800 clamp(28px,3.6vw,44px)/1 var(--fd);letter-spacing:-.02em;margin:10px 0 8px}.swh h3 span{color:var(--b2)}
.n{font:800 70px/1 var(--fd);color:#1a2338;letter-spacing:-.04em}
.prg{margin-top:26px;border:1px solid var(--line);background:var(--k2)}
.prg-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--line);background:#0a0e18}
.prg-h b{font:800 17px var(--fd);letter-spacing:.03em}
.mr{display:grid;grid-template-columns:28px 1fr 130px 100px;gap:14px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s}
.mr:hover{background:#101626}.mr input{width:18px;height:18px;accent-color:var(--b)}
.mr b{display:block;font-size:15px}.mr small{color:var(--mut);font-size:13px;display:block}
.mr .a,.mr .m{font:600 14px var(--fm);text-align:right}.mr .m{color:var(--b2)}
.mr.off{opacity:.55}
.sel{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 22px;background:#0a0e18;border-bottom:1px solid var(--line);font:600 14px var(--fm)}
.full{padding:24px 22px;background:linear-gradient(135deg,#0f1b4a,#0a0e18 70%);display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:stretch}
.full>div{border:1px solid #2d3d85;padding:16px;background:rgba(10,14,24,.6)}
.full small{display:block;font:500 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--b2)}
.full s{color:var(--mut);font:600 16px var(--fm)}.full b.v{font:800 30px var(--fd);display:block;margin-top:2px}.full .sv{font:600 13px var(--fm);color:var(--ok);margin-top:6px}
.full .cta{display:flex;flex-direction:column;gap:10px;justify-content:center;border:0;background:transparent;padding:0}
.badge20{display:inline-block;background:var(--ok);color:#03150b;font:800 13px var(--fm);padding:4px 10px}
/* AI */
.ai{--rad:22px;background:radial-gradient(900px 600px at 10% 0,rgba(15,75,189,.30),transparent 60%),radial-gradient(800px 500px at 95% 40%,rgba(58,111,216,.2),transparent 60%),#070d24;border-top:1px solid #233a8a}
.ai .btn{border-radius:99px;background:linear-gradient(135deg,#2a62cc,#0c3f9e);border:0;color:#fff}.ai .btn:hover{box-shadow:0 10px 36px rgba(15,75,189,.5);transform:translateY(-2px);background:linear-gradient(135deg,#4a78d6,#0f4bbd)}
.ai .btn.ghost{background:transparent;border:1.5px solid rgba(160,170,255,.4)}
.ai .ey{color:#a8bdeb}.ai .ey::before{background:linear-gradient(90deg,#3a6fd8,#0c3f9e);height:3px;border-radius:9px}
.ai h2.t em{background:linear-gradient(90deg,#7f9fe3,#6f92dc);-webkit-background-clip:text;background-clip:text;color:transparent}
.ai .tag{border-radius:99px;background:linear-gradient(135deg,#3a6fd8,#0c3f9e)}
.aic{background:linear-gradient(160deg,rgba(40,48,120,.55),rgba(18,20,60,.75));border:1px solid rgba(140,150,255,.28);border-radius:26px;padding:26px;backdrop-filter:blur(6px);margin-top:34px}
.aig{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}
.chat{background:#0d1030;border:1px solid rgba(140,150,255,.25);border-radius:22px;display:flex;flex-direction:column;height:520px;overflow:hidden}
.chat-h{display:flex;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(140,150,255,.2)}
.av{width:38px;height:38px;border-radius:50%!important;background:linear-gradient(135deg,#3a6fd8,#0c3f9e);display:grid;place-items:center;font-weight:800;box-shadow:0 0 18px rgba(15,75,189,.7)}
.chat-h small{display:block;color:#9fc0e8;font-size:12px}
.msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.cm{max-width:88%;padding:11px 15px;border-radius:18px;font-size:15px;line-height:1.45;animation:in .3s}
.cm.u{align-self:flex-end;background:linear-gradient(135deg,#2a62cc,#0f4bbd);border-bottom-right-radius:6px}.cm.a{align-self:flex-start;background:#14275e;border:1px solid rgba(140,150,255,.25);border-bottom-left-radius:6px}
.cm ul{margin:6px 0 0 18px}.cm .act{display:block;margin-top:8px;font:600 12px var(--fm);color:#7ef0b0}
.cm.mail{background:#111538;border:1px dashed #4a78d6;width:92%}.cm.mail pre{white-space:pre-wrap;font:500 12.5px/1.5 var(--fm);color:#cfd8ff;margin:6px 0 10px}
@keyframes in{from{opacity:0;transform:translateY(8px)}}
.qs{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid rgba(140,150,255,.2);max-height:116px;overflow:auto}
.qs button{border-radius:99px;border:1px solid rgba(140,150,255,.4);background:rgba(15,75,189,.12);padding:7px 13px;font-size:13px;color:#d6defc;transition:.2s}.qs button:hover{background:rgba(15,75,189,.35);border-color:#6f92dc}
.qs button.op{border-color:#7ef0b0;color:#c8ffe0}
.inp{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(140,150,255,.2)}
.inp input{flex:1;min-width:0;background:#141848;border:1px solid rgba(140,150,255,.3);border-radius:99px;padding:11px 16px;color:#fff}
.rb{flex:none;width:44px;height:44px;border-radius:50%!important;border:0;background:linear-gradient(135deg,#2a62cc,#0c3f9e);display:grid;place-items:center;color:#fff}.rb svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
.rb.rec{animation:pu 1s infinite;background:#ef4a6d}
@keyframes pu{0%{box-shadow:0 0 0 0 rgba(239,74,109,.7)}100%{box-shadow:0 0 0 16px rgba(239,74,109,0)}}
.gc{background:#0d1030;border:1px solid rgba(140,150,255,.25);border-radius:22px;padding:18px;height:520px;overflow:auto}
.gc h4{font:700 12px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:#a8bdeb;margin:0 0 10px;display:flex;justify-content:space-between}
.gc table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:18px}.gc td{padding:8px 6px;border-bottom:1px solid rgba(140,150,255,.15)}
.gc .fl2{animation:fl2 1.6s}@keyframes fl2{0%,30%{background:rgba(126,240,176,.35)}100%{background:transparent}}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font:600 11px var(--fm);background:#1f2766;color:#b8d8ff}.pill.g{background:#0f3b2a;color:#7ef0b0}.pill.y{background:#463a0c;color:#ffd666}
.aip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.aip>div{border:1px solid rgba(140,150,255,.3);border-radius:18px;padding:16px;background:rgba(20,24,70,.5)}.aip b{display:block;margin-bottom:4px}.aip p{color:#a6bcd8;font-size:14px}
.pg2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.pg2>div{border:1px solid rgba(140,150,255,.3);border-radius:18px;padding:16px;background:rgba(10,12,40,.6)}.pg2 small{display:block;font:500 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:#a8bdeb}.pg2 b{font:800 24px var(--fd)}.pg2 b span{font-size:13px;color:#a6bcd8;font-weight:600}
/* centralino */
.cl{display:grid;grid-template-columns:260px 1fr 1fr;gap:20px}
.ph{background:#05061a;border:2px solid rgba(140,150,255,.35);border-radius:34px;padding:22px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:460px}
.ph .n2{font:600 13px var(--fm);color:#9fc0e8}.ph .nm{font:800 20px var(--fd)}
.ring{width:92px;height:92px;border-radius:50%!important;background:linear-gradient(135deg,#2a62cc,#0c3f9e);display:grid;place-items:center;margin:10px 0}.ring svg{width:38px;height:38px;stroke:#fff;fill:none;stroke-width:2}.ring.on{animation:pu2 1.4s infinite}
@keyframes pu2{0%{box-shadow:0 0 0 0 rgba(15,75,189,.7)}100%{box-shadow:0 0 0 28px rgba(15,75,189,0)}}
.wv{display:flex;gap:4px;align-items:center;height:36px}.wv i{width:4px;background:#7f9fe3;height:6px;border-radius:4px!important;transition:height .1s}.wv.on i{animation:wv .9s ease-in-out infinite}.wv i:nth-child(2n){animation-delay:.2s}.wv i:nth-child(3n){animation-delay:.4s}
@keyframes wv{50%{height:30px}}
.stp{list-style:none;padding:0;display:grid;gap:8px}.stp li{display:flex;gap:12px;padding:10px 12px;border:1px solid rgba(140,150,255,.22);border-radius:14px;font-size:14px;color:#8f9ccd;transition:.3s}
.stp li b{width:24px;height:24px;border-radius:50%!important;border:1.5px solid currentColor;display:grid;place-items:center;font:700 12px var(--fm);flex:none}
.stp li.on{color:#fff;border-color:#6f92dc;background:rgba(15,75,189,.2)}.stp li.dn{color:#7ef0b0;border-color:rgba(126,240,176,.4)}
.tr{height:230px;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.sc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.sc button{border-radius:99px;border:1px solid rgba(140,150,255,.4);background:transparent;padding:7px 14px;font-size:13px;color:#d6defc}.sc button.on{background:linear-gradient(135deg,#2a62cc,#0c3f9e);border-color:transparent}
/* social */
.soc{background:var(--k2)}
.sg{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;margin-top:34px}
.cal{background:#fff;color:#12172a;border:1px solid #2c3652}
.cal-h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0d111a;color:#fff;font:700 14px var(--fm);gap:8px;flex-wrap:wrap}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr)}.cal-g .dn{background:#f0f2f8;padding:6px;font:600 11px var(--fm);text-transform:uppercase;text-align:center;border-bottom:1px solid #d8dde9}
.cd{min-height:78px;border:0;border-right:1px solid #e3e7f1;border-bottom:1px solid #e3e7f1;background:#fff;text-align:left;padding:5px;position:relative;color:#12172a}.cd:hover{background:#eef3ff}.cd.out{background:#f7f8fb;color:#aab}.cd.today{box-shadow:inset 0 0 0 2px var(--b)}.cd.sel{background:#e4ecff}
.cd .d{font:600 11px var(--fm)}.cd .pp{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}.cd .pp i{width:14px;height:14px;display:block}.i-ig{background:linear-gradient(45deg,#f9a03f,#e1306c,#8a3ab9)}.i-fb{background:#1877f2}.i-ok{outline:2px solid var(--ok);outline-offset:1px}
.pv{display:grid;gap:16px}.phn{background:#fff;color:#12172a;border:1px solid #2c3652;padding:14px}
.fd{aspect-ratio:1;margin:10px 0;display:grid;place-items:center;text-align:center;padding:18px;font:800 22px/1.15 var(--fd);color:#fff}
.sw2{display:flex;align-items:center;gap:10px;font:600 13px var(--fm)}.sw2 button{width:46px;height:24px;background:#c8cede;border:0;position:relative;padding:0}.sw2 button::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;transition:left .25s}.sw2 button.on{background:var(--b)}.sw2 button.on::after{left:25px}
/* consulenza */
.cons{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;align-items:start}
.topics{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.topics span{border:1px solid #3a4562;padding:8px 14px;font-weight:600;font-size:14px}
.big2{font:800 72px/1 var(--fd);letter-spacing:-.03em}.big2 small{font:600 18px var(--fm);color:var(--mut);letter-spacing:0}
/* chi siamo */
.cs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border:1px solid var(--line)}
.cs>div{padding:26px;border-right:1px solid var(--line)}.cs>div:last-child{border:0}.cs h3{font:800 19px var(--fd);margin:10px 0 8px}.cs p{color:var(--mut);font-size:15px}.cs .num{font:500 12px var(--fm);color:var(--b2)}
.zone3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.zone3>div{border-left:3px solid var(--b);padding:6px 0 6px 16px}.zone3 h3{font:800 17px var(--fd);margin-bottom:4px}.zone3 p{color:var(--mut);font-size:14.5px}
/* contatti */
.ct{background:var(--b);color:#fff;overflow:hidden}
.ct h2{font:800 clamp(44px,8vw,112px)/.92 var(--fd);letter-spacing:-.04em;max-width:9em;margin:16px 0 22px}
.ct .lead{color:#e0e8ff}
.cb{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border:2px solid #fff}
.cb a{padding:26px 24px;display:flex;flex-direction:column;gap:6px;background:#08162e;transition:background .25s,color .25s;border-right:2px solid #fff;position:relative}
.cb a:last-child{border:0}.cb a:hover{background:#fff;color:#08162e}.cb small{font:500 12px var(--fm);letter-spacing:.1em;text-transform:uppercase;opacity:.75}.cb b{font:800 22px var(--fd);word-break:break-word}.cb em{font-style:normal;font:500 13px var(--fm);opacity:.8}
.cf{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.cf .f{background:#08162e;padding:24px;border:2px solid #fff}.cf .f label{color:#c9d5ff}.cf .f input,.cf .f textarea,.cf .f select{background:#141b45;border-color:#33407f;color:#fff}
.cf p{color:#e0e8ff}
/* faq */
.fq{max-width:860px;margin-top:30px}
.fq details{border-bottom:1px solid var(--line)}.fq summary{list-style:none;padding:20px 0;font:700 18px var(--fd);cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";font:500 28px var(--fm);color:var(--b2);transition:transform .25s}.fq details[open] summary::after{transform:rotate(45deg)}
.fq details p{color:var(--mut);padding:0 40px 22px 0;max-width:46em;animation:in .3s}
footer{margin-left:var(--sw);transition:margin .3s cubic-bezier(.2,.8,.2,1);border-top:1px solid var(--line);padding:44px 0 36px;background:#05070b;color:var(--mut);font-size:14px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.fg .fh{font:600 12px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}.fg a{display:block;padding:3px 0}.fg a:hover{color:#fff}
.stt{margin-top:28px;border:1px dashed #4a5578;padding:16px 18px;font:500 12.5px/1.8 var(--fm)}.stt b{color:var(--warn)}.stt .ok{color:var(--ok)}.stt .no{color:var(--bad)}
/* modal + toast */
.ov{position:fixed;inset:0;background:rgba(3,5,10,.82);z-index:200;display:none;align-items:center;justify-content:center;padding:18px}.ov.on{display:flex}
.md{min-width:0;background:#fff;color:#12172a;width:min(720px,100%);max-height:92vh;overflow:auto;border:2px solid #12172a;box-shadow:12px 12px 0 var(--b);position:relative;animation:in .3s}
.md.wide{width:min(900px,100%)}
.md-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:#0d111a;color:#fff;position:sticky;top:0;z-index:2}.md-h b{font:800 17px var(--fd)}.md-h button{background:transparent;border:1px solid #3a4562;color:#fff;width:36px;height:36px;font-size:18px}
.md-b{padding:22px}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;max-width:100%}.md-b{min-width:0}.days button{flex:none;border:1px solid #c5cbdb;background:#fff;padding:10px 12px;min-width:68px;text-align:center;font-weight:700}.days button small{display:block;font:500 10px var(--fm);text-transform:uppercase;color:#667}.days button.on{background:var(--b);color:#fff;border-color:var(--b)}.days button.on small{color:#d6e0ff}
.sl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 18px}.sl button{border:1px solid #c5cbdb;background:#fff;padding:12px;font:600 14px var(--fm)}.sl button.on{background:#12172a;color:#fff;border-color:#12172a}
.stps{display:flex;gap:6px;margin-bottom:16px}.stps i{flex:1;height:4px;background:#d8dde9}.stps i.on{background:var(--b)}
.sumb{border:2px solid #12172a;padding:16px;font:500 14px/1.8 var(--fm);margin:12px 0;background:#f4f6fb}
.warn{background:#fff4d6;border:1px solid #e6b800;padding:10px 12px;font:500 12.5px/1.5 var(--fm);color:#4a3600;margin:10px 0}
.sc-img{width:100%;display:block}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:#fff;color:#12172a;border:2px solid #12172a;box-shadow:6px 6px 0 var(--b);padding:12px 18px;font-weight:700;z-index:300;opacity:0;transition:.3s;pointer-events:none;max-width:90vw}.toast.on{opacity:1;transform:translate(-50%,0)}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
/* app: shell comune */
.app{display:flex;flex:1;min-height:470px;font-size:14px}
.ap-sb{width:170px;background:#0f1522;color:#aab3cc;flex:none;display:flex;flex-direction:column;padding:10px 0}
.ap-sb b.lg{color:#fff;font:800 15px var(--fd);padding:8px 16px 14px;letter-spacing:.04em}
.ap-sb button{background:transparent;border:0;color:inherit;text-align:left;padding:10px 16px;font-weight:600;font-size:13.5px;border-left:3px solid transparent}.ap-sb button:hover{color:#fff}.ap-sb button.on{background:#1a2338;color:#fff;border-color:var(--b)}
.ap-m{flex:1;padding:16px;overflow:auto;min-width:0}
.ap-m h4{font:800 18px var(--fd);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.kp{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.kp>div{border:1px solid #d8dde9;padding:12px;background:#fff}.kp small{display:block;font:500 10.5px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:#667}.kp b{font:800 22px var(--fd);display:block;margin-top:3px}.kp .up{color:#0a9a5a;font:600 11px var(--fm)}
.st{display:inline-block;padding:2px 8px;font:600 11px var(--fm);border:1px solid}.st.a{color:#a35c00;border-color:#e6a23c;background:#fff6e5}.st.b{color:#0f4bbd;border-color:#6f92dc;background:#edf3ff}.st.c{color:#0a7a47;border-color:#5fcf9a;background:#e9fbf2}.st.r{color:#b42323;border-color:#f08a8a;background:#fff0f0}
.sbtn{background:#12172a;color:#fff;border:0;padding:5px 10px;font:600 12px var(--fd)}.sbtn.l{background:#fff;color:#12172a;border:1px solid #12172a}
.mini-sel{border:1px solid #c5cbdb;padding:4px 6px;font-size:13px;background:#fff;color:#12172a}
.wk{display:grid;grid-template-columns:90px repeat(5,1fr);border:1px solid #d8dde9;font-size:12.5px;min-width:600px}.wk>div{padding:6px;border-right:1px solid #e3e7f1;border-bottom:1px solid #e3e7f1;min-height:46px}.wk .hd{background:#f0f2f8;font:600 11px var(--fm);text-transform:uppercase;min-height:0}.wk .jb{background:#edf3ff;border-left:3px solid var(--b);padding:3px 5px;margin-bottom:3px;font-size:12px}
.bar2{height:10px;background:#e3e7f1}.bar2 i{display:block;height:100%;background:var(--b)}
/* ink: dark */
.mg{font:700 12px var(--fm)}.mg.hi{color:#34c98a}.mg.lo{color:#ff7a5a}
/* crm */
.kb{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px;overflow-x:auto}.kb>div{background:#eef2f0;padding:8px;min-height:300px}.kb h5{font:700 11px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:#455;margin-bottom:8px;display:flex;justify-content:space-between}
.kc{background:#fff;border:1px solid #cfd8d4;border-left:4px solid #1aa97a;padding:8px 9px;margin-bottom:8px;width:100%;text-align:left;font-size:12.5px;display:block;transition:transform .15s}.kc:hover{transform:translateX(3px)}.kc b{display:block}.kc span{font:600 11px var(--fm);color:#0d6b4c}
/* stay */
.gt{display:grid;grid-template-columns:130px repeat(14,minmax(34px,1fr));min-width:700px;font-size:11px}.gt>div{border-right:1px solid #e8dfcf;border-bottom:1px solid #e8dfcf;padding:5px 3px;min-height:34px;text-align:center}.gt .rw{text-align:left;font-weight:700;padding:7px;background:#f3ecdf}.gt .dh{background:#f3ecdf;font:600 10px var(--fm)}.gt .em{cursor:pointer}.gt .em:hover{background:#e8f3ef}.gt .bk{color:#fff;font-weight:700;cursor:pointer;text-align:left;padding:7px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-bk{background:#0f4bbd}.s-ab{background:#d44a63}.s-di{background:#1f8f6a}
.lgd{display:flex;gap:14px;font:500 11px var(--fm);margin:10px 0;flex-wrap:wrap}.lgd i{display:inline-block;width:11px;height:11px;margin-right:5px;vertical-align:-1px}
@media(max-width:1100px){.hg,.ecg,.cons,.cf,.sg,.aig{grid-template-columns:1fr}.hv{height:360px}.cl{grid-template-columns:1fr}.ph{min-height:0;border-radius:26px}.full{grid-template-columns:1fr}.pk{grid-template-columns:1fr}.aip,.pg2,.zone3{grid-template-columns:1fr}.cs{grid-template-columns:1fr}.cs>div{border-right:0;border-bottom:1px solid var(--line)}.cb{grid-template-columns:1fr}.cb a{border-right:0;border-bottom:2px solid #fff}.fg{grid-template-columns:1fr}}
@media(max-width:899px){
 .sb{transform:translateX(-102%);width:270px!important}body.mo .sb{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.6)}body.mo .sb .lb,body.mo .brand{display:block!important}.sb .tgl{display:none}
 main,footer{margin-left:0!important}
 .top{display:flex;position:sticky;top:0;z-index:50;align-items:center;gap:12px;padding:10px 14px;background:rgba(5,7,11,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
 .top .bg{width:42px;height:42px;background:transparent;border:1px solid var(--line);display:grid;place-items:center}.top .bg svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2}.top .btn{margin-left:auto}
 .w{padding:0 18px}.sec{padding:64px 0}.hero{min-height:0;padding:36px 0 48px}.hv{display:none}
 .swh{grid-template-columns:1fr}.n{display:none}
 .mr{grid-template-columns:24px 1fr;gap:8px 12px}.mr .a,.mr .m{text-align:left;grid-column:2}.mr .m::before{content:"Mese ";color:#6f7a96;font-weight:500}
 .app,.app.crm{flex-direction:column}.ap-sb,.app.crm .ap-sb{width:auto;flex-direction:row;overflow-x:auto;padding:0}.ap-sb b.lg{padding:12px 14px}.ap-sb button,.app.crm .ap-sb button{white-space:nowrap;border-left:0;border-bottom:3px solid transparent;padding:12px 14px}.ap-sb button.on{border-color:var(--b)}
 .kp{grid-template-columns:1fr 1fr}.pg{grid-template-columns:1fr 1fr}.pdet{grid-template-columns:1fr}.dr{width:100%}
 .big2{font-size:54px}.site{width:270px}.cd{min-height:58px}.sl{grid-template-columns:repeat(2,1fr)}
 .ct h2{font-size:clamp(40px,13vw,70px)}.pc .l{min-height:0}
}
@media(max-width:899px){#kiF{grid-template-columns:1fr 1fr!important}.kb{grid-template-columns:repeat(5,170px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.rv{opacity:1;transform:none}}

.hero{flex-direction:column;justify-content:center;gap:40px}.hero>.w{width:100%}
.hv{height:460px}.hv .shf{position:absolute;background:var(--k2);border:1px solid #2c3652;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);width:68%;overflow:hidden}.hv .shf img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;object-position:top}.hv .shf .bar{display:flex;gap:6px;padding:7px 9px;background:#121826}.hv .shf .bar i{width:7px;height:7px;background:#2d3750}
.hv .s1{left:0;top:40px;animation:fl 7s ease-in-out infinite}.hv .s2{right:0;top:150px;animation:fl 8s ease-in-out -3s infinite}.hv .s3{left:12%;bottom:0;width:58%;animation:fl 6s ease-in-out -1.5s infinite}
.hv .p1{left:auto;right:2%;bottom:6px;top:auto;width:42%;height:auto;z-index:3}.hv .p2{right:auto;left:46%;top:0;width:38%;height:auto;z-index:3}
.path{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:rgba(7,9,14,.7);position:relative}
.path a{display:flex;gap:12px;align-items:center;padding:16px 18px;font-weight:700;border-right:1px solid var(--line);transition:background .2s}.path a:last-child{border:0}.path a:hover{background:#101626}.path b{font:500 12px var(--fm);color:var(--b2)}
.swx{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 0}.swx a{border:1px solid var(--line);padding:10px 16px;font:700 14px var(--fd);background:var(--k2);transition:.2s}.swx a:hover{border-color:var(--b);background:#101830}.swx small{font:500 11px var(--fm);color:var(--b2);margin-right:8px}
.mark img{width:100%;height:100%;object-fit:contain}.mark.logo{background:transparent}.mark.logo::after{display:none}
@media(max-width:899px){.path{grid-template-columns:1fr 1fr}.path a:nth-child(2){border-right:0}.path a:nth-child(-n+2){border-bottom:1px solid var(--line)}}

.hero{min-height:100vh}
.hero h1{font-size:clamp(44px,6.4vw,92px);line-height:.95;margin:20px 0 18px}
.hero .sub{font-size:clamp(18px,2vw,24px);margin-bottom:34px}
.acts.big{gap:16px}.btn.xl{padding:22px 34px;font-size:18px;min-width:290px}
.btn.xl:not(.ghost){animation:cta 2.6s ease-in-out infinite}
@keyframes cta{0%,100%{box-shadow:0 0 0 0 rgba(15,75,189,.55)}50%{box-shadow:0 0 0 14px rgba(15,75,189,0)}}
.tiny{font:500 12px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-top:22px}
.hv .p1{display:none}.hv .s3{display:none}.hv{height:430px}.hv .s1{top:30px;width:74%}.hv .s2{top:170px;width:70%}.hv .p2{left:auto;right:4%;top:0;width:34%}
@media(max-width:899px){.btn.xl{min-width:0;width:100%;padding:20px 22px}.acts.big{flex-direction:column}.hero{min-height:calc(100vh - 62px);align-items:center}}

@media(min-width:900px){.acts.big{flex-wrap:nowrap}.btn.xl{min-width:0;flex:1 1 0;padding:22px 20px;font-size:17px}}

/* ===== v4 ===== */
.hv .s3{display:block;left:auto;right:0;top:0;bottom:auto;width:74%;z-index:1}
.hv .s1{left:0;top:140px;width:64%;z-index:2}
.hv .s2{display:none}
.hv .p2{left:auto;right:0;top:auto;bottom:0;width:50%;height:auto;z-index:3;padding:14px;background:#0f4bbd}
.hv .p2 .bub{font:600 12px/1.3 var(--fd);padding:8px 10px;margin-top:8px;max-width:92%}
.hv .p2 .bub.u{background:#fff;color:#08162e}.hv .p2 .bub.a{background:#08162e;color:#fff;margin-left:auto}
.hv .p2 .tg{display:flex;gap:6px;margin-top:10px}.hv .p2 .tg span{font:600 10px var(--fm);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.18);padding:3px 7px}
.hv .shf .hl{position:absolute;left:10px;bottom:10px;background:#07090e;color:#fff;font:600 11px var(--fm);letter-spacing:.06em;padding:5px 9px;border-left:3px solid var(--b2)}
.hv .shf{position:absolute}
.hv .sb2{position:absolute;left:2%;bottom:6px;z-index:4;display:flex;align-items:center;gap:8px;background:#0d111a;border:1px solid #2c3652;padding:8px 12px}
.hv .sb2 small{font:600 11px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.lgo{display:block;width:28px;height:28px}.lgo svg{width:100%;height:100%;display:block}
.hv .sb2 .lgo{animation:fl 4s ease-in-out infinite}.hv .sb2 .lgo+.lgo{animation-delay:-1.5s}
/* carosello */
.site{border-top:4px solid var(--c,var(--b))}.site:hover{border-color:var(--c)}
.site .im{position:relative}.site .im img{display:block}
.site .chip{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:6px;background:var(--c);color:#0a0d14;font:700 11px var(--fm);letter-spacing:.08em;padding:5px 9px}
.site .chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site .ovl{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(5,7,11,.92));font:800 20px/1.1 var(--fd);color:#fff;text-transform:uppercase}
.site .cap .nm{display:block;font-weight:800}.site .cap .nm em{display:block;font:500 12px var(--fm);font-style:normal;color:var(--mut);margin-top:2px}.site .cap .go{color:var(--c)}
.site.big{width:420px}.site.big .chip{font-size:13px;padding:7px 12px}
/* ecommerce gallery */
.gal .th{display:flex;gap:8px;margin-top:8px}.gal .th button{width:64px;padding:0;border:2px solid #dde2ee;background:#fff}.gal .th button.on{border-color:var(--b)}.gal .th img{border:0;aspect-ratio:1;object-fit:cover}
.pdet>.gal>img{aspect-ratio:4/3;object-fit:cover}
.pd img{object-fit:cover}
/* social */
.sg{grid-template-columns:1.25fr .75fr;align-items:start}
.sfeed{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sp{background:#fff;color:#12172a;border:1px solid #2c3652;overflow:hidden}.sp.new{animation:spin .6s ease-out}
@keyframes spin{from{transform:translateY(-14px) scale(.96);opacity:0}to{transform:none;opacity:1}}
.sp-h{display:flex;gap:10px;align-items:center;padding:10px 12px}.sp-h b{font-size:13px;display:block}.sp-h small{font:500 11px var(--fm);color:#667}
.sp-lg{display:flex;gap:2px}.sp-lg svg{width:28px;height:28px}
.sp-i{aspect-ratio:16/10;display:grid;place-items:center;text-align:center;padding:16px;color:#fff;font:800 20px/1.15 var(--fd);text-shadow:0 1px 8px rgba(0,0,0,.25)}
.sp-a{display:flex;gap:16px;padding:10px 12px;font:600 13px var(--fd)}.sp-a span{display:flex;align-items:center;gap:6px}.sp-a svg{width:18px;height:18px;fill:none;stroke:#12172a;stroke-width:2;stroke-linejoin:round}
.sp-a .hrt svg{fill:#e1306c;stroke:#e1306c}.sp-a .hrt.pop svg{animation:pop .6s ease-out}
@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.5)}100%{transform:scale(1)}}
.sq{background:#fff;color:#12172a;border:1px solid #2c3652;padding:14px}
.sq-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.sq-h b{font:800 16px var(--fd)}
.live{display:flex;align-items:center;gap:6px;font:600 11px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:#1f8f6a}.live i{width:8px;height:8px;background:#1f8f6a;animation:fl 1.4s ease-in-out infinite}
.sq-r{position:relative;display:grid;grid-template-columns:52px 1fr 40px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e3e7f1;overflow:hidden}
.sq-t{font:700 13px var(--fm);color:#a35c00}.sq-c{font-size:14px;font-weight:600}.sq-p{display:flex;justify-content:flex-end;gap:2px}.sq-p svg{width:20px;height:20px}
.sq-r.nx{background:#f3f6ff}.sq-r em{position:absolute;left:0;bottom:0;height:3px;width:var(--w);background:var(--b);transition:width 1s linear}
.sq-f{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.sq-f input,.sq-f select{border:1px solid #cdd4e6;padding:9px;font:500 14px var(--fd);min-width:0;width:100%}.sq-f input:first-child{grid-column:1/-1}.sq-f .btn{grid-column:1/-1;justify-content:center}
#sgP{margin-top:26px}
/* lampadina */
.bulb{display:block;width:58px;height:58px;margin:0 0 8px}
.bulb path{fill:none;stroke:#98a2b8;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.bulb .gl{fill:#ffd23f;stroke:#ffb400;animation:glow 2.4s ease-in-out infinite}
.bulb .rays path{stroke:#ffd23f;animation:ray 2.4s ease-in-out infinite}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 2px #ffd23f)}50%{filter:drop-shadow(0 0 12px #ffd23f)}}
@keyframes ray{0%,100%{opacity:.25}50%{opacity:1}}
@media(max-width:1100px){.sg{grid-template-columns:1fr}.site.big{width:340px}}
@media(max-width:899px){.sfeed{grid-template-columns:1fr}.site{width:290px}.site.big{width:310px}}
.soc .pg2>div{border-radius:0!important}
.sq-f input,.sq-f select{background:#fff!important;color:#12172a!important}

/* ===== v5: demo bianche con colore per prodotto ===== */
.app{flex-direction:column;background:#fff;color:#12172a}
#demo-kgest{--ac:#0f4bbd}#demo-ink{--ac:#0f9d6e}#demo-crm{--ac:#d99a00}#demo-stay{--ac:#d6336c}
.app .ap-sb{width:auto;flex-direction:row;background:#fff;border-bottom:1px solid #e3e7f1;padding:0;overflow-x:auto;color:#556}
.app .ap-sb b.lg{padding:12px 18px;color:var(--ac);font-size:17px}
.app .ap-sb button{border-left:0;border-bottom:3px solid transparent;white-space:nowrap;padding:12px 14px;text-align:left;color:#445}
.app .ap-sb button:hover{color:var(--ac)}
.app .ap-sb button.on{background:color-mix(in srgb,var(--ac) 9%,#fff);color:var(--ac);border-color:var(--ac)}
.app .kp>div{border-top:4px solid var(--ac)}
.app .sbtn{background:var(--ac)}.app .sbtn.l{background:#fff;color:#12172a}
.app .bar2 i{background:var(--ac)}.app .wk .jb{border-left-color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,#fff)}
.app .kc{border-left-color:var(--ac)}.app .kc span{color:var(--ac)}.app .kb>div{background:#f3f5fa}.app .kc{border-color:#d8dde9;border-left-color:var(--ac)}
.s-bk{background:var(--ac)}.gt .rw,.gt .dh{background:#f0f2f8}.gt>div{border-color:#e3e7f1}.gt .em:hover{background:color-mix(in srgb,var(--ac) 12%,#fff)}
.mg.hi{color:#0a9a5a}.mg.lo{color:#d6402a}
.app .tb th{border-color:var(--ac)}
.app .f label{color:#556}.app .cal-c{background:#f3f5fa;border:1px solid #e3e7f1;padding:10px}
.vs{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:11px 16px;background:color-mix(in srgb,var(--ac) 10%,#fff);border-bottom:1px solid #e3e7f1;color:#12172a;font-size:14px}.vs b{font:700 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ac)}.vs span{font-weight:600}
#demo-kgest .vs{--ac:#0f4bbd}#demo-ink .vs{--ac:#0f9d6e}#demo-crm .vs{--ac:#d99a00}#demo-stay .vs{--ac:#d6336c}
.swi .tag.o{border-color:var(--ac);color:var(--ac)}.swh h3 .nm{color:color-mix(in srgb,var(--ac) 72%,#fff)}.mr input{accent-color:var(--ac)}.mr .m{color:color-mix(in srgb,var(--ac) 72%,#fff)}
.swx a{border-top:3px solid var(--ac)!important}.swx a small{color:color-mix(in srgb,var(--ac) 72%,#fff)}
.full small{color:color-mix(in srgb,var(--ac,#6f92dc) 72%,#fff)}
/* pacchetti: canone gratis */
.pr em{display:block;font:600 12px var(--fm);font-style:normal;color:var(--mut);margin-top:2px}.pr b span{font-size:13px}
/* ecommerce pannello */
.flt{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}.flt button{border:1px solid #c5cbdb;background:#fff;padding:6px 12px;font-weight:700;font-size:13px;color:#12172a}.flt button.on{background:#12172a;color:#fff;border-color:#12172a}
.shop .kp{grid-template-columns:repeat(4,1fr)}
@media(max-width:700px){.shop .kp{grid-template-columns:1fr 1fr}}
/* carosello: stessa misura */
.site,.site.big{width:380px}
@media(max-width:899px){.site,.site.big{width:290px}}
.md.wide{width:min(1180px,100%)}
/* hero senza etichette */
.hv .shf .hl,.hv .sb2 small{display:none}
.hv .p2{padding:16px}.hv .p2 .bub{font-size:13px}
/* social: foto reali */
.reel{overflow:hidden;margin:0 0 26px}.rt{display:flex;gap:12px;width:max-content;animation:rl 46s linear infinite}.rt i{display:block;width:230px;height:150px;background-size:cover;background-position:center}
@keyframes rl{to{transform:translateX(calc(-50% - 6px))}}
.sp-i{background-size:cover;background-position:center;align-items:end;place-items:end start;text-align:left;font-size:18px}

.app .ap-sb b.lg{white-space:nowrap;flex:none}
.shop .tb{font-size:13px}.shop .tb td,.shop .tb th{padding:8px 6px}.shop .tb td small{display:block;color:#667;font-size:11px;font-weight:500}
.hv .s1{width:52%;top:200px}.hv .s3{width:80%}

.pr b{display:block}

/* v6 home AI */
.hv .p2.aib{background:linear-gradient(160deg,#0c2a5c,#0d43a8);border:1px solid #2a62cc;box-shadow:0 0 44px rgba(15,75,189,.55);width:52%;padding:14px}
.aih{display:flex;align-items:center;gap:8px;margin-bottom:6px}.aih b{font:700 13px var(--fd);flex:1;color:#fff}
.spk{width:22px;height:22px;fill:#b8d8ff;animation:glw 2.2s ease-in-out infinite}
@keyframes glw{0%,100%{filter:drop-shadow(0 0 2px #6f92dc)}50%{filter:drop-shadow(0 0 10px #b8d8ff)}}
.dts{display:flex;gap:3px}.dts i{width:5px;height:5px;background:#b8d8ff;animation:dt 1.2s infinite}.dts i:nth-child(2){animation-delay:.2s}.dts i:nth-child(3){animation-delay:.4s}
@keyframes dt{0%,100%{opacity:.25}50%{opacity:1}}
.hv .p3{position:absolute;right:2%;top:205px;z-index:3;display:flex;align-items:center;gap:10px;background:#08162e;border:1px solid #2a62cc;padding:9px 12px;color:#fff;box-shadow:0 0 28px rgba(15,75,189,.5)}
.p3 svg{width:20px;height:20px;fill:#6f92dc}.p3 b{font:600 12px var(--fm)}
.wv{display:flex;align-items:center;gap:3px;height:24px}.wv i{width:3px;background:#6f92dc;height:6px;animation:wv 1s ease-in-out infinite}
.wv i:nth-child(2n){animation-delay:.15s}.wv i:nth-child(3n){animation-delay:.3s}.wv i:nth-child(5n){animation-delay:.45s}
@keyframes wv{0%,100%{height:5px}50%{height:22px}}
.pr b{font-size:28px}

.wv i,.dts i{border-radius:0!important}
.full{grid-template-columns:2fr 1fr!important}

.hv .p3{position:static;margin-top:10px;background:rgba(5,10,40,.7);box-shadow:none;border:1px solid #3d63d9;width:auto}
.hv .p2.aib{width:54%}
.hv .p3{min-height:0!important;height:auto!important;padding:8px 10px}
.hv .p2.aib{height:auto!important;min-height:0!important}
.hv .sb2{left:0;top:0;bottom:auto}
.site .ovl{display:none}
.hv .sb2{left:0;top:auto;bottom:0}

.sc-if{display:block;width:100%;height:68vh;border:0;background:#fff}@media(max-width:700px){.sc-if{height:62vh}}

.hv .lgf{position:absolute;z-index:5;width:46px;height:46px;box-shadow:0 10px 24px rgba(0,0,0,.5)}.hv .l1{left:36px;top:142px;animation:fl 4s ease-in-out infinite}.hv .l2{left:128px;top:186px;animation:fl 5s ease-in-out -2s infinite}

/* v8 tipografia: gerarchia */
h1,h2,h3,.hero h1{font-family:var(--fd);font-weight:800;letter-spacing:-.025em}
.lead,.sub,p{font-family:var(--fb)}
.lead b,.sub b,p b{color:#fff;font-weight:700}.lead b.k,.sub b.k,p b.k{color:var(--b2)}
.lead,.hero .sub{color:#aab6cf}
.ey{font-family:var(--fb);font-weight:700;letter-spacing:.12em}
.ec .lead b,.ct .lead b{color:#fff}
.swh h3 span{color:#fff!important}

.sb nav a svg{width:22px;height:22px;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sb nav a.on svg{stroke:var(--b2)}.sb nav a:hover svg{transform:scale(1.1)}.sb nav a svg{transition:transform .2s,stroke .2s}

/* v9 griglia gestionali */
.swg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.swt{position:relative;aspect-ratio:1/1;overflow:hidden;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 30%,#0a0e18),#0a0e18 78%);border:1px solid color-mix(in srgb,var(--ac) 55%,#0a0e18);border-top:5px solid var(--ac);color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s;font-family:var(--fd)}
.swt:hover{transform:translateY(-5px);box-shadow:0 18px 40px color-mix(in srgb,var(--ac) 40%,transparent)}
.swt .em{position:absolute;right:-6%;top:-4%;font-size:clamp(110px,15vw,190px);line-height:1;opacity:.5;filter:saturate(1.1);pointer-events:none;transition:transform .3s,opacity .3s}
.swt:hover .em{transform:scale(1.08) rotate(-4deg);opacity:.75}
.swt small{font:700 12px var(--fb);letter-spacing:.12em;color:color-mix(in srgb,var(--ac) 40%,#fff)}
.swt b{font:800 clamp(24px,2.6vw,32px)/1 var(--fd);letter-spacing:-.02em}
.swt .tx{font:500 14px/1.4 var(--fb);color:#c9d3ea;max-width:92%}
.swt .go{font:700 13px var(--fb);font-style:normal;color:#fff;margin-top:6px;background:var(--ac);align-self:flex-start;padding:7px 12px}
.swi[hidden],.swg[hidden]{display:none!important}
.swi{padding-top:34px}
.back{background:transparent;border:1px solid var(--line);color:#fff;font:700 14px var(--fb);padding:10px 16px;cursor:pointer;margin-bottom:22px}.back:hover{border-color:var(--ac);color:var(--ac)}
.who{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;max-width:880px}
.who>div{border-left:4px solid var(--ac);padding:4px 0 4px 14px}
.who b{display:block;font:700 12px var(--fb);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--ac) 60%,#fff);margin-bottom:4px}
.who span{font:500 16px/1.45 var(--fb);color:#e6ecfa}
.swh .n{font-size:90px;opacity:.9;line-height:1}
.full{grid-template-columns:2fr 1fr!important}
@media(max-width:1000px){.swg{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.swg{grid-template-columns:1fr}.swt{aspect-ratio:auto;min-height:230px}.who{grid-template-columns:1fr}}
.swt .tx{min-height:2.8em}
.app .tb td{color:#12172a}.app .tb td small{color:#667}

/* ===== v10 demo applicative: sidebar con icone, topbar, card, grafici ===== */
.dm{min-height:600px}
.app{flex-direction:row!important;min-height:600px;background:#f2f5fb;font-family:var(--fb)}
.app .ap-sb{width:206px;flex:none;flex-direction:column;overflow:visible;padding:0;border:0;color:#fff;background:linear-gradient(185deg,color-mix(in srgb,var(--ac) 82%,#000),color-mix(in srgb,var(--ac) 46%,#05070d))}
.app .lgw{display:flex;align-items:center;gap:10px;padding:20px 18px 16px}
.app .lgi{display:grid;place-items:center;width:38px;height:38px;background:rgba(255,255,255,.16);font-size:21px;flex:none}
.app .ap-sb b.lg{color:#fff;font:800 17px var(--fd);padding:0;letter-spacing:.02em;white-space:nowrap}
.app .ap-sb nav{display:flex;flex-direction:column;gap:2px;flex:1;padding:6px 10px}
.app .ap-sb button{display:flex;align-items:center;gap:11px;width:100%;border:0;border-left:3px solid transparent;color:rgba(255,255,255,.82);padding:11px 12px;font:600 14px var(--fb);background:transparent;transition:background .15s,color .15s;white-space:nowrap}
.app .ap-sb button .ic{font-style:normal;font-size:17px;width:22px;text-align:center;flex:none}
.app .ap-sb button:hover{background:rgba(255,255,255,.1);color:#fff}
.app .ap-sb button.on{background:rgba(255,255,255,.18);color:#fff;border-left-color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.app .sbf{display:flex;align-items:center;gap:10px;margin:10px;padding:10px;background:rgba(0,0,0,.2);color:#fff}
.app .sbf .avs{display:grid;place-items:center;width:34px;height:34px;background:#fff;color:var(--ac);font:800 13px var(--fd);flex:none}
.app .sbf b{display:block;font:700 13px var(--fb)}.app .sbf small{display:block;font:500 11px var(--fb);color:rgba(255,255,255,.7)}
.app .ap-c{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}
.app .ap-top{display:flex;align-items:center;gap:14px;padding:14px 22px;background:#fff;border-bottom:1px solid #e3e7f1;position:relative}
.app .ap-top .ttl{flex:1;min-width:0}
.app .ap-top .ttl small{display:block;font:600 11px var(--fb);letter-spacing:.08em;text-transform:uppercase;color:#7b86a3}
.app .ap-top .ttl b{display:block;font:800 19px/1.2 var(--fd);color:#12172a;margin-top:1px}
.app .ap-top .ttl span{display:block;font:500 13px var(--fb);color:#5b6785}
.app .srch{display:flex;align-items:center;gap:8px;border:1px solid #dde2ee;background:#f6f8fc;padding:9px 12px;width:200px}
.app .srch input{border:0;background:transparent;outline:0;font:500 13px var(--fb);color:#12172a;width:100%}
.app .bell{position:relative;border:1px solid #dde2ee;background:#fff;width:40px;height:40px;font-size:17px;cursor:pointer}
.app .bell i{position:absolute;top:-6px;right:-6px;background:#e5383b;color:#fff;font:700 10px var(--fb);font-style:normal;min-width:17px;height:17px;display:grid;place-items:center}
.app .pop{position:absolute;right:22px;top:66px;width:320px;background:#fff;border:1px solid #d8dde9;box-shadow:0 24px 50px -16px rgba(18,23,42,.4);z-index:6;padding:6px 0}
.app .pop[hidden]{display:none}
.app .pop>b{display:block;padding:10px 16px;font:800 14px var(--fd);border-bottom:1px solid #eef1f8}
.app .pop div{display:grid;grid-template-columns:10px 1fr;gap:4px 10px;padding:11px 16px;border-bottom:1px solid #f0f3fa;font:500 13px/1.4 var(--fb);color:#12172a}
.app .pop div i{width:8px;height:8px;background:var(--ac);margin-top:6px}.app .pop small{grid-column:2;color:#8a94ae}
.app .ap-m{flex:1;padding:22px;overflow:auto;background:#f2f5fb}
.app .ap-m.fx>*{animation:fi .4s ease both}.app .ap-m.fx>*:nth-child(2){animation-delay:.05s}.app .ap-m.fx>*:nth-child(3){animation-delay:.1s}.app .ap-m.fx>*:nth-child(4){animation-delay:.15s}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.app .ap-m h4{font:800 22px var(--fd);margin-bottom:16px;color:#12172a;letter-spacing:-.01em}
.app .ap-m h4::after{content:"";display:block;width:34px;height:4px;background:var(--ac);margin-top:8px}
.app .ap-m h4{display:block}.app .ap-m h4 .st,.app .ap-m h4 span{display:inline-block;vertical-align:middle;margin-left:8px}
.app .ap-m b{color:#12172a}
.app .kp{gap:14px;margin-bottom:20px}
.app .kp>div{position:relative;overflow:hidden;border:1px solid #e3e7f1;border-top:0;border-left:4px solid var(--ac);background:#fff;padding:15px 16px 14px;box-shadow:0 1px 2px rgba(18,23,42,.05),0 12px 28px -18px rgba(18,23,42,.28)}
.app .kp small{font:700 10.5px var(--fb);letter-spacing:.09em;color:#7b86a3}
.app .kp b{font:800 27px var(--fd);margin-top:4px;color:#12172a;position:relative;z-index:1}
.app .kp .trd{display:block;font:700 11.5px var(--fb);color:#128a52;margin-top:3px;position:relative;z-index:1}
.app .kp .up{display:inline-block;margin-top:4px;font:700 11.5px var(--fb);color:#c2410c;background:#fff1e6;padding:2px 7px;position:relative;z-index:1}
.spk2{position:relative;display:block;width:100%;height:26px;margin-top:10px;opacity:.9;z-index:1}.spk2 polyline{fill:none;stroke:var(--ac);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;opacity:.75}
.app .chrow{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-top:6px}
.app .card{background:#fff;border:1px solid #e3e7f1;padding:16px 18px;box-shadow:0 1px 2px rgba(18,23,42,.05),0 12px 28px -18px rgba(18,23,42,.28)}
.app .card h5{font:800 15px var(--fd);margin-bottom:8px;color:#12172a}.app .card h5 small{font:600 11px var(--fb);color:#8a94ae;margin-left:6px;text-transform:uppercase;letter-spacing:.06em}
.area{width:100%;height:auto;display:block}.area .gl{stroke:#e8ecf5;stroke-width:1}
.area .af{fill:var(--ac);opacity:.14}.area .al{fill:none;stroke:var(--ac);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:dr 1.1s ease-out .15s forwards}
@keyframes dr{to{stroke-dashoffset:0}}
.area .ad{fill:#fff;stroke:var(--ac);stroke-width:2.4}.area .ax{font:600 11px var(--fb);fill:#8a94ae}.area .av2{font:800 12px var(--fb);fill:#12172a}
.dn{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dn svg{width:128px;height:128px;flex:none}.dn .dc{transition:stroke-dasharray .6s}
.dn .dt1{font:800 19px var(--fd);fill:#12172a}.dn .dt2{font:600 8px var(--fb);fill:#8a94ae;text-transform:uppercase}
.dn ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;font:500 13px var(--fb);color:#33405f;flex:1;min-width:120px}.dn li{display:flex;align-items:center;gap:8px}.dn li i{width:11px;height:11px;background:var(--ac);flex:none}.dn li b{margin-left:auto}
.app .tb{background:#fff;border:1px solid #e3e7f1}.app .tb th{background:#f6f8fc;color:#5b6785;padding:11px 12px;border-bottom:2px solid var(--ac);font:700 10.5px var(--fb)}
.app .tb td{padding:12px;font:500 13.5px var(--fb);border-bottom:1px solid #eef1f8}.app .tb tr:nth-child(even) td{background:#fafbfe}.app .tb tr:hover td{background:color-mix(in srgb,var(--ac) 7%,#fff)}
.app .scr{background:#fff}
.app .st{font:700 11px var(--fb);padding:3px 9px 3px 8px;display:inline-flex;align-items:center;gap:6px}.app .st::before{content:"";width:6px;height:6px;background:currentColor;flex:none}
.app .sbtn{font:700 12.5px var(--fb);padding:8px 13px;border:0;box-shadow:0 6px 14px -8px color-mix(in srgb,var(--ac) 80%,#000);transition:transform .15s}.app .sbtn:hover{transform:translateY(-1px)}.app .sbtn.l{border:1px solid #d3d9e8;box-shadow:none}
.app .kc{background:#fff;box-shadow:0 1px 2px rgba(18,23,42,.05);transition:transform .15s,box-shadow .15s}.app .kc:hover{transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(18,23,42,.35)}
.app .bar2{height:12px;background:#e6eaf4}.app .bar2 i{background:linear-gradient(90deg,color-mix(in srgb,var(--ac) 70%,#fff),var(--ac));transform-origin:left;animation:gx .8s ease-out}
@keyframes gx{from{transform:scaleX(0)}}
.app .mini-sel{border:1px solid #d3d9e8;background:#fff;padding:7px 9px;font:600 13px var(--fb);color:#12172a}
.app .f input,.app .f select{border:1px solid #d3d9e8;background:#fff;color:#12172a;padding:9px 11px}
.app .sel{background:#fff}
@media(max-width:900px){.app{flex-direction:column!important}.app .ap-sb{width:auto;flex-direction:row;overflow-x:auto}.app .lgw{padding:10px 14px}.app .ap-sb nav{flex-direction:row;padding:4px 8px;flex:none}.app .ap-sb button{width:auto;border-left:0;border-bottom:3px solid transparent;padding:10px}.app .ap-sb button.on{border-bottom-color:#fff}.app .sbf{display:none}.app .srch{display:none}.app .chrow{grid-template-columns:1fr}.app .kp{grid-template-columns:repeat(2,1fr)}.app .ap-top{padding:12px 14px}.app .ap-m{padding:14px}.app .pop{right:10px;width:min(320px,90vw)}}
/* v11 K-E-COMMERCE */
.ecx{margin-top:56px}
.ecH{font:800 clamp(22px,2.4vw,30px) var(--fd);color:#fff;margin:44px 0 18px;letter-spacing:-.02em}
.ecF{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.ecF>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:16px 18px;transition:background .2s,transform .2s}
.ecF>div:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
.ecF b{display:block;font:700 16px var(--fd);color:#fff;margin-bottom:5px}.ecF span{font:400 14px/1.5 var(--fb);color:#c9d6f2}
.ecN{margin-top:12px;font:500 13px var(--fb);color:#9fb3d9}
.ecO{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.op{background:#fff;color:#12172a;padding:26px;border-top:6px solid #9fb3d9;display:flex;flex-direction:column;gap:12px}
.op.hl{border-top-color:var(--b2,#4a78d6);box-shadow:0 24px 50px -24px rgba(15,75,189,.7)}
.op small{font:700 12px var(--fb);letter-spacing:.14em;color:#0f4bbd}.op>b{font:800 24px var(--fd);color:#12172a}
.op .pp{display:grid;gap:0;border:1px solid #e3e7f1}.op .pp>div{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid #eef1f8}.op .pp>div:last-child{border-bottom:0}
.op .pp span{font:500 14px var(--fb);color:#5b6785}.op .pp strong{font:800 18px var(--fd);color:#12172a}
.op ul{margin:0;padding-left:18px;font:500 14px/1.7 var(--fb);color:#33405f}.op .btn{margin-top:auto;align-self:flex-start}
.ecI{margin-top:26px;background:rgba(255,255,255,.06);border-left:4px solid #4a78d6;padding:18px 22px;color:#c9d6f2;font:400 15px/1.6 var(--fb)}.ecI b{color:#fff;font:700 16px var(--fd);display:block;margin-bottom:6px}.ecI p+p{margin-top:8px}
.ecCta{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,#0b3a94,#0f4bbd);padding:26px 28px}
.ecCta b{display:block;font:800 22px var(--fd);color:#fff}.ecCta span{display:block;color:#dbe7ff;font:400 15px/1.5 var(--fb);max-width:680px;margin-top:4px}
@media(max-width:760px){.ecO{grid-template-columns:1fr}}
.hv .lgf{box-shadow:none!important;background:transparent!important;border:0!important;outline:0;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}
.back{border:2px solid #e5383b!important;color:#fff!important;background:rgba(229,56,59,.12)!important;box-shadow:0 0 0 4px rgba(229,56,59,.15)}.back:hover{background:#e5383b!important;color:#fff!important}
.site .cemo{position:absolute;right:12px;bottom:12px;width:58px;height:58px;display:grid;place-items:center;font-size:32px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.45);z-index:3;transition:transform .25s}.site:hover .cemo{transform:scale(1.1) rotate(-6deg)}
.site .cap .nm{font-size:17px!important;font-weight:800!important;color:#fff!important}.site .chip{font-size:13px!important;padding:7px 12px!important}
/* vetrina e-commerce */
.shop-h .bnm{display:block;font:800 18px var(--fd);color:#2b1d12}.shop-h small{display:block;font:500 12px var(--fb);color:#8a6f55}
.mq{overflow:hidden;margin:4px -4px 16px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mqt{display:flex;gap:10px;width:max-content;animation:mqs linear infinite}.mq:hover .mqt{animation-play-state:paused}
@keyframes mqs{to{transform:translateX(-50%)}}
.mqi{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eadfd3;padding:6px 12px 6px 6px;cursor:pointer;flex:none}
.mqi img{width:44px;height:56px;object-fit:cover}.mqi span{font:600 13px var(--fb);color:#2b1d12;text-align:left;white-space:nowrap}.mqi b{display:block;color:#b4532a;font:800 13px var(--fb)}
.pgh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.pgh b{font:800 15px var(--fd);color:#2b1d12}
.pd{position:relative}.pd.nw{animation:pin .7s cubic-bezier(.2,.9,.3,1.2)}@keyframes pin{from{opacity:0;transform:translateY(-18px) scale(.92)}}
.nwb{position:absolute;top:8px;left:8px;z-index:2;background:#e5383b;color:#fff;font:800 10px var(--fb);font-style:normal;letter-spacing:.1em;padding:4px 8px}
.pd img{object-fit:cover!important}
/* chicche demo: esporta report, notifica live */
.app .exp{position:relative;overflow:hidden;border:1px solid var(--ac);background:#fff;color:var(--ac);font:700 13px var(--fb);padding:0 14px;height:40px;cursor:pointer;white-space:nowrap}
.app .exp i{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--ac)}.app .exp.run i{animation:exb 1.4s linear forwards}.app .exp.ok{background:var(--ac);color:#fff}
@keyframes exb{to{width:100%}}
.app .live{position:absolute;right:18px;bottom:18px;z-index:7;display:flex;align-items:flex-start;gap:12px;background:#12172a;color:#fff;padding:14px 14px 14px 16px;max-width:340px;box-shadow:0 22px 44px -14px rgba(0,0,0,.55);border-left:4px solid var(--ac);animation:lvin .45s cubic-bezier(.2,.9,.3,1.2)}
.app .live .lv-i{font-size:20px}.app .live b{display:block;font:800 11px var(--fb);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--ac) 50%,#fff);margin-bottom:2px}.app .live span{font:500 13.5px/1.4 var(--fb)}
.app .live button{background:transparent;border:0;color:#9aa6c8;cursor:pointer;font-size:14px}
.app .live.out{opacity:0;transform:translateY(12px);transition:.4s}@keyframes lvin{from{opacity:0;transform:translateY(20px)}}
.app .bell.ring{animation:rg .8s ease 2}@keyframes rg{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
@media(max-width:900px){.app .exp{display:none}.app .live{left:10px;right:10px;max-width:none}}
.app .live span{text-transform:none!important;letter-spacing:0!important;font-weight:500}

/* v18 */
.site .chip{font-size:16px!important;padding:9px 14px!important;letter-spacing:.1em!important}
.site .chip svg{width:18px;height:18px}
.site .cap .nm{font-size:19px!important}

.ecD{margin-top:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
.ecD summary{cursor:pointer;list-style:none;padding:18px 22px;font:800 clamp(18px,2vw,24px) var(--fd);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}
.ecD summary::-webkit-details-marker{display:none}
.ecD summary::after{content:"+";font:700 28px var(--fb);color:#4a78d6;transition:transform .25s}
.ecD[open] summary::after{transform:rotate(45deg)}
.ecD[open] summary{border-bottom:1px solid rgba(255,255,255,.14)}
.ecD .ecF{padding:18px 22px 6px}.ecD .ecN{padding:0 22px 18px}
.ecQ{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.ecQ .ecI,.ecQ .ecCta{margin:0;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:30px}
.ecQ .ecI{background:#fff;color:#33405f;border-left:0;border-top:6px solid #4a78d6}
.ecQ .ecI b{color:#12172a;font:800 22px var(--fd);margin:0}.ecQ .ecI b.s2{margin-top:8px;font-size:17px;color:#0f4bbd}
.ecQ .ecI ul{margin:0;padding-left:20px;font:500 15px/1.7 var(--fb)}.ecQ .ecI p{font:600 13.5px/1.5 var(--fb);color:#5b6785;margin:0}
.ecQ .ecCta{background:linear-gradient(160deg,#0f4bbd,#082d75);color:#fff;align-items:flex-start;border:0}
.ecQ .ecCta b{font:800 clamp(24px,2.6vw,34px)/1.1 var(--fd)}.ecQ .ecCta span{font:500 16px/1.55 var(--fb);color:#dbe8ff}
@media(max-width:760px){.ecQ{grid-template-columns:1fr}.ecQ .ecI,.ecQ .ecCta{aspect-ratio:auto}}
.pg.two{grid-template-columns:repeat(4,1fr)}
.pd img{transition:opacity .35s}.pd.sw img,.pd.sw>div{opacity:0}.pd>div{transition:opacity .35s}
@media(max-width:700px){.pg.two{grid-template-columns:1fr 1fr}}
.pd[data-slot]{animation:fi .4s}@keyframes fi{from{opacity:0}}
/* v19 riquadri compatti blu */
.ecQ{gap:14px;margin-top:20px}
.ecQ .ecI,.ecQ .ecCta{aspect-ratio:auto!important;justify-content:flex-start;padding:22px 24px;gap:8px;border:0;border-top:0}
.ecQ .ecI{background:linear-gradient(160deg,#0b3a94,#082d75);color:#dbe8ff}
.ecQ .ecI b{color:#fff;font:800 18px var(--fd)}.ecQ .ecI b.s2{color:#a8bdeb;font-size:15px;margin-top:6px}
.ecQ .ecI ul{font:500 14px/1.55 var(--fb);color:#dbe8ff}.ecQ .ecI p{color:#c3d1ee;font-size:12.5px}
.ecQ .ecCta{background:linear-gradient(160deg,#0f4bbd,#082d75)}
.ecQ .ecCta b{font:800 clamp(19px,2vw,24px)/1.15 var(--fd)}.ecQ .ecCta span{font-size:14px;line-height:1.5}
.ecQ .ecCta .btn{margin-top:6px}

/* v21 K-SOCIAL */
.ksb h3{font:800 clamp(22px,2.4vw,30px) var(--fd);color:#fff;margin:0 0 8px}.ksb h3 em{font-style:normal;color:#94aee6;font-size:.62em;display:block;margin-top:4px}
.ksb>p{font:400 16px/1.6 var(--fb);color:#cfd8ff;max-width:760px;margin-bottom:16px}
.ksb .ecD{margin-top:14px}.ksc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:18px 22px}
.ksc b{display:block;font:800 16px var(--fd);color:#fff;margin-bottom:8px}.ksc b.x{color:#ff9d9d}
.ksc ul{margin:0;padding-left:18px;font:500 14px/1.65 var(--fb);color:#d5def5}
.ksp{margin-top:14px;font:500 14px/1.5 var(--fb);color:#9fb3d9;max-width:760px}
@media(max-width:800px){.ksc{grid-template-columns:1fr}}

/* v22 dinamicità */
#pgr{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,#0f4bbd,#94aee6);transform-origin:0 50%;transform:scaleX(0);z-index:9999;pointer-events:none}
.rv.in .swt,.rv.in .site,.rv.in .pc,.rv.in .op,.rv.in .ecD,.rv.in .ecQ>div,.rv.in .zone3>div,.rv.in .pg2>div{animation:stg .6s cubic-bezier(.2,.7,.2,1) both}
.rv.in .swt:nth-child(2n),.rv.in .pc:nth-child(2),.rv.in .op:nth-child(2),.rv.in .zone3>div:nth-child(2),.rv.in .pg2>div:nth-child(2){animation-delay:.1s}
.rv.in .swt:nth-child(3n),.rv.in .pc:nth-child(3),.rv.in .zone3>div:nth-child(3),.rv.in .pg2>div:nth-child(3){animation-delay:.2s}
.rv.in .swt:nth-child(4),.rv.in .swt:nth-child(7){animation-delay:.12s}
@keyframes stg{from{opacity:0;transform:translateY(26px) scale(.97)}}
.rv h2.t{transition:letter-spacing .9s}.rv:not(.in) h2.t{letter-spacing:.04em}
.btn{position:relative;overflow:hidden}.btn:active{transform:scale(.95)!important;box-shadow:none!important}
.kr{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;animation:krp .6s ease-out forwards}
@keyframes krp{to{transform:scale(18);opacity:0}}
.ecD,.swt,.site,.pc,.op{transition:transform .25s,box-shadow .25s,border-color .25s}
.ecD:hover,.pc:hover,.op:hover{transform:translateY(-3px)}
.ecD[open]>*:not(summary){animation:opn .4s ease both}@keyframes opn{from{opacity:0;transform:translateY(-8px)}}
.ap-sb button,.dm-tabs button{transition:background .2s,transform .15s}.ap-sb button:active,.dm-tabs button:active{transform:scale(.96)}
.sec{scroll-margin-top:0}
@media(prefers-reduced-motion:reduce){#pgr{display:none}}

/* v23 viz */
.ecDs{margin-top:20px}.ecDs .ecD{margin-top:10px}.ecDs .ecF{grid-template-columns:1fr}.ecDs summary{font-size:18px;padding:15px 18px}
.vzs{margin:2px 0 12px;font:500 14px/1.5 var(--fb);color:#556}
.vzb{display:flex;gap:6px;margin:12px 0 8px;flex-wrap:wrap}.vzb button{border:1px solid #cfd6e8;background:#fff;padding:7px 12px;font:700 13px var(--fb);color:#12172a;cursor:pointer}.vzb button.on{background:var(--ac,#0f4bbd);color:#fff;border-color:var(--ac,#0f4bbd)}
.vzfl{position:relative;height:340px;background:repeating-linear-gradient(0deg,#f4efe6 0 28px,#efe8dc 28px 56px);border:1px solid #d9cfbf;overflow:hidden}
.vzt{position:absolute;border:2px solid rgba(0,0,0,.18);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#12172a;transition:transform .2s,box-shadow .2s;padding:0}
.vzt:not(.rd){border-radius:8px}.vzt:hover{transform:scale(1.07);z-index:3;box-shadow:0 8px 18px rgba(0,0,0,.25)}.vzt.sel{outline:3px solid #12172a}
.vzt b{font:800 16px var(--fd)}.vzt small{font:700 11px var(--fb)}.vzt i{position:absolute;top:-9px;right:-6px;background:#12172a;color:#ffd24d;font:800 10px var(--fb);font-style:normal;padding:3px 6px;animation:pulse 1.6s infinite}
.vzdoor,.vzbar{position:absolute;font:700 10px var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#6b5a40}.vzdoor{left:50%;bottom:4px;transform:translateX(-50%)}.vzbar{right:6px;top:50%;writing-mode:vertical-rl}
.vzp{margin-top:12px;background:#fff;border-left:5px solid var(--ac,#0f4bbd);padding:12px 16px;display:grid;gap:3px;animation:opn .3s}.vzp b{font:800 16px var(--fd)}.vzp span{font:500 14px/1.5 var(--fb);color:#33405f}
.vzg{position:relative;border:1px solid #dde2ee;background:#fff;margin-top:12px;overflow:hidden}
.vzgh,.vzgr{display:grid;grid-template-columns:150px 1fr}.vzgh{border-bottom:1px solid #e3e7f1;background:#f4f6fb}.vzgh{display:flex}.vzgh span{width:150px;flex:none}.vzgh b{flex:1;text-align:center;font:700 11px var(--fb);padding:7px 0;color:#667}.vzgh b.td{background:var(--ac,#0f4bbd);color:#fff}
.vzgr{border-bottom:1px solid #eef1f8;min-height:44px}.vzgr>span{font:700 12.5px var(--fb);color:#12172a;padding:12px 10px;border-right:1px solid #eef1f8}
.vzgc{position:relative;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/14 - 1px),#f0f2f8 calc(100%/14 - 1px) calc(100%/14))}
.vzbk{position:absolute;top:7px;bottom:7px;border:0;color:#fff;font:700 11.5px var(--fb);text-align:left;padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:filter .2s,transform .2s;animation:grow .7s cubic-bezier(.2,.7,.2,1) both;transform-origin:0 50%}.vzbk:hover{filter:brightness(1.12);transform:scaleY(1.12)}
@keyframes grow{from{transform:scaleX(0)}}
.vzbk .vzpr{position:absolute;left:0;top:0;bottom:0;opacity:.85;z-index:0}.vzbk em{position:relative;z-index:1;font-style:normal;color:#3a1a05}
.vznow{position:absolute;top:0;bottom:0;width:2px;background:#e03131;z-index:4;pointer-events:none}.vznow span{position:absolute;top:2px;left:4px;background:#e03131;color:#fff;font:800 10px var(--fb);padding:2px 5px}
.vzl{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font:600 12.5px var(--fb);color:#33405f}.vzl i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}
.vzsh{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}
.vzc{border:1px solid rgba(0,0,0,.1);padding:10px 8px;text-align:left;display:grid;gap:3px;cursor:pointer;transition:transform .2s,box-shadow .2s;color:#12172a}.vzc:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,0,0,.15)}.vzc.sel{outline:3px solid #12172a}
.vzc small{font:700 10px var(--fb);color:#667}.vzc b{font:800 13px var(--fd)}.vzc i{display:block;height:6px;background:rgba(0,0,0,.1)}.vzc u{display:block;height:100%;animation:grow .8s both;transform-origin:0 50%}.vzc em{font:700 11px var(--fb);font-style:normal}
.vzhm{display:grid;grid-template-columns:44px repeat(7,1fr);gap:4px;margin-top:12px;align-items:center}.vzhm b{font:700 11px var(--fb);color:#667;text-align:center}.vzhm span{font:800 12px var(--fb);color:#12172a}
.vzhm button{border:0;padding:11px 0;font:800 15px var(--fd);color:#12172a;cursor:pointer;transition:transform .15s}.vzhm button:hover{transform:scale(1.08)}.vzhm button small{font:600 10px var(--fb);color:#556}.vzhm button.ko{animation:pulse 2s infinite}
.vzmap{position:relative;height:340px;background:#e8eef0;border:1px solid #cdd7da;overflow:hidden}.vzmap svg{position:absolute;inset:0;width:100%;height:100%}
.vzmap .rd path{stroke:#fff;stroke-width:2.2;fill:none}.vzmap .pk{stroke:#b9dbb0;stroke-width:9;fill:none;stroke-linecap:round}
.vzrt{fill:none;stroke-width:.9;stroke-dasharray:2.4 1.6;animation:dash 1.4s linear infinite}@keyframes dash{to{stroke-dashoffset:-8}}
.vzpin{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.3);transition:transform .2s;padding:0;animation:drop .6s both}.vzpin:hover{transform:rotate(-45deg) scale(1.2)}.vzpin b{display:block;transform:rotate(45deg);color:#fff;font:800 12px var(--fb)}
@keyframes drop{from{opacity:0;margin-top:-60px}}
.vzfn{display:grid;gap:6px;justify-items:center;margin-top:14px}.vzfn button{border:0;color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;font:700 14px var(--fb);clip-path:polygon(0 0,100% 0,97% 100%,3% 100%);animation:grow .7s both;transition:filter .2s}.vzfn button:hover,.vzfn button.sel{filter:brightness(1.18)}.vzfn button span{font:800 20px var(--fd)}.vzfn button em{font:700 12px var(--fb);font-style:normal;background:rgba(0,0,0,.25);padding:2px 7px}.vzfn b{font:800 15px var(--fd)}
.vzsc{position:relative;height:300px;border:1px solid #dde2ee;background:#fff;margin-top:12px}.vzsc svg{position:absolute;inset:0;width:100%;height:100%}
.vzbub{position:absolute;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;opacity:.85;cursor:pointer;padding:0;transition:transform .2s;animation:drop .6s both}.vzbub:hover,.vzbub.sel{transform:translate(-50%,-50%) scale(1.25);opacity:1;z-index:2}
.vzsc .ax{position:absolute;font:700 11px var(--fb);color:#667}.vzsc .x{right:8px;bottom:4px}.vzsc .y{left:8px;top:6px}.vzsc .axr{left:8px;bottom:6px;color:#e03131}
@media(max-width:700px){.vzgh span,.vzgr{grid-template-columns:100px 1fr}.vzgh span{width:100px}.vzsh{grid-template-columns:repeat(3,1fr)}.vzfl,.vzmap{height:280px}.vznow{display:none}}
@keyframes pulse{50%{opacity:.72}}
.vzsc .axr{position:absolute;font:700 11px var(--fb);left:8px;bottom:6px;color:#e03131}.vzsc .y{top:6px}
/* v23 transizioni tra sezioni */
.sec{position:relative}
.sec+.sec::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#4a78d6,transparent);background-size:40% 100%;background-repeat:no-repeat;opacity:.55;animation:sweep 5s linear infinite;pointer-events:none}
@keyframes sweep{from{background-position:-40% 0}to{background-position:140% 0}}
.rv:not(.in) .ey{opacity:0;transform:translateX(-14px)}.rv .ey{transition:opacity .6s .15s,transform .6s .15s}.rv.in .ey{opacity:1;transform:none}
.rv:not(.in) .lead{opacity:0}.rv .lead{transition:opacity .8s .3s}.rv.in .lead{opacity:1}


/* ===== Logo unico: simbolo K ===== */
.sb-h .lgx{display:flex;align-items:center;min-width:0}
.sb-h .lgx img{height:auto}
.sb-h .lgx .lg-k{display:block;width:110px;max-width:100%;height:auto}
body.sbc .sb-h .lgx .lg-k{width:36px}body.sbc .sb-h{justify-content:center;padding-inline:8px}
.top .lg-top img{display:block;width:34px;height:auto}
.fg .lg-foot{display:block;width:120px;max-width:100%;height:auto;margin-bottom:14px}
@media(max-width:899px){body.sbc .sb-h .lgx .lg-k{width:110px}.sb-h{justify-content:flex-start!important;padding-inline:14px!important}}

.ec h2.t em{color:#c3d4ff}

/* RIFINITURE v19: leggibilita e contrasto */
h1,h2,.hero h1{text-wrap:balance}
.ct h2 em{font-style:normal}
.tiny{font:700 13px/1.5 var(--fb);letter-spacing:.08em;color:var(--mut)}
.car-n{font:600 13.5px var(--fb);color:var(--mut);letter-spacing:.03em}
.car-n .btn.sm{min-width:48px;min-height:44px;padding:10px 16px;font-size:18px}
#cEmT{font-size:clamp(13px,3.7vw,22px);overflow-wrap:anywhere}
@media(min-width:700px){
.cb{grid-template-columns:1fr 1fr}
.cb a:first-child{grid-column:1/-1;border-right:0;border-bottom:2px solid #fff}
#cEmT{font-size:clamp(20px,2.2vw,28px);overflow-wrap:normal}
}
.ecD{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.1)}
.ecD summary::after{color:#fff}
.ec .acts{margin:22px 0 28px}
.ecg{gap:clamp(28px,4vw,56px)}
.chi-cta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}

/* RIFINITURE v20 */
.fq details[open]{padding-bottom:8px}
.fq details[open] summary{padding-bottom:14px}
.fq details[open] p{padding-top:4px;color:var(--ink)}
.fq-cta{max-width:860px;margin-top:40px;padding:28px 30px;border:1px solid var(--line);border-left:6px solid var(--b);background:var(--k2)}
.fq-cta b{font:800 22px var(--fd);color:var(--ink)}
.fq-cta p{margin:6px 0 18px;color:var(--mut)}
.swt .wh{font:500 13px/1.35 var(--fb);color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.swt .wh u{text-decoration:none;font-weight:700;color:var(--ac)}
.ai-try{margin:18px 0 10px;font:600 15px var(--fb);color:var(--b2)}
.topics{display:flex;flex-wrap:wrap;gap:6px 0}
.topics span{border:0!important;background:none!important;padding:0 14px 0 0!important;box-shadow:none!important;font-weight:600;color:var(--ink)}
.topics span:not(:last-child)::after{content:"\b7";margin-left:14px;color:var(--b2)}

/* RIFINITURE v21: leggibilita e aree da toccare su mobile */
.cap .nm em,.site .cap .go,.pg2 small,.pr small,.pr em,.sp-h small,.op small,.chat-h small,.fg .fh{font-size:12.5px}
.pill,.tag{font-size:12px}
.pk-more{display:none;width:100%;margin:-10px 0 18px;padding:12px;border:0;background:none;color:var(--b2);font:700 14px var(--fb);text-align:left;cursor:pointer;min-height:44px}
.pk-more:hover{text-decoration:underline}
@media(max-width:899px){
.pc:not(.open) li.x{display:none}
.pk-more{display:block}
.top .btn.sm{min-height:44px;padding-inline:16px}
.top .lg-top{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.shop button[data-ect],.shop [data-ect]{min-height:44px}
.dr .sbtn,.sbtn.l{min-width:44px;min-height:44px;font-size:16px}
#aQs .q,#aQs button,.qs button{min-height:44px}
}
@media(max-width:899px){
.top .bg{width:44px;height:44px}
.btn.sm{min-height:44px}
.dm-tabs button{min-height:44px}
.fg a,.fl3 a{display:inline-block;padding:10px 0;min-height:44px;line-height:24px}
.fl3 a+a{margin-left:18px}
}
@media(max-width:899px){.sc button,.back,.swi .back{min-height:44px}.pk-more{min-height:44px}}

/* RIFINITURE v22: accessibilita */
.skip{position:fixed;left:12px;top:-60px;z-index:1000;background:#0f4bbd;color:#fff;padding:12px 18px;font:700 15px var(--fb);text-decoration:none;transition:top .15s}
.skip:focus{top:12px;outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #0f4bbd}
main:focus{outline:none}
:focus-visible{outline:3px solid #6f92dc;outline-offset:3px}
.ec :focus-visible,.ct :focus-visible,.sb :focus-visible{outline-color:#fff}
.sb :focus-visible{outline-color:#6f92dc}
.pc ul{gap:8px}
.pc{padding-bottom:26px}

/* RIFINITURE v23: contrasti */
.site .cap .go{color:color-mix(in srgb,var(--c) 60%,#fff);font-weight:700}
.ec .ecD .ecN,.ec .ecN{color:#e3ecff}
.ecQ .ecI b.s2{color:#d6e4ff!important}
#cT.tr span,.cl .gc .tr span{color:#d3dcf7}
/* link a servizi e zone nel footer (pagine SEO) */
.fzn{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-size:13.5px}
.fzn .fh{margin-bottom:8px}
.fzn a{display:block;padding:3px 0;color:var(--mut)}.fzn a:hover{color:var(--b)}
@media(max-width:1100px){.fzn{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.fzn{grid-template-columns:1fr}.fzn a{padding:8px 0}}

/* ===== TEMA SCURO (come l'artefatto) con il blu del logo ===== */
:root{--k:#07090e;--k2:#0d111a;--k3:#141a27;--line:#252d40;--ink:#eef1f8;--mut:#a3adc2;--b:#0f4bbd;--b2:#7d9be6;--bd:#0b3a94;color-scheme:dark}
html{color-scheme:dark}body{background:var(--k);color:var(--ink)}
h2.t em,.hero h1 em{color:var(--b2)}
.btn:hover{background:#1757d1;box-shadow:6px 6px 0 #0a1c46}
