/* Wix Madefor Display — font variabile, ospitato da noi.
   Un solo binario per subset copre i pesi 400-800: Google serviva lo stesso
   file per ognuno dei cinque pesi. Self-hosting per non esporre l'IP dei
   visitatori a Google e per togliere due richieste a terzi dal percorso
   critico di rendering. */
@font-face{
  font-family:'Wix Madefor Display';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(assets/fonts/wix-madefor-display-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:'Wix Madefor Display';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(assets/fonts/wix-madefor-display-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}


:root{
  --purple:#85318a; --purple-d:#8e2497; --purple-l:#a24da8;
  --ink:#1a1430; --body:#3a2a44; --muted:#6e5a7a; --muted2:#8a7595; --faint:#a99bb3;
  --line:#ece6f1; --line2:#f1eaf5; --tint:#faf7fc; --tint2:#f6eafa; --white:#fff;
  --green:#16a34a;
}

/* Reset. Prima arrivava dal preflight di Tailwind, caricato via CDN solo per
   questo: nel markup non c'era una singola utility Tailwind. Riprodotto qui
   nelle sole parti su cui il sito faceva affidamento. */
*,::before,::after{box-sizing:border-box;border:0 solid var(--line)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;line-height:1.5;tab-size:4}
body{margin:0}
h1,h2,h3,h4,h5,h6{margin:0}
p,figure,blockquote,dl,dd,pre,hr{margin:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}
::placeholder{opacity:1;color:var(--muted2)}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
summary{display:list-item}
b,strong{font-weight:bolder}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}sup{top:-.5em}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){text-decoration:underline dotted}
:disabled{cursor:default}
[hidden]{display:none}
html,body{overflow-x:clip}
body{font-family:'Wix Madefor Display',system-ui,sans-serif;background:#fff;color:var(--body);-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3,h4{color:var(--ink);line-height:1.12;font-weight:800;letter-spacing:-.01em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
a{text-decoration:none;color:inherit}
.grad{background:linear-gradient(90deg,#85318a,#85318a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.glass{background:#fff;border:1px solid var(--line);box-shadow:0 10px 34px rgba(26,20,48,.06)}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;padding:.8rem 1.5rem;border-radius:12px;cursor:pointer;transition:.2s;border:1px solid transparent}
.btn-primary{background:linear-gradient(90deg,#85318a,#85318a);color:#fff;box-shadow:0 8px 24px rgba(133,49,138,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(133,49,138,.42)}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--purple);color:var(--purple)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--purple)}
.dot{width:8px;height:8px;border-radius:50%;background:#16a34a;display:inline-block;box-shadow:0 0 0 4px rgba(22,163,74,.15);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.22;pointer-events:none;z-index:0}
.card-lift{transition:.22s}
.card-lift:hover{transform:translateY(-4px);border-color:rgba(133,49,138,.5);box-shadow:0 18px 44px rgba(133,49,138,.14)}
/* console */
.console{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 40px 90px rgba(26,20,48,.14)}
.cbar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#f4eef7;border-bottom:1px solid var(--line)}
.cbar i{width:11px;height:11px;border-radius:50%;background:#dcccE5;background:#e3d3ea;display:inline-block}
.cbar .url{margin-left:12px;font-size:.72rem;color:var(--muted2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 14px}
.cbody{display:grid;grid-template-columns:210px 1fr;min-height:420px;background:var(--tint)}
.cside{background:#fff;border-right:1px solid var(--line);padding:14px 10px}
.clogo{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink);font-size:.9rem;padding:4px 8px 14px}
.clogo .b{width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#85318a,#8e2497);display:inline-block}
.cgrp{font-size:.58rem;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.1em;padding:12px 8px 5px}
.cside .ci{display:flex;align-items:center;gap:9px;font-size:.77rem;color:var(--muted);padding:8px;border-radius:9px}
.cside .ci.on{color:var(--purple);font-weight:700;background:rgba(133,49,138,.08);box-shadow:inset 2px 0 0 var(--purple)}
.cside .ci .di{width:13px;height:13px;border-radius:4px;border:1.5px solid currentColor;opacity:.7;flex:0 0 13px}
.cprompt{display:flex;align-items:center;gap:10px;margin:14px 16px 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px}
.cprompt .ico{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#85318a,#8e2497);flex:0 0 26px;display:flex;align-items:center;justify-content:center}
.cprompt .ico svg{width:15px;height:15px;color:#fff}
.cprompt .txt{font-size:.82rem;color:var(--body)}
.cprompt .txt .cur{display:inline-block;width:2px;height:1em;background:var(--purple);margin-left:1px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.cprompt .send{margin-left:auto;font-size:.68rem;font-weight:700;color:#fff;background:linear-gradient(90deg,#85318a,#85318a);border-radius:7px;padding:5px 11px}
.ctop{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#fff;border-bottom:1px solid var(--line)}
.ctop .t{font-weight:700;color:var(--ink);font-size:.92rem}
.pill{font-size:.7rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 11px;margin-left:8px;display:inline-block;background:#fff}
.cinner{padding:16px 18px}
.chead h4{font-size:1.05rem;color:var(--ink)}
.chead p{font-size:.74rem;color:var(--muted2);margin-top:3px}
.ckpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}
.kcard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}
.kcard .kl{font-size:.64rem;color:var(--muted2)}
.kcard .kv{font-size:1.5rem;font-weight:800;line-height:1.1;margin-top:3px}
.kcard .ks{font-size:.6rem;color:var(--faint);margin-top:2px}
.ctable{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 12px 6px}
.ctable .th{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.ctable .th h5{font-size:.88rem;color:var(--ink)}
.ctable .th .tag{font-size:.6rem;font-weight:700;color:var(--purple);background:rgba(133,49,138,.1);border-radius:999px;padding:3px 10px}
.crow{display:grid;grid-template-columns:1.7fr .6fr .5fr .6fr .7fr;gap:8px;align-items:center;padding:9px 6px;border-top:1px solid var(--line2);font-size:.73rem;color:var(--muted);border-radius:7px;transition:background .35s ease}
.crow.hl{background:rgba(133,49,138,.07)}
.crow .nm{color:var(--ink);font-weight:600}
.crow .sub{font-size:.6rem;color:var(--faint)}
.bdg{font-size:.58rem;font-weight:700;padding:2px 7px;border-radius:5px;border:1px solid;display:inline-block}
.bdg.a{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}
.bdg.i{color:var(--muted2);border-color:var(--line);background:var(--tint)}
.bdg.m{color:var(--purple);border-color:rgba(133,49,138,.3);background:rgba(133,49,138,.08)}
.bdg.s{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}
@media(max-width:900px){.cbody{grid-template-columns:1fr}.cside{display:none}.ckpis{grid-template-columns:repeat(2,1fr)}.crow{grid-template-columns:1.5fr .8fr .8fr}.crow .h4c,.crow .h5c{display:none}}
/* marquee */
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mtrack{display:flex;align-items:center;gap:52px;width:max-content;animation:scrollX 36s linear infinite}
.marquee:hover .mtrack{animation-play-state:paused}
@keyframes scrollX{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mtrack img{height:52px;flex:0 0 auto;filter:grayscale(1);opacity:.65;transition:.2s}
.mtrack img:hover{filter:grayscale(0);opacity:1}
/* connectors row */
.conn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.conn{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem 1rem;font-weight:600;color:var(--ink);font-size:.92rem;box-shadow:0 4px 14px rgba(26,20,48,.05)}
.conn img{height:20px;width:auto}
/* team grid */
.team-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:40px}
.team-grid > .tcard{grid-column:span 2}
.team-grid > .tcard:nth-child(4){grid-column:2 / span 2}
.team-grid > .tcard:nth-child(5){grid-column:4 / span 2}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}.team-grid>.tcard,.team-grid>.tcard:nth-child(4),.team-grid>.tcard:nth-child(5){grid-column:auto}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}}
.tcard{text-align:left;border-radius:18px;padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:10px;font-family:inherit;width:100%}
.tcard .ic{width:46px;height:46px;border-radius:12px;background:rgba(133,49,138,.1);border:1px solid rgba(133,49,138,.2);color:var(--purple);display:flex;align-items:center;justify-content:center}
.tcard .ic svg{width:23px;height:23px}
.tcard .cnt{font-size:.74rem;color:var(--muted2);display:flex;align-items:center;gap:.4rem}
.tcard h3{font-size:1.15rem}
.tcard .d{color:var(--muted);font-size:.9rem}
.tcard .doing{margin-top:auto;font-size:.8rem;color:var(--muted2);border-top:1px solid var(--line);padding-top:12px}
.tcard .doing b{color:var(--ink);font-weight:600}
.tcard .more{font-size:.85rem;color:var(--purple);font-weight:600;margin-top:2px}
/* showcase */
.shot{border-radius:14px;border:1px solid var(--line);box-shadow:0 20px 50px rgba(26,20,48,.12);width:100%;display:block}
.tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
.tab{padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:600;font-size:.9rem;cursor:pointer;font-family:inherit;transition:.18s}
.tab.on{background:linear-gradient(90deg,#85318a,#85318a);color:#fff;border-color:transparent}
.tab:hover:not(.on){border-color:var(--purple);color:var(--purple)}
/* modal */
.overlay{position:fixed;inset:0;background:rgba(26,20,48,.45);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.overlay.show{display:flex}
.modal{background:#fff;border:1px solid var(--line);border-radius:20px;max-width:640px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 30px 90px rgba(26,20,48,.3)}
.modal-head{padding:26px 28px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;border-radius:20px 20px 0 0}
.modal-head .row{display:flex;align-items:center;gap:14px}
.modal-head .mic{width:50px;height:50px;border-radius:13px;background:rgba(133,49,138,.1);border:1px solid rgba(133,49,138,.25);color:var(--purple);display:flex;align-items:center;justify-content:center}
.modal-head .mic svg{width:26px;height:26px}
.modal-head h3{font-size:1.4rem}
.modal-head .cnt{font-size:.82rem;color:var(--muted2)}
.modal-head .mclose{position:absolute;top:20px;right:20px;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--muted);font-size:1.1rem}
.modal-head .mdesc{margin-top:12px;color:var(--body);font-size:.95rem}
.modal-body{padding:18px 28px 8px}
.alabel{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin:6px 0 12px}
.arow{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;margin-bottom:10px;background:var(--tint)}
.arow .aic{flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:rgba(133,49,138,.1);color:var(--purple);display:flex;align-items:center;justify-content:center}
.arow .aic svg{width:20px;height:20px}
.arow h4{font-size:1rem}
.arow p{font-size:.88rem;color:var(--muted);margin-top:2px}
.modal-foot{padding:18px 28px 26px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.modal-foot span{color:var(--muted2);font-size:.86rem}
/* faq */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:20px 0;font-size:1.05rem;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:inherit}
.faq-q .pm{flex:0 0 auto;color:var(--purple);font-size:1.4rem;transition:.2s}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted)}
.faq-a p{padding:0 0 20px;font-size:.96rem}
.faq-item.open .faq-a{max-height:340px}
.faq-item.open .pm{transform:rotate(45deg)}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;height:74px}
.brandmark{display:flex;align-items:center}
.brandmark img{height:36px;width:auto;display:block}
.hd nav{display:flex;gap:1.7rem;align-items:center}
.hd nav a.lnk{color:var(--muted);font-size:1rem;font-weight:500}
.hd nav a.lnk:hover{color:var(--ink)}
.hd .btn-primary{padding:.6rem 1.15rem;font-size:.9rem}
.burger{display:none;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px;cursor:pointer}
.burger svg{width:20px;height:20px;color:var(--ink)}
@media(max-width:860px){.hd nav a.lnk,.hd nav .btn-primary{display:none}.burger{display:inline-flex}}
.mobnav{display:none;flex-direction:column;gap:2px;padding:10px 24px 18px;border-bottom:1px solid var(--line);background:#fff;max-height:calc(100vh - 75px);max-height:calc(100dvh - 75px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobnav.show{display:flex}
.mobnav a{padding:11px 8px;color:var(--body);font-weight:500;border-radius:8px}
.mobnav a:hover{background:rgba(133,49,138,.07);color:var(--purple)}
/* footer */
footer{background:var(--tint);border-top:1px solid var(--line);padding:56px 0 28px;font-size:.92rem;color:var(--muted)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:36px}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
footer img{height:34px;width:auto}
footer h4{color:var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
footer a{color:var(--muted);display:block;padding:5px 0;font-size:.9rem}
footer a:hover{color:var(--purple)}
.fcopy{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.82rem;color:var(--faint);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sec{padding:96px 0}
.center{text-align:center;max-width:760px;margin:0 auto}
h2.title{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.subt{color:var(--muted);font-size:1.06rem;margin-top:14px}
.sec-badges{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.sbadge{border:1px solid var(--line);border-radius:12px;padding:.8rem 1.2rem;font-weight:700;color:var(--ink);background:#fff;display:flex;align-items:center;gap:.5rem;box-shadow:0 6px 18px rgba(26,20,48,.05)}
html.js .reveal{opacity:0;transform:translateY(24px);transition:.6s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.in{opacity:1;transform:none}
/* mega-menu Soluzioni (organizzato come le LP) */
.navdrop{position:relative;display:flex;align-items:center}
.navtrig{font-family:inherit;font-size:1rem;font-weight:500;color:var(--muted);background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0}
.navtrig svg{width:12px;height:12px;transition:.2s}
.navdrop:hover .navtrig,.navdrop:focus-within .navtrig{color:var(--ink)}
.navdrop:hover .navtrig svg,.navdrop:focus-within .navtrig svg{transform:rotate(180deg)}
.navpanel{position:absolute;top:100%;left:0;padding-top:14px;width:600px;max-width:calc(100vw - 40px);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;z-index:60}
.navdrop:hover .navpanel,.navdrop:focus-within .navpanel{opacity:1;visibility:visible;transform:translateY(0)}
.navpanel .npbox{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(26,20,48,.16);padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.npintro{grid-column:1/-1;display:block;padding:12px 14px;border-radius:11px;background:linear-gradient(90deg,rgba(133,49,138,.09),rgba(133,49,138,.05));border:1px solid var(--line);margin-bottom:4px}
.npintro b{color:var(--ink);font-size:.9rem}
.npintro span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.nph{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--purple);padding:8px 8px 4px}
a.npi{display:block;padding:8px 10px;border-radius:10px;transition:.15s}
a.npi:hover{background:var(--tint2)}
a.npi b{display:block;color:var(--ink);font-size:.88rem;font-weight:600}
a.npi.npfeat{background:var(--tint);border:1px solid var(--line)}
.mobsol{font-weight:700;color:var(--purple)!important;font-size:1.06rem}
.mobgrp{display:block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);padding:12px 8px 3px}
.mobsub{padding-left:20px!important;font-size:.88rem!important;color:var(--muted)!important}
@media(max-width:860px){.navdrop{display:none}}
/* showcase dinamico (console che cambia per tab) */
#shotMain{display:flex;flex-direction:column;min-height:648px}
.mockrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
@media(max-width:640px){.mockrow{grid-template-columns:1fr}}
.mockcard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}
.mct{font-size:.72rem;color:var(--muted2);font-weight:600;margin-bottom:10px}
.barchart{display:flex;align-items:flex-end;gap:7px;height:118px}
.barchart .bar{flex:1;background:linear-gradient(180deg,#85318a,#85318a);border-radius:5px 5px 0 0;transform-origin:bottom;animation:grow .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.spark{width:100%;height:118px;display:block}
.spark .ln{stroke:#85318a;stroke-width:2.5;fill:none;stroke-dasharray:520;stroke-dashoffset:520;animation:draw 1.7s ease forwards}
.spark .area{fill:rgba(133,49,138,.08)}
@keyframes draw{to{stroke-dashoffset:0}}
.conngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
@media(max-width:640px){.conngrid{grid-template-columns:1fr 1fr}}
.cchip{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;opacity:0;animation:fadeUp .5s ease forwards}
.cchip img{height:18px;width:18px;object-fit:contain;flex:0 0 18px}
.cchip .cn{font-size:.8rem;color:var(--ink);font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cchip .ok{font-size:.58rem;font-weight:700;color:#15803d;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.cchip .ok::before{content:"";width:6px;height:6px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.16);animation:pulse 1.8s infinite}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.syncbar{height:8px;border-radius:6px;background:var(--tint2);margin-top:16px;overflow:hidden}
.syncfill{height:100%;width:0;background:linear-gradient(90deg,#85318a,#85318a);border-radius:6px;animation:fill 2.4s ease forwards}
@keyframes fill{to{width:92%}}
.auditbox{margin-top:8px}
.arow2{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-top:1px solid var(--line2);font-size:.78rem;opacity:0;animation:fadeUp .5s ease forwards}
.arow2 .tm{color:var(--faint);font-variant-numeric:tabular-nums;flex:0 0 54px}
.arow2 .ac b{color:var(--ink);font-weight:600}
.arow2 .ac span{color:var(--muted);display:block;margin-top:1px}
.chatwrap{display:flex;flex-direction:column;gap:12px;padding:22px 20px}
.cbub{max-width:78%;padding:11px 14px;border-radius:15px;font-size:.86rem;line-height:1.5;opacity:0;animation:fadeUp .45s ease forwards}
.cbub.me{align-self:flex-end;background:linear-gradient(135deg,#85318a,#8e2497);color:#fff;border-bottom-right-radius:4px}
.cbub.ai{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--body);border-bottom-left-radius:4px}
.cbub .who{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;opacity:.7}
.typing{align-self:flex-start;display:inline-flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;opacity:0;animation:fadeUp .45s ease forwards}
.typing i{width:7px;height:7px;border-radius:50%;background:#85318a;display:inline-block;animation:blip 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}
.typing i:nth-child(3){animation-delay:.4s}
@keyframes blip{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
#shotMain .ctable{margin-top:14px}
/* dropdown Azienda (compatto, allineato a destra) */
.navpanel.sm{width:340px;left:auto;right:0}
.navpanel.sm .npbox{grid-template-columns:1fr;gap:2px}
/* ===== FOOTER stile Lovable - pannello arrotondato ===== */
footer{background:#fff;border-top:none;padding:0 0 40px}
.footcard{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(155deg,#2a0f3a 0%,#4a1560 52%,#7a1f8f 100%);color:rgba(255,255,255,.82);padding:54px 48px 30px;box-shadow:0 30px 80px rgba(74,21,96,.26)}
.footcard::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(217,79,224,.55),transparent 70%);top:-280px;right:-140px;filter:blur(50px);opacity:.55;pointer-events:none}
.foottop{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 3fr;gap:40px}
@media(max-width:900px){.foottop{grid-template-columns:1fr}}
.footbrand img{height:34px;filter:brightness(0) invert(1)}
.footbrand p{margin-top:14px;max-width:260px;font-size:.9rem;color:rgba(255,255,255,.68);line-height:1.6}
.footcontacts{margin-top:18px;display:flex;flex-direction:column;gap:9px}
.footcontacts a{color:#fff;font-weight:600;font-size:.94rem;display:inline-flex;align-items:center;gap:9px}
.footcontacts a svg{width:16px;height:16px;opacity:.85}
.footcontacts a:hover{color:#f0c8f5}
.footcols{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
@media(max-width:900px){.footcols{grid-template-columns:repeat(3,1fr);margin-top:10px}}
@media(max-width:560px){.footcols{grid-template-columns:1fr 1fr}}
.footcols h4{color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:13px;font-weight:800}
.footcols a{display:block;color:rgba(255,255,255,.64);font-size:.87rem;padding:4px 0;transition:.15s}
.footcols a:hover{color:#fff}
.footword{position:relative;z-index:1;font-size:clamp(3rem,14vw,10rem);font-weight:800;letter-spacing:-.03em;line-height:.9;margin-top:24px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;user-select:none;pointer-events:none}
.footbar{position:relative;z-index:1;margin-top:6px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.55)}
.footbar a{color:rgba(255,255,255,.72);display:inline;padding:0}
.footbar a:hover{color:#fff}
@media(max-width:640px){.footcard{padding:38px 26px 26px;border-radius:22px}}
/* ===== blocchi landing verticali ===== */
.lp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
@media(max-width:820px){.lp-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.lp-steps{grid-template-columns:1fr}}
.lp-step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(26,20,48,.05)}
.lp-step .sn{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#85318a,#85318a);color:#fff;font-weight:800;font-size:.88rem;display:flex;align-items:center;justify-content:center}
.lp-step h4{font-size:1.02rem;margin-top:14px}
.lp-step p{color:var(--muted);font-size:.9rem;margin-top:6px}
.callout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:760px){.callout{grid-template-columns:1fr}}
.cmp-wrap{margin-top:40px;overflow-x:auto;border:1px solid var(--line);border-radius:16px}
.cmp{width:100%;border-collapse:collapse;min-width:660px;font-size:.9rem;background:#fff}
.cmp th,.cmp td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line2)}
.cmp thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted2);font-weight:800;background:var(--tint)}
.cmp thead th.dd{color:var(--purple);background:rgba(133,49,138,.08)}
.cmp td.feat{font-weight:600;color:var(--ink)}
.cmp td.ddc{background:rgba(133,49,138,.05)}
.cmp .yes{color:#15803d;font-weight:800}
.cmp .part{color:#b45309;font-weight:800}
.cmp .no{color:var(--faint);font-weight:800}
.cmp tr:last-child td{border-bottom:none}
#guarGrid{grid-template-columns:repeat(3,1fr)}
#guarGrid>*{min-width:0}
@media(max-width:900px){#guarGrid{grid-template-columns:1fr}}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media(max-width:760px){.statgrid{grid-template-columns:1fr}}
.statbig{font-size:2.1rem;font-weight:800;line-height:1.05}
.quotecard{margin-top:24px;border-left:3px solid var(--purple);background:var(--tint);border-radius:0 14px 14px 0;padding:18px 22px;color:var(--ink);font-weight:600;font-style:italic;max-width:760px;margin-left:auto;margin-right:auto}
.agentcon .cbar{border-radius:16px 16px 0 0}
.agentcon-body{border:1px solid var(--line);border-top:none;border-radius:0 0 16px 16px;background:var(--tint);padding:16px}
/* layout 5 blocchi: 3 in riga + 2 sfalsati sotto */
.stagger5{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:40px}
.stagger5>*{grid-column:span 2}
.stagger5>*:nth-child(4){grid-column:2 / span 2}
.stagger5>*:nth-child(5){grid-column:4 / span 2}
@media(max-width:820px){.stagger5{grid-template-columns:1fr 1fr}.stagger5>*,.stagger5>*:nth-child(4),.stagger5>*:nth-child(5){grid-column:auto}}
@media(max-width:520px){.stagger5{grid-template-columns:1fr}}

/* ===== menu 2026 · dropdown stile jethr: pannello agganciato e centrato sulla voce ===== */
.navdrop{position:relative}
.navpanel{position:absolute;top:100%;left:50%;right:auto;transform:translateX(-50%) translateY(8px);padding-top:12px}
.navdrop:hover .navpanel,.navdrop:focus-within .navpanel{transform:translateX(-50%) translateY(0)}
.navpanel.mega{width:780px}
.navpanel.md{width:470px;left:50%;right:auto}
.navpanel.sm{width:400px;left:50%;right:auto}
.navpanel .npbox{padding:16px;border-radius:18px;gap:4px 20px}
.navpanel.md .npbox,.navpanel.sm .npbox{grid-template-columns:1fr;gap:2px}
/* Ogni voce e' una riga sola: il nome sta al centro dell'icona, non appeso in alto. */
a.npi{display:flex;gap:11px;align-items:center;padding:9px 10px}
a.npi .npic{flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:rgba(133,49,138,.08);border:1px solid rgba(133,49,138,.16);color:var(--purple);display:flex;align-items:center;justify-content:center}
a.npi .npic svg{width:16px;height:16px}
a.npi:hover .npic{background:rgba(133,49,138,.14)}
.navpanel .nph{font-size:.82rem;padding:8px 8px 6px;white-space:nowrap}
/* ultimo dropdown (Azienda): pannello largo agganciato alla voce, allineato al suo bordo destro per non uscire dallo schermo */
.navpanel.mega.az{width:620px}
.navdrop:last-of-type .navpanel{left:auto;right:0;transform:translateY(8px)}
.navdrop:last-of-type:hover .navpanel,.navdrop:last-of-type:focus-within .navpanel{transform:translateY(0)}

/* casi di applicazione nel popup squadre */
.mcases{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.mcases span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted2);margin-right:4px}
.mcases a{font-size:.85rem;font-weight:600;color:var(--purple);background:var(--tint2);border:1px solid rgba(133,49,138,0.22);border-radius:999px;padding:6px 13px;text-decoration:none}
.mcases a:hover{background:#f0dff5}
/* ─────────────────────────────────────────────────────────────────────────
   Compatibilità con il rendering di produzione.

   Tailwind veniva caricato da CDN e iniettava il suo preflight in fondo al
   <head>, cioè DOPO questo foglio di stile. Due dichiarazioni scritte qui
   sopra non hanno quindi mai avuto effetto sul sito pubblicato:

     riga  56  h1,h2,h3,h4 { font-weight: 800 }   → reso a 400 (ereditato)
     riga  ~9  body        { line-height: 1.6 }   → reso a 1.5 (ereditato)

   Le righe qui sotto riproducono quel comportamento, così che togliere il
   CDN non cambi l'aspetto del sito di una virgola. Sono una scelta, non un
   vincolo: cancellandole i titoli tornano a peso 800 e l'interlinea a 1.6,
   che è quanto il CSS dichiara. Da valutare con chi ha disegnato il sito.
   ───────────────────────────────────────────────────────────────────────── */
body{line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}

/* ===== documenti lunghi: privacy, cookie policy ===== */
.doc{color:var(--body);font-size:1rem}
.doc h2{font-size:1.35rem;font-weight:800;color:var(--ink);margin:38px 0 12px;letter-spacing:-.01em}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin:26px 0 8px}
.doc p{margin-bottom:14px;line-height:1.72}
.doc ul{margin:0 0 16px;padding-left:22px;list-style:disc}
.doc li{margin-bottom:8px;line-height:1.68}
.doc a{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.doc a:hover{color:var(--purple-d)}
.doc b{color:var(--ink);font-weight:700}
.doc code{background:var(--tint2);color:var(--purple-d);border-radius:5px;padding:2px 6px;font-size:.88em}
/* Le tabelle larghe scorrono dentro il proprio contenitore invece di far
   scorrere tutta la pagina in orizzontale sul telefono. */
.doc .tablewrap{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:12px}
.doc table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.doc th{text-align:left;font-weight:700;color:var(--ink);background:var(--tint);padding:12px 14px;border-bottom:1px solid var(--line)}
.doc td{padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:top;line-height:1.6}
.doc tr:last-child td{border-bottom:none}

/* ===== al posto di un contenuto di terzi, finché manca il consenso ===== */
.dd-gate{border:1px solid var(--line);border-radius:16px;background:var(--tint);padding:34px 26px;text-align:center;margin-top:18px}
.dd-gate-in{max-width:44ch;margin:0 auto}
.dd-gate svg{width:34px;height:34px;color:var(--purple);margin:0 auto 14px}
.dd-gate h3{font-size:1.1rem;font-weight:800;color:var(--ink)}
.dd-gate p{font-size:.92rem;color:var(--muted);margin-top:10px;line-height:1.65}
.dd-gate .btn{margin-top:18px}
.dd-gate-alt{font-size:.86rem;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.dd-gate-alt a{color:var(--purple);font-weight:600}

/* ===== pannello delle preferenze =====
   Non c'è nessun banner: il sito non archivia niente nel browser per le
   statistiche, quindi non c'è un consenso preventivo da raccogliere. Questo
   pannello si apre dal link Preferenze nel footer e serve a due cose:
   opporsi alle statistiche, e accendere o spegnere il calendario Calendly. */
.dd-noscroll{overflow:hidden}
.dd-cp{position:fixed;inset:0;z-index:9999;background:rgba(26,20,48,.45);
  display:flex;align-items:center;justify-content:center;padding:20px;
  animation:ddFade .2s ease}
@keyframes ddFade{from{opacity:0}to{opacity:1}}
.dd-cp-box{background:#fff;border-radius:20px;max-width:620px;width:100%;
  max-height:calc(100dvh - 40px);display:flex;flex-direction:column;
  box-shadow:0 30px 80px rgba(26,20,48,.3)}
.dd-cp-head{display:flex;align-items:center;justify-content:space-between;
  padding:22px 26px;border-bottom:1px solid var(--line)}
.dd-cp-head h2{font-size:1.15rem;font-weight:800;color:var(--ink)}
.dd-cp-x{background:none;border:none;font-size:1.7rem;line-height:1;color:var(--muted2);
  cursor:pointer;padding:0 4px}
.dd-cp-x:hover{color:var(--ink)}
.dd-cp-body{padding:6px 26px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.dd-cp-row{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;
  padding:20px 0;border-bottom:1px solid var(--line2)}
.dd-cp-row:last-child{border-bottom:none}
.dd-cp-row h3{font-size:.96rem;font-weight:700;color:var(--ink)}
.dd-cp-row p{font-size:.86rem;color:var(--muted);margin-top:5px;line-height:1.6}
.dd-cp-fixed{font-size:.74rem;font-weight:700;color:var(--muted2);white-space:nowrap;
  background:var(--tint);border-radius:999px;padding:6px 12px;flex:0 0 auto;margin-top:2px}
.dd-cp-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 26px;border-top:1px solid var(--line);background:var(--tint);
  border-radius:0 0 20px 20px;flex-wrap:wrap}
.dd-cp-foot a{font-size:.84rem;color:var(--muted2);text-decoration:underline}
.dd-cp-foot a:hover{color:var(--purple)}
.dd-cp-foot>div{display:flex;gap:10px}
.dd-cp-foot .btn{font-size:.86rem;padding:.6rem 1.1rem}
@media(max-width:620px){
  .dd-cp-foot{flex-direction:column-reverse;align-items:stretch}
  .dd-cp-foot>div{width:100%}
  .dd-cp-foot .btn{flex:1;justify-content:center}
  .dd-cp-foot a{text-align:center}
  .dd-cp-row{flex-direction:column;gap:12px}
}

/* interruttore */
.dd-sw{position:relative;flex:0 0 auto;width:46px;height:26px;margin-top:2px;cursor:pointer}
.dd-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.dd-sw span{position:absolute;inset:0;background:#d9cfe2;border-radius:999px;transition:.2s}
.dd-sw span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;
  background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.dd-sw input:checked+span{background:var(--purple)}
.dd-sw input:checked+span::after{transform:translateX(20px)}
.dd-sw input:focus-visible+span{outline:2px solid var(--purple);outline-offset:2px}

.dd-cp-intro{font-size:.88rem;color:var(--muted);line-height:1.6;padding:18px 0 4px;
  border-bottom:1px solid var(--line2)}

/* ===== avviso informativo =====
   Non è un banner del consenso: non chiede niente e non ha bottoni di scelta,
   solo una chiusura. Per questo è una striscia bassa e non un pannello con
   pulsanti — deve leggersi come una nota, non come una richiesta, altrimenti
   viene scacciata con lo stesso gesto riflesso di tutte le altre.
   Fondo scuro (--ink) come il resto delle superfici scure del sito. */
.dd-nt{position:fixed;left:16px;right:16px;bottom:16px;z-index:9998;
  background:var(--ink);color:#fff;border-radius:14px;max-width:720px;margin:0 auto;
  box-shadow:0 18px 48px rgba(26,20,48,.34);
  transform:translateY(20px);opacity:0;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s}
.dd-nt-on{transform:translateY(0);opacity:1}
.dd-nt-in{display:flex;align-items:flex-start;gap:13px;padding:15px 16px 15px 18px}
.dd-nt-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--green);
  margin-top:7px;box-shadow:0 0 0 4px rgba(22,163,74,.2)}
.dd-nt p{flex:1;font-size:.86rem;line-height:1.55;color:rgba(255,255,255,.8);min-width:0}
.dd-nt b{color:#fff;font-weight:700}
.dd-nt a{color:#fff;text-decoration:underline;text-underline-offset:2px;font-weight:600;white-space:nowrap}
.dd-nt a:hover{color:var(--purple-l)}
.dd-nt-x{flex:0 0 auto;background:none;border:none;color:rgba(255,255,255,.5);
  font-size:1.5rem;line-height:1;cursor:pointer;padding:0 2px;margin-top:-2px}
.dd-nt-x:hover{color:#fff}
@media(max-width:640px){
  .dd-nt{left:10px;right:10px;bottom:10px}
  .dd-nt-in{padding:14px}
  .dd-nt p{font-size:.82rem}
}
