
/* Font serviti dal nostro server (mai da Google: passerebbe l'IP del visitatore senza consenso) */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/space-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/space-grotesk-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/space-grotesk-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2')}

/* ── Token ORBITA, gli stessi del CRM (docs/DESIGN_SYSTEM.md). Tema scuro unico, scelto: il prodotto è solo scuro. */
:root{
  color-scheme: dark;
  --bg-0:#070B0A;
  --bg-1:#0A0F0E;
  --bg-2:#101817;
  --bg-3:#16211F;
  --border:#24322F;
  --border-hi:#2F423E;
  --border-sub:#1A2725;
  --text:#E9F2EF;
  --text-sec:#9CADA8;
  --text-mut:#859692;
  --accent:#4FB78F;
  --accent-hi:#62C9A0;
  --accent-dim:#0F2A22;
  --accent-line:rgba(79,183,143,.38);
  --success:#5AC79B;
  --warning:#D3A44A;
  --warning-dim:#2A2213;
  --danger:#DE5F62;
  --info:#5FA8D3;
  --on-accent:#07120C;
  --r:3px;
  --rs:2px;
  --f-display:'Space Grotesk','IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-1);color:var(--text);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.02em;color:var(--text)}
p{margin:0}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
svg{flex:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
@media (max-width:640px){.wrap{padding-inline:16px}}
.label{font:500 11px/1.4 var(--f-mono);letter-spacing:.17em;text-transform:uppercase;color:var(--text-mut)}
.mono{font-family:var(--f-mono)}
.small{font-size:12px}
.tnum,.mono{font-feature-settings:'tnum';font-variant-numeric:tabular-nums}
.c-info{color:var(--info)}.c-warn{color:var(--warning)}.c-acc{color:var(--accent)}.c-ok{color:var(--success)}.c-dan{color:var(--danger)}.c-mut{color:var(--text-mut)}.c-sec{color:var(--text-sec)}
.app{padding-bottom:96px}

/* ── Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--rs);border:1px solid var(--border);background:var(--bg-2);color:var(--text);font:500 14px/1 var(--f-body);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .15s}
.btn:hover{background:var(--bg-3);border-color:var(--border-hi)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.btn-primary:hover{background:var(--accent-hi);border-color:var(--accent-hi)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--text-sec)}
.btn-ghost:hover{background:var(--bg-3);border-color:var(--border);color:var(--text)}
.btn-sm{min-height:36px;padding:0 14px;font-size:13px}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* ── Badge (outline, mono, come le pastiglie del CRM) */
.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid currentColor;border-radius:var(--r);font:600 10px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;transition:color .35s}
.badge.fill-warn{background:var(--warning-dim)}
.badge.fill-acc{background:var(--accent-dim)}

/* ── Logo */
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{display:inline-grid;place-items:center;font:600 12.5px/1 var(--f-mono);letter-spacing:.03em;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-dim);height:28px;padding:0 7px;border-radius:var(--rs)}
.logo-word{font:600 18px/1 var(--f-display);letter-spacing:-.01em;color:var(--text)}

/* ── Barra di navigazione del sito */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(10,15,14,.86);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border-sub)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:64px}
.nav-links{display:flex;gap:2px;margin-left:10px}
.nav-links a{font-size:14px;color:var(--text-sec);text-decoration:none;padding:8px 11px;border-radius:var(--rs)}
.nav-links a:hover{color:var(--text);background:var(--bg-3)}
.nav-cta{margin-left:auto;display:flex;gap:6px;align-items:center}
@media (max-width:900px){.nav-links{display:none}}
@media (max-width:440px){.nav-cta .btn-ghost{display:none}.logo-word{font-size:16px}}

/* ── Hero */
.hero{position:relative;overflow:hidden;padding-block:64px 88px}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(36,50,47,.5) 1px,transparent 1px),linear-gradient(to bottom,rgba(36,50,47,.5) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:radial-gradient(ellipse 85% 55% at 50% 0%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse 85% 55% at 50% 0%,#000 15%,transparent 72%);pointer-events:none}
.hero .wrap{position:relative}
.hero-copy{max-width:900px}
.eyebrow{display:inline-flex;align-items:center;gap:10px}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:ping 2.4s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(79,183,143,.55)}75%{box-shadow:0 0 0 9px rgba(79,183,143,0)}100%{box-shadow:0 0 0 0 rgba(79,183,143,0)}}
.hero h1{font-size:clamp(40px,6.6vw,80px);line-height:.98;letter-spacing:-.04em;margin-top:20px}
.hero h1 .hl{color:var(--accent);position:relative;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:2px;background:var(--accent);transform-origin:left;animation:draw 1.1s .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-sub{margin-top:24px;font-size:clamp(17px,1.55vw,19.5px);line-height:1.6;color:var(--text-sec);max-width:660px}
.hero-sub b{color:var(--text);font-weight:500}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:24px}
.hero-facts span{font:500 12px/1.4 var(--f-mono);color:var(--text-mut);display:inline-flex;align-items:center;gap:9px}
.hero-facts span::before{content:"";width:5px;height:5px;background:var(--accent);border-radius:1px}

/* ── La console dimostrativa */
.console{margin-top:56px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.console-bar{display:flex;align-items:center;gap:14px;min-height:42px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-1)}
.lights{display:flex;gap:6px}
.lights i{width:9px;height:9px;border-radius:50%;background:var(--border)}
.console-bar .ttl{font:500 11px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-mut)}
.live{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:600 10.5px/1 var(--f-mono);color:var(--accent);letter-spacing:.14em;white-space:nowrap}
.console-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.86fr) minmax(0,1.05fr)}
.pane{min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column}
.pane:last-child{border-right:0}
.pane-h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 14px;border-bottom:1px solid var(--border-sub)}
.pane-b{padding:16px 14px;flex:1;min-width:0}
@media (max-width:1000px){.console-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pane-chat{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--border)}}
@media (max-width:640px){.console-grid{grid-template-columns:minmax(0,1fr)}.pane{border-right:0;border-bottom:1px solid var(--border)}.pane:last-child{border-bottom:0}}

.chat{display:flex;flex-direction:column;gap:11px;min-height:300px}
.msg{max-width:88%;display:flex;flex-direction:column;gap:5px;transition:opacity .4s ease,transform .4s ease}
.msg .who{font:500 10px/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-mut)}
.msg .bub{padding:9px 12px;border-radius:var(--r);font-size:14px;line-height:1.45;border:1px solid var(--border);overflow-wrap:anywhere}
.msg.in{align-self:flex-start}
.msg.in .bub{background:var(--bg-3)}
.msg.out{align-self:flex-end;align-items:flex-end}
.msg.out .bub{background:var(--accent-dim);border-color:var(--accent-line)}
.msg.off,.ev.off{opacity:0;transform:translateY(8px)}
.vnote{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--r)}
.disc{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--p,70%),var(--border) 0);flex:none}
.disc span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bg-2);color:var(--accent)}
.vnote .mono{font-size:12px;color:var(--text-sec)}
.typing{display:flex;align-items:center;gap:7px;font:500 11px/1 var(--f-mono);color:var(--text-mut);height:20px;margin-top:auto;padding-top:6px;transition:opacity .25s}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--text-mut);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}
.typing.off{opacity:0}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}

.lead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.lead-name{font:600 18px/1.2 var(--f-display);letter-spacing:-.01em}
.lead-handle{font:500 12px/1.5 var(--f-mono);color:var(--accent)}
.score{margin-top:18px}
.score-row{display:flex;justify-content:space-between;align-items:baseline}
.score-num{font:600 26px/1 var(--f-mono);letter-spacing:-.02em}
.score-track{height:4px;background:var(--bg-3);border-radius:2px;margin-top:9px;overflow:hidden}
.score-track i{display:block;height:100%;width:var(--s,78%);background:var(--accent);transition:width 1s cubic-bezier(.2,.8,.2,1)}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 12px;margin:20px 0 0;font-size:13px}
.kv dt{font:500 10px/1.9 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-mut);white-space:nowrap}
.kv dd{margin:0;text-align:right;color:var(--text);overflow-wrap:anywhere}
.kv dd.q{color:var(--text-sec)}

.events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ev{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:9px 10px;border-bottom:1px solid var(--border-sub);font-size:13px;line-height:1.45;transition:opacity .4s,transform .4s,background .4s,box-shadow .4s}
.ev time{font:500 11.5px/1.55 var(--f-mono);color:var(--text-mut)}
.ev.now{background:var(--bg-3);box-shadow:inset 2px 0 0 var(--accent)}
.chip{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font:600 9.5px/1 var(--f-mono);letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent-line);padding:3px 5px;border-radius:var(--rs);vertical-align:1px;white-space:nowrap}
.chip.warn{color:var(--warning);border-color:rgba(211,164,74,.45)}

/* ── Striscia dei numeri veri */
.proof{border-block:1px solid var(--border-sub);background:var(--bg-0)}
.proof .wrap{padding-block:38px;display:grid;grid-template-columns:minmax(0,1.25fr) repeat(4,minmax(0,1fr));gap:28px;align-items:end}
.proof .intro p{margin-top:10px;color:var(--text-sec);font-size:14.5px;line-height:1.5;max-width:300px}
.num{font:600 clamp(30px,3.3vw,44px)/1 var(--f-mono);letter-spacing:-.03em;color:var(--text)}
.num-cap{font-size:13.5px;color:var(--text-sec);margin-top:10px;line-height:1.4}
@media (max-width:1000px){.proof .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.proof .intro{grid-column:1/-1}}

/* ── Sezioni */
.section{padding-block:104px;scroll-margin-top:72px}
@media (max-width:640px){.section{padding-block:68px}}
.sec-head{max-width:780px;display:flex;flex-direction:column;gap:16px}
.sec-head h2{font-size:clamp(31px,3.9vw,50px);line-height:1.04;letter-spacing:-.03em}
.alt{background:var(--bg-0);border-block:1px solid var(--border-sub)}

/* ── Il percorso: una sequenza vera, quindi numerata */
.path{margin-top:56px;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.path-track{position:absolute;left:10%;right:10%;top:19px;height:1px;background:var(--border)}
.path-fill{position:absolute;left:10%;top:19px;height:1px;width:0;background:var(--accent)}
.path-runner{position:absolute;top:15px;left:10%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(79,183,143,.16)}
.stop{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.node{width:39px;height:39px;border-radius:50%;border:1px solid var(--border);background:var(--bg-2);display:grid;place-items:center;font:600 12px/1 var(--f-mono);color:var(--text-mut);position:relative;z-index:1;transition:border-color .3s,color .3s,background .3s}
.stop.lit .node{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}
.stop h3{font-size:17px;letter-spacing:-.01em}
.stop p{color:var(--text-sec);font-size:14px;line-height:1.5;max-width:210px}
@media (max-width:860px){
  .path{grid-template-columns:minmax(0,1fr);gap:26px}
  .path-track{left:19px;right:auto;top:20px;bottom:20px;width:1px;height:auto}
  .path-fill{left:19px;top:20px;width:1px;height:0}
  .path-runner{left:19px;top:20px;margin-left:-4px;margin-top:-4.5px}
  .stop{display:grid;grid-template-columns:39px minmax(0,1fr);column-gap:18px;row-gap:4px;align-items:start;text-align:left}
  .stop .node{grid-row:1/3}
  .stop h3{padding-top:8px}
  .stop p{max-width:none}
}

/* ── Funzioni: blocchi alternati, ognuno col suo pezzo di prodotto */
.feats{margin-top:40px}
.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:64px;align-items:center;padding-block:60px;border-top:1px solid var(--border-sub)}
.feat:first-child{border-top:0;padding-top:28px}
.feat.flip .feat-copy{order:2}
.feat-copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.feat-copy h3{font-size:clamp(25px,2.5vw,34px);line-height:1.1;letter-spacing:-.025em}
.feat-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.feat-list li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;color:var(--text-sec);font-size:15.5px;line-height:1.55}
.feat-list li::before{content:"";width:7px;height:7px;margin-top:9px;border:1px solid var(--accent);border-radius:1px}
.feat-list b{color:var(--text);font-weight:600}
@media (max-width:920px){.feat{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:44px}.feat.flip .feat-copy{order:0}}

.viz{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);overflow:hidden;min-width:0}
.viz-h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-1)}
.viz-b{padding:18px 16px}

/* acquisizione */
.ad-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-1)}
.ad-thumb{width:52px;height:52px;border-radius:var(--rs);background:repeating-linear-gradient(135deg,#16211F 0 6px,#121B19 6px 12px);border:1px solid var(--border);display:grid;place-items:center;font:600 11px/1 var(--f-mono);color:var(--text-sec)}
.ad-name{font:600 15px/1.25 var(--f-display)}
.down{display:flex;justify-content:center;padding-block:8px;color:var(--text-mut)}
.invite{padding:14px;border:1px dashed var(--accent-line);border-radius:var(--r);background:var(--accent-dim)}
.invite-link{margin-top:8px;font:600 clamp(15px,1.7vw,18px)/1.3 var(--f-mono);color:var(--text);overflow-wrap:anywhere}
.invite-link span{color:var(--accent);transition:opacity .2s}
.invite-link span.swap{opacity:.15}
.invite-meta{margin-top:6px;font-size:12px;color:var(--text-sec)}
.acq-ev{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.acq-ev li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-sec);transition:opacity .35s,transform .35s}
.acq-ev li.off{opacity:.15;transform:translateX(-4px)}
.okd{width:16px;height:16px;border-radius:50%;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);flex:none}

/* automazioni: la tela */
.flow{display:flex;flex-direction:column;align-items:center}
.fnode{width:min(100%,330px);display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-1);font-size:14px;line-height:1.35;transition:border-color .3s,background .3s,box-shadow .3s}
.ftype{font:600 9.5px/1 var(--f-mono);letter-spacing:.14em;color:var(--text-mut);transition:color .3s}
.fnode .fx{font:500 11px/1.4 var(--f-mono);color:var(--text-mut)}
.fnode.on{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 2px 0 0 var(--accent)}
.fnode.on .ftype{color:var(--accent)}
.fline{width:1px;height:18px;background:var(--border);transition:background .3s}
.fline.on{background:var(--accent)}
.fsplit{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;position:relative;padding-top:18px}
.fsplit::before{content:"";position:absolute;top:0;left:25%;right:25%;height:18px;border:1px solid var(--border);border-bottom:0;border-radius:var(--r) var(--r) 0 0}
.fbranch{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.fbranch .fnode{width:100%}
.fk{font:600 10px/1 var(--f-mono);letter-spacing:.12em;padding:3px 6px;border:1px solid var(--border);border-radius:var(--rs);color:var(--text-sec)}
.flow-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-sub);font:500 11.5px/1.4 var(--f-mono);color:var(--text-mut)}
.rec{display:inline-flex;align-items:center;gap:7px;color:var(--warning)}
.rec::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warning);animation:blink 1.1s infinite}

/* vendita: la tabella dei lead */
.ltable{display:flex;flex-direction:column;font-size:13.5px}
.lrow{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.35fr) 44px minmax(0,.9fr);gap:10px;align-items:center;min-height:42px;padding:0 14px;border-bottom:1px solid var(--border-sub);transition:background .35s,box-shadow .35s}
.lrow.head{min-height:32px;background:var(--bg-1)}
.lrow.head span{font:500 9.5px/1 var(--f-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-mut)}
.lrow.sel{background:var(--bg-3);box-shadow:inset 2px 0 0 var(--accent)}
.lrow .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lrow .nm small{display:block;font:500 11px/1.3 var(--f-mono);color:var(--accent);overflow:hidden;text-overflow:ellipsis}
.lrow .sc{font:600 13px/1 var(--f-mono);text-align:right}
.lrow .who{color:var(--text-sec);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-strip{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:12px 14px;background:var(--bg-1);font-size:13px;color:var(--text-sec);transition:opacity .3s}
.ai-strip.swap{opacity:.2}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid var(--border);border-radius:var(--rs);font-size:12px;color:var(--text);background:var(--bg-2);white-space:nowrap}
@media (max-width:520px){.lrow{grid-template-columns:minmax(0,1.4fr) minmax(0,1.3fr) 36px}.lrow .who{display:none}}

/* clienti e incassi: il registro */
.imp{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}
.file-ic{width:36px;height:40px;border:1px solid var(--border-hi);border-radius:var(--rs);position:relative;background:var(--bg-1)}
.file-ic::after{content:"XLSX";position:absolute;left:3px;bottom:5px;font:600 8px/1 var(--f-mono);color:var(--accent)}
.imp b{font-weight:600;font-size:14px;overflow-wrap:anywhere}
.rtable{display:flex;flex-direction:column;font-size:13.5px}
.rrow{display:grid;grid-template-columns:48px minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.7fr) minmax(0,1.05fr);gap:10px;align-items:center;min-height:42px;padding:0 14px;border-bottom:1px solid var(--border-sub);transition:background .35s}
.rrow.head{min-height:32px;background:var(--bg-1)}
.rrow.head span{font:500 9.5px/1 var(--f-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-mut)}
.rrow .d,.rrow .m{font:500 12.5px/1 var(--f-mono)}
.rrow .d{color:var(--text-mut)}
.rrow.sel{background:var(--bg-3)}
.rrow .st{justify-self:start}
.reg-tot{display:flex;flex-wrap:wrap;gap:6px 22px;padding:13px 14px;background:var(--bg-1);font-size:13px;color:var(--text-sec)}
.reg-tot b{font:600 14px/1 var(--f-mono);color:var(--text)}
@media (max-width:520px){.rrow{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.1fr)}.rrow .d,.rrow .dep{display:none}}

/* numeri e squadra */
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--border)}
.kpis > div{padding:16px 14px;border-right:1px solid var(--border-sub);min-width:0}
.kpis > div:last-child{border-right:0}
.kpi{font:600 clamp(22px,2.3vw,28px)/1 var(--f-mono);letter-spacing:-.02em;margin-top:9px}
.kpi-d{font:500 11.5px/1 var(--f-mono);color:var(--success);margin-top:7px}
.bars{display:flex;flex-direction:column;gap:12px;padding:18px 14px 8px}
.bar-row{display:grid;grid-template-columns:62px minmax(0,1fr) 62px;gap:12px;align-items:center;font-size:13.5px}
.bar{height:8px;background:var(--bg-3);border-radius:1px;overflow:hidden}
.bar i{display:block;height:100%;width:var(--w);background:var(--accent);opacity:.85}
.bar i.slow{background:var(--warning)}
.viz.play .bar i{animation:grow 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{width:0}}
.bar-row .mono{text-align:right;color:var(--text-sec);font-size:12.5px}
.bars-cap{padding:6px 14px 16px;font:500 11.5px/1.4 var(--f-mono);color:var(--text-mut)}

/* ── In arrivo */
.soon-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.soon{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);overflow:hidden;min-width:0}
.soon-viz{height:320px;border-bottom:1px solid var(--border);background:var(--bg-1);position:relative;overflow:hidden;padding:16px}
.soon-copy{padding:22px 20px 24px;display:flex;flex-direction:column;gap:12px}
.soon-copy h3{font-size:24px;letter-spacing:-.02em}
.soon-copy p{color:var(--text-sec);font-size:15px;line-height:1.6}
@media (max-width:1040px){.soon-grid{grid-template-columns:minmax(0,1fr)}.soon{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.soon-viz{height:auto;min-height:300px;border-bottom:0;border-right:1px solid var(--border)}}
@media (max-width:700px){.soon{display:flex}.soon-viz{min-height:0;height:300px;border-right:0;border-bottom:1px solid var(--border)}}

.aichat{display:flex;flex-direction:column;gap:10px;height:100%}
.aichat .time{align-self:center;font:500 10.5px/1 var(--f-mono);color:var(--text-mut);letter-spacing:.1em}
.ai-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--border-sub)}
.switch{background:none;border:0;padding:4px 0;display:inline-flex;align-items:center;gap:8px;font:500 11.5px/1.3 var(--f-mono);color:var(--text-sec)}
.switch i{width:28px;height:16px;border-radius:8px;border:1px solid var(--border-hi);position:relative;background:var(--bg-2);transition:background .3s,border-color .3s}
.switch i::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--text-mut);transition:transform .3s,background .3s}
.switch.on i{background:var(--accent-dim);border-color:var(--accent)}
.switch.on i::after{transform:translateX(12px);background:var(--accent)}

.push{display:flex;flex-direction:column;gap:12px;height:100%}
.post{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);padding:8px 10px;font-size:12.5px;line-height:1.45;color:var(--text-sec);transition:opacity .45s,transform .45s,border-color .45s}
.post.src{border-color:var(--accent-line);color:var(--text)}
.post-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.post-h .mono{font-size:10.5px;letter-spacing:.12em;color:var(--text-mut)}
.sent{font:600 9.5px/1 var(--f-mono);letter-spacing:.1em;color:var(--accent);opacity:0;transition:opacity .3s}
.post.done .sent{opacity:1}
.post.off{opacity:.12;transform:translateX(10px)}
.fan{display:flex;flex-direction:column;gap:8px;padding-left:16px;border-left:1px dashed var(--border-hi);margin-left:8px}

.phone{width:206px;height:100%;max-height:268px;margin-inline:auto;border:1px solid var(--border-hi);border-radius:26px;background:var(--bg-2);padding:9px;position:relative}
.phone-screen{height:100%;border-radius:19px;background:var(--bg-1);border:1px solid var(--border-sub);overflow:hidden;display:flex;flex-direction:column}
.ph-top{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}
.ph-top .logo-mark{height:20px;font-size:9.5px;padding:0 5px}
.ph-top b{font:600 13px/1 var(--f-display)}
.ph-top .mono{margin-left:auto;font-size:9.5px;color:var(--text-mut)}
.ph-lock{display:flex;align-items:center;gap:6px;margin:0 10px 6px;padding:6px 8px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--rs);font:500 9px/1.3 var(--f-mono);color:var(--accent)}
.ph-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ph-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 10px;border-top:1px solid var(--border-sub);transition:background .4s,transform .45s,opacity .45s}
.ph-list li.new{background:var(--bg-3)}
.ph-list li.off{opacity:0;transform:translateY(-12px)}
.av{width:24px;height:24px;border-radius:50%;background:var(--bg-3);border:1px solid var(--border-hi);display:grid;place-items:center;font:600 9px/1 var(--f-mono);color:var(--text-sec)}
.ph-list .t{min-width:0}
.ph-list .t b{display:block;font-size:11px;font-weight:600;line-height:1.3}
.ph-list .t span{display:block;font-size:10px;color:var(--text-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unr{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:var(--on-accent);font:600 9px/16px var(--f-mono);text-align:center}

/* ── Sicurezza */
.sec-grid{margin-top:48px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.sec-item{padding:24px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:12px;background:var(--bg-2);min-width:0}
.sec-item:last-child{border-right:0}
.sec-item .ic{width:36px;height:36px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--rs);display:grid;place-items:center;color:var(--accent)}
.sec-item h3{font-size:17px;line-height:1.25;letter-spacing:-.01em}
.sec-item p{font-size:14px;color:var(--text-sec);line-height:1.55}
@media (max-width:1040px){.sec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sec-item{border-bottom:1px solid var(--border)}.sec-item:nth-child(2n){border-right:0}.sec-item:last-child{grid-column:1/-1;border-bottom:0}}
@media (max-width:560px){.sec-grid{grid-template-columns:minmax(0,1fr)}.sec-item{border-right:0}}

/* ── Come si parte */
.steps{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:s}
.step{border-top:1px solid var(--border-hi);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.step .n{font:600 12px/1 var(--f-mono);color:var(--accent);letter-spacing:.12em}
.step h3{font-size:19px}
.step p{font-size:14.5px;color:var(--text-sec);line-height:1.55}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:minmax(0,1fr)}}

/* ── Prezzi */
.draft{display:inline-flex;align-self:flex-start}
.price-top{margin-top:48px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;align-items:start}
@media (max-width:960px){.price-top{grid-template-columns:minmax(0,1fr)}}
.box{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);overflow:hidden;min-width:0}
.box-h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg-1)}
.uses{width:100%;border-collapse:collapse;font-size:14.5px}
.uses td{padding:13px 16px;border-bottom:1px solid var(--border-sub);vertical-align:top}
.uses td:last-child{text-align:right;font:600 15px/1.4 var(--f-mono);color:var(--text);white-space:nowrap}
.uses td small{display:block;color:var(--text-mut);font-size:12.5px;margin-top:2px}
.uses tr.soonrow td:first-child::after{content:"in attivazione";margin-left:8px;font:600 9px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--warning);border:1px solid rgba(211,164,74,.45);padding:2px 5px;border-radius:var(--rs);vertical-align:2px}
.free{padding:14px 16px;font-size:13.5px;color:var(--text-sec);line-height:1.55}
.free b{color:var(--text);font-weight:500}
.calc{padding:18px 16px;display:flex;flex-direction:column;gap:18px}
.rng{display:flex;flex-direction:column;gap:8px}
.rng-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rng-top label{font-size:14px;color:var(--text-sec)}
.rng-top output{font:600 15px/1 var(--f-mono);color:var(--text)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--fill,30%),var(--bg-3) var(--fill,30%))}
input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--bg-3)}
input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--bg-1);border:2px solid var(--accent)}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--bg-1);border:2px solid var(--accent)}
.result{margin-top:4px;padding:16px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--r);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:end}
.result .need{font:600 clamp(24px,2.6vw,30px)/1 var(--f-mono);letter-spacing:-.02em}
.result .plan{text-align:right}
.result .plan b{display:block;font:600 22px/1 var(--f-mono)}
.result .meta{grid-column:1/-1;font-size:13px;color:var(--text-sec);line-height:1.5}
.tiers{margin-top:22px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.tier{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);padding:16px 14px;display:flex;flex-direction:column;gap:6px;transition:border-color .3s,background .3s,box-shadow .3s;min-width:0}
.tier .cr{font:600 21px/1.1 var(--f-mono);letter-spacing:-.02em}
.tier .cr small{font:500 11px/1 var(--f-mono);color:var(--text-mut);letter-spacing:.05em;margin-left:4px}
.tier .pr{font:600 17px/1.2 var(--f-display);margin-top:6px}
.tier .pr span{font:400 13px/1 var(--f-body);color:var(--text-mut)}
.tier .pc{font:500 11.5px/1.4 var(--f-mono);color:var(--text-mut)}
.tier.pick{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 2px 0 var(--accent)}
.tier.ent .cr{font-size:17px}
@media (max-width:1040px){.tiers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}
.price-note{margin-top:18px;font-size:14px;color:var(--text-sec);line-height:1.6;max-width:820px}

/* ── Domande */
.faq{margin-top:40px;border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 2px;font:600 18px/1.35 var(--f-display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:22px;height:22px;flex:none;border:1px solid var(--border-hi);border-radius:var(--rs);display:grid;place-items:center;color:var(--text-sec);transition:transform .25s}
.faq details[open] summary .pm{transform:rotate(45deg);color:var(--accent);border-color:var(--accent-line)}
.faq details p{padding:0 2px 22px;color:var(--text-sec);font-size:15.5px;line-height:1.65;max-width:760px}

/* ── Chiusura e piè di pagina */
.final{position:relative;overflow:hidden;border-top:1px solid var(--border-sub)}
.final .hero-grid{-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 100%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 70% 80% at 50% 100%,#000 10%,transparent 70%)}
.final .wrap{position:relative;padding-block:110px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.final h2{font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.035em;max-width:900px}
.final p{color:var(--text-sec);font-size:18px;max-width:600px}
.foot{border-top:1px solid var(--border-sub);background:var(--bg-0)}
.foot .wrap{padding-block:40px;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:28px}
.foot p{color:var(--text-mut);font-size:13px;line-height:1.6;margin-top:12px;max-width:360px}
.foot ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot a{color:var(--text-sec);text-decoration:none;font-size:14px}
.foot a:hover{color:var(--text)}
@media (max-width:700px){.foot .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot .brand{grid-column:1/-1}}

/* ── Schermate di accesso */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:760px}
.auth-side{position:relative;overflow:hidden;background:var(--bg-0);border-right:1px solid var(--border-sub);display:flex;flex-direction:column;padding:28px 40px 40px}
.auth-side .hero-grid{-webkit-mask-image:radial-gradient(ellipse 90% 70% at 30% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 90% 70% at 30% 30%,#000 10%,transparent 75%)}
.auth-side > *{position:relative}
.auth-side .side-body{margin-block:auto;display:flex;flex-direction:column;gap:22px;max-width:460px;padding-block:48px}
.auth-side h2{font-size:clamp(30px,3.2vw,42px);line-height:1.04;letter-spacing:-.03em}
.auth-side p{color:var(--text-sec);font-size:16px;line-height:1.6}
.side-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2)}
.side-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--border-sub);font-size:14.5px;color:var(--text-sec)}
.side-steps li:last-child{border-bottom:0}
.side-steps .k{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-hi);display:grid;place-items:center;font:600 11px/1 var(--f-mono);color:var(--text-mut)}
.side-steps li.cur{color:var(--text);background:var(--bg-3);box-shadow:inset 2px 0 0 var(--accent)}
.side-steps li.cur .k{border-color:var(--accent);color:var(--accent)}
.side-steps li.done .k{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.mini-ticker{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.mini-ticker .ev{grid-template-columns:58px minmax(0,1fr)}
.auth-main{display:flex;flex-direction:column;padding:28px 40px 40px}
.auth-top{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:14px;color:var(--text-sec);min-height:36px}
.auth-top a{color:var(--accent);text-decoration:none;font-weight:500}
.auth-top a:hover{text-decoration:underline}
.form-wrap{width:100%;max-width:420px;margin:auto;display:flex;flex-direction:column;gap:24px;padding-block:48px}
.form-wrap h1{font-size:clamp(28px,3vw,36px);line-height:1.08;letter-spacing:-.03em}
.form-wrap .lead{color:var(--text-sec);font-size:15.5px;margin-top:10px;line-height:1.55}
.form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field label,.field .lbl{font:500 10.5px/1.3 var(--f-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-sec)}
.input{width:100%;height:46px;padding:0 14px;border:1px solid var(--border);border-radius:var(--rs);background:var(--bg-1);color:var(--text);font-size:15px;transition:border-color .15s,box-shadow .15s}
.input::placeholder{color:#5F716C}
.input:hover{border-color:var(--border-hi)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,183,143,.22)}
.input.bad{border-color:var(--danger)}
.input.bad:focus{box-shadow:0 0 0 3px rgba(222,95,98,.22)}
.help{font-size:12.5px;color:var(--text-mut);line-height:1.45}
.err{font-size:12.5px;color:var(--danger);line-height:1.45}
.pw{position:relative}
.pw .input{padding-right:48px}
.pw button{position:absolute;right:4px;top:4px;width:38px;height:38px;border:0;border-radius:var(--rs);background:transparent;color:var(--text-mut);display:grid;place-items:center}
.pw button:hover{color:var(--text);background:var(--bg-3)}
.meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:2px}
.meter i{height:3px;border-radius:1px;background:var(--bg-3);transition:background .25s}
.meter[data-l="1"] i:nth-child(-n+1){background:var(--danger)}
.meter[data-l="2"] i:nth-child(-n+2){background:var(--warning)}
.meter[data-l="3"] i:nth-child(-n+3){background:var(--accent)}
.meter[data-l="4"] i{background:var(--success)}
.check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;color:var(--text-sec);line-height:1.5;cursor:pointer}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.check a{color:var(--text)}
.inv summary{cursor:pointer;font-size:14px;color:var(--text-sec);list-style:none;display:inline-flex;align-items:center;gap:8px}
.inv summary::-webkit-details-marker{display:none}
.inv summary::before{content:"+";font:600 14px/1 var(--f-mono);color:var(--accent)}
.inv[open] summary::before{content:"–"}
.inv .field{margin-top:12px}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.link{background:none;border:0;padding:0;color:var(--accent);font-size:14px;text-decoration:none;font-weight:500}
.link:hover{text-decoration:underline}
.form-alt{font-size:14px;color:var(--text-sec);text-align:center}
.form-alt a{color:var(--accent);text-decoration:none;font-weight:500}
.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--rs);font-size:14px;line-height:1.5;color:var(--text)}
.opening{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2)}
.opening .bar{height:3px}
.opening .bar i{width:0;animation:load 2.4s cubic-bezier(.4,0,.2,1) forwards}
@keyframes load{to{width:100%}}
.legal{font-size:12.5px;color:var(--text-mut);line-height:1.5;text-align:center}
@media (max-width:900px){
  .auth{grid-template-columns:minmax(0,1fr);min-height:0}
  .auth-side{order:2;border-right:0;border-top:1px solid var(--border-sub);padding:32px 16px}
  .auth-side .side-body{padding-block:8px}
  .auth-side .side-brand{display:none}
  .auth-main{padding:20px 16px 32px}
  .auth-top{justify-content:space-between}
  .auth-top .logo{display:inline-flex}
}
@media (min-width:901px){.auth-top .logo{display:none}}

/* conferma email */
.confirm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:48px;align-items:center;max-width:1080px;margin-inline:auto;padding-block:56px 40px}
@media (max-width:900px){.confirm{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px 24px}}
.mailbox{width:76px;height:76px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--r);display:grid;place-items:center;color:var(--accent);position:relative}
.mailbox::after{content:"";position:absolute;inset:-1px;border-radius:var(--r);border:1px solid var(--accent);animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{opacity:.7;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.35)}}
.mailbox .one{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:var(--on-accent);font:600 11px/22px var(--f-mono);text-align:center;animation:popin .5s 1s both}
@keyframes popin{from{transform:scale(0)}to{transform:scale(1)}}
.confirm h1{font-size:clamp(32px,3.6vw,46px);line-height:1.04;letter-spacing:-.03em;margin-top:26px}
.confirm .lead{color:var(--text-sec);font-size:17px;line-height:1.6;margin-top:14px;max-width:520px}
.confirm .lead b{color:var(--text);font-weight:600;overflow-wrap:anywhere}
.cf-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.cf-more{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:14px;color:var(--text-sec);align-items:center}
.next{margin-top:30px}
.mail-prev{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.mail-meta{padding:14px 18px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:13.5px;background:var(--bg-1)}
.mail-meta dt{font:500 10px/1.9 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-mut)}
.mail-meta dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.mail-body{padding:30px 26px 26px;display:flex;flex-direction:column;gap:18px;font-size:15px;line-height:1.6;color:var(--text-sec)}
.mail-body h2{font-size:22px;letter-spacing:-.02em}
.mail-body .btn{align-self:flex-start}
.mail-body .code{font:500 12px/1.5 var(--f-mono);color:var(--text-mut);overflow-wrap:anywhere}
.mail-foot{padding:14px 26px;border-top:1px solid var(--border-sub);font-size:12px;color:var(--text-mut);line-height:1.5}

/* ── Selettore delle schermate del mockup */
.switcher{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:4px;padding:5px;max-width:calc(100% - 24px);overflow-x:auto;border:1px solid var(--border-hi);border-radius:var(--r);background:rgba(16,24,23,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:none}
.switcher::-webkit-scrollbar{display:none}
.switcher .tag-m{font:600 9.5px/1 var(--f-mono);letter-spacing:.16em;color:var(--warning);padding:0 8px 0 6px;white-space:nowrap}
.switcher a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--rs);font-size:13px;color:var(--text-sec);text-decoration:none;white-space:nowrap}
.switcher a:hover{color:var(--text);background:var(--bg-3)}
.switcher a[aria-current="page"]{color:var(--on-accent);background:var(--accent);font-weight:600}
@media (max-width:520px){.switcher .tag-m{display:none}.switcher a{padding:0 9px;font-size:12.5px}}

/* ── Hero 2: pilastri e numeri del ritorno */
.pillars{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:760px}
.pillars li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;font-size:clamp(16.5px,1.5vw,18.5px);line-height:1.5;color:var(--text-sec)}
.pillars li::before{content:"";width:8px;height:8px;margin-top:9px;background:var(--accent);border-radius:1px}
.pillars b{color:var(--text);font-weight:600}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;border:1px solid var(--border);border-radius:var(--r);background:rgba(16,24,23,.72);max-width:880px}
.hero-stats > div{padding:16px 18px;border-right:1px solid var(--border-sub);display:flex;flex-direction:column;gap:7px;min-width:0}
.hero-stats > div:last-child{border-right:0}
.hero-stats b{font:600 clamp(26px,3vw,36px)/1 var(--f-mono);letter-spacing:-.03em;color:var(--accent)}
.hero-stats span{font-size:13.5px;color:var(--text-sec);line-height:1.4}
@media (max-width:640px){.hero-stats{grid-template-columns:minmax(0,1fr)}.hero-stats > div{border-right:0;border-bottom:1px solid var(--border-sub)}.hero-stats > div:last-child{border-bottom:0}}
.hero h1{font-size:clamp(38px,5.8vw,72px)}

/* ── Commerciali AI in primo piano */
.ai-spot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
@media (max-width:920px){.ai-spot{grid-template-columns:minmax(0,1fr);gap:32px}}
.spot-h{font-size:clamp(31px,3.9vw,50px);line-height:1.04;letter-spacing:-.03em}
.ai-spot .viz-b{min-height:400px;display:flex}
.ai-spot .aichat{width:100%}
.ai-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}
@media (max-width:480px){.ai-modes{grid-template-columns:minmax(0,1fr)}}
.ai-mode{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);padding:14px;display:flex;flex-direction:column;gap:6px}
.ai-mode b{font:600 15px/1.2 var(--f-display)}
.ai-mode span{font-size:13.5px;color:var(--text-sec);line-height:1.5}

/* ── Chi lo usa: nomi oscurati */
.redacted{margin-top:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.redacted div{height:68px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.redacted i{display:block;height:14px;width:var(--w,60%);background:#22312E;border-radius:2px}
.redacted div::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(79,183,143,.09) 50%,transparent 70%);transform:translateX(-100%);animation:sweep 3.4s ease-in-out infinite}
.redacted div:nth-child(2n)::after{animation-delay:.5s}
.redacted div:nth-child(3n)::after{animation-delay:1s}
@keyframes sweep{to{transform:translateX(100%)}}
@media (max-width:700px){.redacted{grid-template-columns:repeat(2,minmax(0,1fr))}}
.proof-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.proof-cta span{font:500 12.5px/1.4 var(--f-mono);color:var(--text-mut)}

/* ── App Affiliategram */
.app-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);padding:40px;overflow:hidden}
.app-card .feat-list{margin-top:18px}
.app-viz{height:330px;display:flex;align-items:center;justify-content:center}
.app-viz .phone{width:236px;max-height:320px}
@media (max-width:900px){.app-card{grid-template-columns:minmax(0,1fr);padding:24px 18px;gap:28px}.app-viz{height:300px}}

/* ── Prezzi: voce ancora da definire */
.uses td.tbd{font:500 11px/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warning)}

/* ── Titoli grandi (02/10): ogni sezione ha un titolo che si vede, anche sul telefono */
.grad{color:var(--accent)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .grad{background:linear-gradient(100deg,#3D9E79 0%,#5CC89D 45%,#A9EECF 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shine 7s ease-in-out infinite alternate}
}
@keyframes shine{from{background-position:0% 0}to{background-position:100% 0}}
.hero h1 .hl.grad::after{background:linear-gradient(90deg,#3D9E79,#A9EECF)}
.sec-title{font-family:var(--f-display);font-weight:700;font-size:clamp(44px,6.4vw,92px);line-height:.95;letter-spacing:-.045em;text-wrap:balance}
.feat-title{font-family:var(--f-display);font-weight:700;font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.045em}
.sec-head{gap:12px}
.statement{font-family:var(--f-display);font-weight:600;font-size:clamp(30px,4.2vw,58px);line-height:1.05;letter-spacing:-.035em;max-width:1000px;text-wrap:balance}
.statement.big{font-size:clamp(38px,6vw,86px);line-height:.98;letter-spacing:-.045em}
#funzioni .statement{margin-bottom:12px}
.feat-list{gap:10px}
.feat-list li{font-size:16px}
.hero-stats span{font-size:13px}
.pillars li{font-size:clamp(17px,1.6vw,19.5px)}

/* ── Il bivio: chi ha Telegram entra, chi non ce l'ha va su WhatsApp o lascia il contatto */
.fork{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.branch{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-1);transition:border-color .35s,background .35s,box-shadow .35s,opacity .35s;opacity:.55}
.branch b{font:600 15px/1.25 var(--f-display)}
.branch .mono{color:var(--text-mut)}
.branch.on{opacity:1;border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 2px 0 var(--accent)}
#acq-wa.on{border-color:#3FB950;box-shadow:inset 0 2px 0 #3FB950}
.acq-done{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;color:var(--text-sec);transition:opacity .35s}
.acq-done.off{opacity:.15}

/* ── «Già lo usano»: fondo nero, tre carte coperte a ventaglio */
.section.dark{position:relative;overflow:hidden;background:#040706;border-block:1px solid var(--border-sub)}
.who-wrap{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.who-sub{font-family:var(--f-display);font-weight:500;font-size:clamp(20px,2.2vw,28px);color:var(--text-sec)}
.suspects{position:relative;width:100%;max-width:560px;height:330px;margin-block:18px 8px}
.suspect{position:absolute;left:50%;bottom:0;width:200px;height:270px;margin-left:-100px;border:1px solid var(--border-hi);border-radius:12px;background:linear-gradient(180deg,#17231F 0%,#0C1312 100%);transform-origin:50% 115%;overflow:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.suspect.l{transform:rotate(-14deg) translateX(-34px)}
.suspect.r{transform:rotate(14deg) translateX(34px)}
.suspect.c{z-index:2;transform:translateY(-16px);border-color:var(--accent-line)}
.suspects:hover .suspect.l{transform:rotate(-20deg) translateX(-56px)}
.suspects:hover .suspect.r{transform:rotate(20deg) translateX(56px)}
.suspect .face{position:absolute;left:50%;bottom:0;width:150px;margin-left:-75px;fill:#273733}
.suspect .qm{position:absolute;left:0;right:0;top:64px;font:700 112px/1 var(--f-display);text-align:center}
.suspect .flag{position:absolute;top:12px;right:12px;width:32px;height:22px;padding:3px;border:1px solid var(--border-hi);border-radius:4px;background:var(--bg-1);display:block}
.suspect .flag svg{display:block;width:100%;height:100%;border-radius:1px}
/* la carta di sinistra sta sotto quella centrale: la sua bandiera va a sinistra, o resta coperta */
.suspect.l .flag{right:auto;left:12px}
@media (max-width:520px){.suspects{height:280px}.suspect{width:160px;height:220px;margin-left:-80px}.suspect .face{width:120px;margin-left:-60px}.suspect .qm{font-size:88px;top:52px}}

/* ── Chiusura più asciutta */
.final .wrap{gap:26px}
.final h2{font-size:clamp(38px,5.6vw,76px);line-height:.98;letter-spacing:-.045em}

/* ── Quarto giro (02/10): sublines grandi, sottolineature curve, sfondi vivi */
.feat-copy .feat-lead,.sec-head .feat-lead,.app-copy .feat-lead{font-family:var(--f-display);font-weight:600;font-size:clamp(25px,2.7vw,38px);line-height:1.12;letter-spacing:-.025em;color:var(--text);margin-top:4px;text-wrap:balance;max-width:720px}
.feat-copy .feat-p,.sec-head .feat-p,.app-copy .feat-p{font-size:16px;line-height:1.55;color:var(--text-sec);max-width:520px}
.app-card .sec-title{margin-top:14px}
.app-card .badge{white-space:normal;height:auto;min-height:22px;padding:4px 8px;line-height:1.3}

/* La firma delle sezioni: una sottolineatura curva, sempre verde sfumato. Sotto il
   titolo bianco se è una parola sola, sotto la parola sfumata se sono più parole. */
.uline{position:relative;display:inline-block}
.uline::after{content:"";position:absolute;left:-3%;right:-3%;bottom:-.16em;height:.2em;background:linear-gradient(90deg,#3D9E79,#5CC89D 50%,#A9EECF);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath d='M4 17 C 48 6, 132 4, 196 11' fill='none' stroke='black' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath d='M4 17 C 48 6, 132 4, 196 11' fill='none' stroke='black' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;clip-path:inset(0 0 0 0);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1)}
.uline.pre::after{clip-path:inset(0 100% 0 0)}

/* Sfondi: bagliori lenti, griglia che ritorna, puntini dietro i commerciali AI */
.section,.hero,.final{position:relative;overflow:hidden}
.section > .wrap,.hero > .wrap,.final > .wrap,.band > .wrap{position:relative;z-index:1}
.glow{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}
.glow.g1{width:640px;height:640px;left:-220px;top:-200px;background:radial-gradient(circle,rgba(79,183,143,.20),transparent 62%);animation:drift1 19s ease-in-out infinite alternate}
.glow.g2{width:560px;height:560px;right:-200px;top:240px;background:radial-gradient(circle,rgba(95,168,211,.14),transparent 62%);animation:drift2 23s ease-in-out infinite alternate}
.glow.g3{width:600px;height:600px;right:-240px;top:-160px;background:radial-gradient(circle,rgba(79,183,143,.16),transparent 62%);animation:drift2 21s ease-in-out infinite alternate}
.glow.g4{width:620px;height:620px;left:-260px;bottom:-260px;background:radial-gradient(circle,rgba(79,183,143,.15),transparent 62%);animation:drift1 24s ease-in-out infinite alternate}
.glow.g5{width:700px;height:700px;left:50%;top:-320px;margin-left:-350px;background:radial-gradient(circle,rgba(169,238,207,.10),transparent 60%);animation:drift2 26s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(90px,70px) scale(1.12)}}
@keyframes drift2{to{transform:translate(-80px,-50px) scale(1.15)}}
.dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(92,200,157,.22) 1px,transparent 1.7px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 55% 70% at 78% 52%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse 55% 70% at 78% 52%,#000 10%,transparent 72%)}
@media (max-width:920px){.dots{-webkit-mask-image:radial-gradient(ellipse 90% 40% at 50% 78%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse 90% 40% at 50% 78%,#000 10%,transparent 72%)}}
.sec-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(36,50,47,.55) 1px,transparent 1px),linear-gradient(to bottom,rgba(36,50,47,.55) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 12% 18%,#000 8%,transparent 70%);mask-image:radial-gradient(ellipse 60% 55% at 12% 18%,#000 8%,transparent 70%)}
.sec-grid-bg.right{-webkit-mask-image:radial-gradient(ellipse 55% 30% at 92% 8%,#000 8%,transparent 70%);mask-image:radial-gradient(ellipse 55% 30% at 92% 8%,#000 8%,transparent 70%)}

/* La frase «Tutto questo c'è già»: una fascia con griglia e due raggi di luce */
.band{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 120% at 50% 50%,#0F1A17 0%,#070B0A 70%)}
.band .wrap{padding-block:84px;text-align:center}
.band-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(36,50,47,.6) 1px,transparent 1px),linear-gradient(to bottom,rgba(36,50,47,.6) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 50%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 60% 80% at 50% 50%,#000 10%,transparent 75%)}
.beam{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,transparent 35%,#5CC89D 50%,transparent 65%,transparent 100%) var(--border-sub);background-size:220% 100%;animation:beam 7s linear infinite}
.beam.top{top:0}.beam.bottom{bottom:0;animation-direction:reverse}
@keyframes beam{from{background-position:110% 0}to{background-position:-110% 0}}
.band-text{font-family:var(--f-display);font-weight:600;font-size:clamp(28px,4.4vw,60px);line-height:1.06;letter-spacing:-.035em;max-width:1000px;margin-inline:auto;text-wrap:balance}
@media (max-width:640px){.band .wrap{padding-block:56px}.band-text{font-size:30px}}

/* Numeri del titolo: la didascalia si legge */
.hero-stats > div{padding:18px 18px 16px}
.hero-stats b{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.hero-stats b small{font:600 .5em/1.1 var(--f-display);letter-spacing:-.01em;color:var(--accent)}
.hero-stats span{font-size:15px;color:var(--text-sec);line-height:1.4}

/* «Già lo usano»: le carte salgono, il pulsante respira */
.suspects{margin-block:0 46px}
@media (max-width:520px){.suspects{margin-block:0 40px}}

/* Tabella dei lead: un badge lungo non invade la colonna dopo */
.lrow .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* Sicurezza: lucchetto che si chiude e carte che si aprono scorrendo */
.sec-lock{display:flex;align-items:center;gap:.22em;flex-wrap:wrap}
.lock{display:inline-grid;place-items:center;width:.82em;height:.82em;border-radius:.2em;color:#A9EECF;background:radial-gradient(circle at 30% 25%,rgba(92,200,157,.4),rgba(15,42,34,.95));border:1px solid var(--accent-line)}
.lock svg{width:.52em;height:.52em}
.lock .shackle{transform:translateY(-3px);transition:transform .9s cubic-bezier(.2,.8,.2,1) .2s}
.lock.closed .shackle{transform:none}
.vault{margin-top:44px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;perspective:1000px}
.vcard{position:relative;display:flex;flex-direction:column;gap:16px;padding:22px 18px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#131E1B 0%,#0B1211 100%);transform-origin:50% 0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s;overflow:hidden}
.vcard::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#5CC89D,transparent)}
.vcard.pre{transform:rotateX(-80deg);opacity:0}
.vic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#A9EECF;background:radial-gradient(circle at 30% 25%,rgba(92,200,157,.38),rgba(15,42,34,.95));border:1px solid var(--accent-line);flex:none}
.vcard h3{font-size:17px;line-height:1.25}
.vcard p{font-size:14.5px;color:var(--text-sec);line-height:1.45;margin-top:4px}
@media (max-width:1040px){.vault{grid-template-columns:repeat(2,minmax(0,1fr))}.vcard:last-child{grid-column:1/-1}}
@media (max-width:600px){.vault{grid-template-columns:minmax(0,1fr)}.vcard{flex-direction:row;align-items:center;gap:14px;padding:16px}.vcard:last-child{grid-column:auto}}

/* Piani cliccabili: muovono i cursori del calcolatore */
button.tier{font:inherit;color:inherit;text-align:left;cursor:pointer}
button.tier:hover{border-color:var(--border-hi);background:var(--bg-3)}
button.tier:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tier .cr,.tier .pr,.tier .pc{display:block}

/* ── Quinto giro (02/10) */
.hero h1 .h1-sub{font-size:.7em;letter-spacing:-.03em;margin-top:.14em}
.hero-stats b{display:block;font:600 clamp(24px,2.5vw,32px)/1.12 var(--f-display);letter-spacing:-.025em;color:var(--accent)}
.hero-stats b .n{font-family:var(--f-mono);letter-spacing:-.04em}

/* Sicurezza: casse blindate, squadrate come il CRM (niente angoli tondi) */
.vcard{border-radius:2px;border:1px solid var(--border-hi);background:linear-gradient(180deg,#121B19 0%,#0B1211 100%);box-shadow:inset 0 0 0 4px #0A100F,inset 0 0 0 5px rgba(79,183,143,.16);padding:28px 20px 20px}
.vcard::before{height:7px;background:repeating-linear-gradient(135deg,rgba(79,183,143,.38) 0 6px,transparent 6px 12px);border-bottom:1px solid var(--border-hi)}
.vcard::after{content:"";position:absolute;inset:14px 9px 9px;pointer-events:none;background:radial-gradient(circle,#53695F 0 1.6px,transparent 2.2px) left top/7px 7px no-repeat,radial-gradient(circle,#53695F 0 1.6px,transparent 2.2px) right top/7px 7px no-repeat,radial-gradient(circle,#53695F 0 1.6px,transparent 2.2px) left bottom/7px 7px no-repeat,radial-gradient(circle,#53695F 0 1.6px,transparent 2.2px) right bottom/7px 7px no-repeat}
.vic{border-radius:2px;background:linear-gradient(180deg,#17251F,#0D1613);box-shadow:inset 0 0 0 3px #0B1210}
@media (max-width:600px){.vcard{padding:24px 16px 16px}}

/* Pronto all'uso: titolo bianco, «Plug and play» più piccolo e sfumato; passi dall'alto in basso */
.title-sub{font-size:.75em;margin-top:.12em}
.ready{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
@media (max-width:900px){.ready{grid-template-columns:minmax(0,1fr);gap:36px}}
.vsteps{display:flex;flex-direction:column;align-items:stretch}
.vstep{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--border-hi);border-radius:2px;background:linear-gradient(180deg,#121B19,#0C1312);box-shadow:inset 2px 0 0 var(--accent)}
.vstep .n{font:600 22px/1 var(--f-mono);color:var(--accent);letter-spacing:.02em}
.vstep h3{font-size:clamp(18px,1.8vw,22px);line-height:1.2}
.vstep p{font-size:15px;color:var(--text-sec);margin-top:4px}
.varrow{display:flex;justify-content:center;color:var(--accent);padding-block:4px}
.varrow .flowline{stroke-dasharray:3 5;animation:flowdown 1.1s linear infinite}
@keyframes flowdown{to{stroke-dashoffset:-16}}

/* Numeri del titolo: il numero è grande quanto l'etichetta (la regola delle didascalie
   «.hero-stats span» prendeva anche lui e lo portava a 15px grigi) */
.hero-stats b .n{font-size:1em;color:inherit;line-height:inherit}
/* Sottolineatura riga per riga, per i titoli che vanno a capo */
.uline-bg{display:inline;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%233D9E79'/%3E%3Cstop offset='.5' stop-color='%235CC89D'/%3E%3Cstop offset='1' stop-color='%23A9EECF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M4 16 C 48 6, 132 4, 196 11' fill='none' stroke='url(%23g)' stroke-width='8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 100%;background-size:100% .34em;padding-bottom:.2em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.1s cubic-bezier(.2,.8,.2,1)}
.uline-bg.pre{background-size:0% .34em}
.hero h1 .h1-sub{display:inline;line-height:1.35}

/* ── Sesto giro (02/10) */
/* I bagliori in cima: niente più «palla» chiara. Più larghi, centro molto più tenue,
   e quello di destra col centro fuori dallo schermo. */
.glow.g1{width:980px;height:980px;left:-600px;top:-520px;background:radial-gradient(circle,rgba(79,183,143,.11) 0%,rgba(79,183,143,.05) 30%,rgba(79,183,143,0) 70%)}
.glow.g2{width:1100px;height:1100px;right:-720px;top:-120px;margin:0;background:radial-gradient(circle,rgba(79,183,143,.07) 0%,rgba(79,183,143,.03) 34%,rgba(79,183,143,0) 70%)}
.glow.g3{background:radial-gradient(circle,rgba(79,183,143,.09) 0%,rgba(79,183,143,.04) 32%,rgba(79,183,143,0) 70%)}
.glow.g4{background:radial-gradient(circle,rgba(79,183,143,.09) 0%,rgba(79,183,143,.04) 32%,rgba(79,183,143,0) 70%)}
.glow.g5{background:radial-gradient(circle,rgba(169,238,207,.06) 0%,rgba(169,238,207,.03) 32%,rgba(169,238,207,0) 70%)}
@keyframes drift1{to{transform:translate(60px,40px) scale(1.06)}}
@keyframes drift2{to{transform:translate(-50px,-30px) scale(1.06)}}

/* iPhone 18 Pro: telaio in titanio, Dynamic Island, tasti laterali, l'app dentro */
.app-viz{height:auto;padding-block:8px}
.iphone{position:relative;width:292px;aspect-ratio:9/19.4;margin-inline:auto;border-radius:56px;background:linear-gradient(150deg,#6a7178 0%,#30353b 14%,#1a1d21 48%,#33393f 84%,#6b7279 100%);box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px #08090b,inset 0 0 0 1px rgba(255,255,255,.08)}
.iphone::before{content:"";position:absolute;inset:4px;border-radius:52px;background:#030405}
.ib{position:absolute;width:4px;border-radius:2px;background:linear-gradient(90deg,#24282c,#7a8087,#24282c);z-index:2}
.ib-action{left:-3px;top:16%;height:5%}.ib-vol1{left:-3px;top:24%;height:9%}.ib-vol2{left:-3px;top:35%;height:9%}
.ib-power{right:-3px;top:26%;height:14%}.ib-cam{right:-3px;top:57%;height:8%}
.iscreen{position:absolute;inset:12px;border-radius:44px;overflow:hidden;background:#0A0F0E;display:flex;flex-direction:column}
.island{position:absolute;top:11px;left:50%;width:32%;height:25px;transform:translateX(-50%);border-radius:14px;background:#000;z-index:3}
.istatus{display:flex;justify-content:space-between;align-items:center;height:46px;padding:12px 22px 0 30px;color:#fff;flex:none}
.itime{font:600 14px/1 -apple-system,BlinkMacSystemFont,'SF Pro Text',var(--f-body)}
.iicons{display:flex;gap:5px;align-items:center}
.iapp{flex:1;display:flex;flex-direction:column;min-height:0}
.ihead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 14px 8px;font-size:13px;color:var(--accent)}
.ihead b{font:600 16px/1 var(--f-body);color:#fff}
.icompose{justify-self:end;display:grid}
.isearch{margin:0 12px 8px;height:30px;border-radius:9px;background:#18211F;color:#7F8F8B;font-size:13px;display:flex;align-items:center;gap:6px;padding:0 10px;flex:none}
.ifolders{display:flex;gap:14px;padding:0 14px;font-size:12px;color:#7F8F8B;border-bottom:1px solid #18221F;white-space:nowrap;overflow:hidden;flex:none}
.ifolders span{padding-bottom:7px}
.ifolders .on{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.ifolders i{font-style:normal;font-size:10px;background:#263632;color:#C9D6D2;border-radius:8px;padding:0 5px;margin-left:4px}
.ilock{display:flex;align-items:center;gap:6px;margin:8px 12px 2px;padding:6px 8px;border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:8px;font:500 10px/1.3 var(--f-mono);color:var(--accent);flex:none}
.iphone .ilist{flex:1;overflow:hidden}
.iphone .ph-list li{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding:8px 12px;border-top:0;border-bottom:1px solid #131C1A}
.iphone .av{width:42px;height:42px;font:600 13px/1 var(--f-body);color:#fff;border:0}
.av.a1{background:linear-gradient(160deg,#FFB86B,#F0703C)}.av.a2{background:linear-gradient(160deg,#B79CFF,#7C5CE6)}.av.a3{background:linear-gradient(160deg,#7CC4FF,#3D8BEA)}
.av.a4{background:linear-gradient(160deg,#7FE0B0,#2FA374)}.av.a5{background:linear-gradient(160deg,#FF9A9A,#E0525E)}.av.a6{background:linear-gradient(160deg,#7FE3E0,#2A9EA8)}
.iphone .t b{font-size:13.5px;color:#fff}
.iphone .t span{font-size:12px;color:#8A9A96}
.iphone .r{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.iphone .tm{font-size:10.5px;color:#7F8F8B}
.iphone .unr{min-width:19px;height:19px;border-radius:10px;font:600 11px/19px var(--f-body);padding:0 5px}
.iphone .unr.ghost{visibility:hidden}
.itabs{display:grid;grid-template-columns:repeat(4,1fr);padding:7px 4px 24px;border-top:1px solid #18221F;background:#0C1211;flex:none}
.itabs span{display:flex;flex-direction:column;align-items:center;gap:2px;color:#6F7F7B}
.itabs span.on{color:var(--accent)}
.itabs em{font-style:normal;font-size:9.5px}
.ihome{position:absolute;bottom:8px;left:50%;width:36%;height:5px;transform:translateX(-50%);border-radius:3px;background:#E9F2EF;z-index:3}
@media (max-width:520px){.iphone{width:256px;border-radius:50px}.iphone::before{border-radius:46px}.iscreen{border-radius:39px;inset:11px}}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .path-runner{display:none}
}

/* Sito vero: nessun selettore del mockup in basso */
.app{padding-bottom:0}
