/* ============================================================
   PAGINA DI PRESENTAZIONE (13/09/2026) — #landingOverlay in index.html,
   logica in src/modules/landing.js.

   Uno strato a tutto schermo SOPRA la schermata di login (che resta
   accesa sotto): scorre dentro se stesso, perche' il body e' bloccato da
   `body:has(.auth-overlay.on){overflow:hidden}` di styles.css.
   Look scuro deciso, lo stesso navy del login e i colori del logo;
   non segue il tema chiaro/scuro perche' fuori sessione non esiste.
   Prefisso lx- su tutto: nessuna regola di styles.css viene toccata.
   ============================================================ */
.lx{
  --lx-bg:#0a111c;--lx-bg-2:#0e1828;--lx-card:#121e30;--lx-card-2:#18263b;
  --lx-line:rgba(190,210,235,.12);--lx-line-2:rgba(190,210,235,.2);
  --lx-ink:#eef2f8;--lx-soft:#b1bcd0;--lx-faint:#8593a8;
  --lx-blue:#2cc9b2;--lx-blue-2:#0fa38f;--lx-green:#7fe3d3;--lx-lime:#2cc9b2;
  --lx-red:#f07167;--lx-amber:#e8b84a;--lx-violet:#9b8cf2;
  position:fixed;inset:0;z-index:calc(var(--z-auth,300) + 2);display:none;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  background:var(--lx-bg);color:var(--lx-ink);
  font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.lx.on{display:block;}
.lx *,.lx *::before,.lx *::after{box-sizing:border-box;}
.lx a{color:inherit;}
.lx h1,.lx h2,.lx h3{margin:0;text-wrap:balance;}
.lx p{margin:0;}
.lx-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.lx-muted{color:var(--lx-faint);}

/* ---------- barra in alto ---------- */
.lx-top{position:sticky;top:0;z-index:5;transition:background .25s,border-color .25s,backdrop-filter .25s;
  border-bottom:1px solid transparent;}
.lx.lx-scrolled .lx-top{background:rgba(10,17,28,.82);border-bottom-color:var(--lx-line);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.lx-top-row{display:flex;align-items:center;gap:28px;height:68px;}
.lx-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:.01em;color:var(--lx-ink);}
/* 14/09: icona ritagliata (viewBox 32 32 88 80), alta quanto parola + claim */
.lx-brand-icon{width:38px;height:35px;flex-shrink:0;color:#e9f3f1;--px-acc:#2cc9b2;}
.lx-brand-word{display:block;height:18px;width:auto;color:var(--lx-ink);}
/* 13/09: claim sempre sotto la parola, allineato a destra */
.lx-brand-stack{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.lx-brand-claim{display:block;height:12px;width:auto;color:var(--lx-ink);opacity:.8;--px-acc:#2cc9b2;}
.lx-nav{display:flex;gap:26px;margin-right:auto;}
.lx-nav a{text-decoration:none;color:var(--lx-soft);font-size:14.5px;transition:color .15s;}
.lx-nav a:hover{color:var(--lx-ink);}
.lx-top-cta{display:flex;align-items:center;gap:10px;margin-left:auto;}
.lx-burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--lx-line-2);background:transparent;
  cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;}
.lx-burger span{display:block;width:16px;height:2px;border-radius:2px;background:var(--lx-ink);transition:transform .2s,opacity .2s;}
.lx-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.lx-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.lx-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ---------- bottoni ---------- */
.lx-btn{font:inherit;font-size:14.5px;font-weight:600;border-radius:10px;padding:9px 16px;cursor:pointer;
  border:1px solid transparent;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;white-space:nowrap;}
.lx-btn:focus-visible,.lx-tabs [role="tab"]:focus-visible,.lx-burger:focus-visible,.lx-nav a:focus-visible,.lx-range input:focus-visible{
  outline:2px solid var(--lx-blue);outline-offset:2px;}
/* 14/09: pulsante principale nei colori del marchio, acqua con testo petrolio */
.lx-btn-primary{color:#0b2a2e;background:#2cc9b2;
  box-shadow:0 6px 22px -8px rgba(44,201,178,.6);}
.lx-btn-primary:hover{background:#4fd6c2;transform:translateY(-1px);box-shadow:0 10px 28px -8px rgba(44,201,178,.75);}
.lx-btn-ghost{color:var(--lx-ink);background:rgba(255,255,255,.03);border-color:var(--lx-line-2);}
.lx-btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(190,210,235,.35);}
.lx-btn-lg{font-size:16px;padding:13px 22px;border-radius:12px;}

/* ---------- hero ---------- */
.lx-hero{position:relative;padding:64px 0 96px;overflow:hidden;}
.lx-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.55;}
/* 14/09: aloni nei colori del marchio — acqua #2cc9b2, acqua scuro #0fa38f, petrolio chiaro #15434a */
.lx-glow-a{width:560px;height:560px;left:-160px;top:-220px;background:radial-gradient(circle,rgba(44,201,178,.38),transparent 70%);animation:lx-float 16s ease-in-out infinite;}
.lx-glow-b{width:520px;height:520px;right:-140px;top:120px;background:radial-gradient(circle,rgba(15,163,143,.42),transparent 70%);animation:lx-float 19s ease-in-out infinite reverse;}
.lx-glow-c{width:700px;height:420px;left:50%;top:10%;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(21,67,74,.6),transparent 70%);}
@keyframes lx-float{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,30px)}}
.lx-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:56px;align-items:center;}
.lx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--lx-soft);
  padding:6px 13px;border:1px solid var(--lx-line-2);border-radius:999px;background:rgba(255,255,255,.03);margin-bottom:22px;}
.lx-dot{width:7px;height:7px;border-radius:50%;background:#2cc9b2;box-shadow:0 0 0 0 rgba(44,201,178,.6);animation:lx-pulse 2.4s infinite;}
@keyframes lx-pulse{0%{box-shadow:0 0 0 0 rgba(44,201,178,.55)}70%{box-shadow:0 0 0 9px rgba(44,201,178,0)}100%{box-shadow:0 0 0 0 rgba(44,201,178,0)}}
.lx-h1{font-size:clamp(40px,6.2vw,72px);line-height:1.02;font-weight:700;letter-spacing:-.025em;}
.lx-grad{background:linear-gradient(100deg,#2cc9b2 0%,#7fe3d3 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.lx-lead{font-size:clamp(17px,1.6vw,19px);color:var(--lx-soft);margin-top:22px;max-width:36em;}
.lx-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.lx-center{justify-content:center;}
.lx-hero-points{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:9px;}
.lx-hero-points li{position:relative;padding-left:26px;font-size:14.5px;color:var(--lx-soft);}
.lx-hero-points li::before{content:"";position:absolute;left:0;top:5px;width:15px;height:15px;border-radius:50%;
  background:rgba(44,201,178,.18) no-repeat center/9px 9px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2l2.2 2.2L8.5 2.6' fill='none' stroke='%232cc9b2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}

.lx-hero-visual{position:relative;padding:26px 10px 30px;}
.lx-card{background:linear-gradient(180deg,var(--lx-card-2) 0%,var(--lx-card) 100%);border:1px solid var(--lx-line);border-radius:16px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.04);}
.lx-dash{padding:20px 20px 16px;transform:perspective(1400px) rotateY(-7deg) rotateX(3deg);transition:transform .6s ease;}
.lx-hero-visual:hover .lx-dash{transform:perspective(1400px) rotateY(-2deg) rotateX(1deg);}
.lx-dash-head,.lx-mock-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--lx-soft);font-weight:500;}
.lx-pill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;}
.lx-pill-ok{color:#8ee0b0;background:rgba(63,174,116,.16);}
.lx-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 8px;}
.lx-kpis div{background:rgba(255,255,255,.03);border:1px solid var(--lx-line);border-radius:10px;padding:10px 12px;min-width:0;}
.lx-kpis small{display:block;font-size:11.5px;color:var(--lx-faint);}
.lx-kpis strong{display:block;font-size:clamp(14px,1.45vw,18px);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lx-chart{width:100%;height:auto;display:block;margin-top:6px;overflow:visible;}
.lx-grid{stroke:rgba(190,210,235,.08);stroke-width:1;}
.lx-axis{stroke:rgba(190,210,235,.25);stroke-width:1;}
.lx-bars rect{fill:url(#pxBarGradL);transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);}
.lx-band{fill:rgba(44,201,178,.1);opacity:0;}
.lx-line{fill:none;stroke:var(--lx-lime);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;}
.lx-line-end{fill:var(--lx-lime);opacity:0;}
.lx-months text{fill:var(--lx-faint);font-size:11px;text-anchor:middle;font-family:inherit;}
.lx.lx-play .lx-bars rect{animation:lx-grow .7s cubic-bezier(.2,.8,.2,1) forwards;}
.lx.lx-play .lx-bars rect:nth-child(2){animation-delay:.07s}
.lx.lx-play .lx-bars rect:nth-child(3){animation-delay:.14s}
.lx.lx-play .lx-bars rect:nth-child(4){animation-delay:.21s}
.lx.lx-play .lx-bars rect:nth-child(5){animation-delay:.28s}
.lx.lx-play .lx-bars rect:nth-child(6){animation-delay:.35s}
.lx.lx-play .lx-bars rect:nth-child(7){animation-delay:.42s}
.lx.lx-play .lx-line{animation:lx-draw 1.1s .6s ease-out forwards;}
.lx.lx-play .lx-band{animation:lx-fade .8s 1.2s forwards;}
.lx.lx-play .lx-line-end{animation:lx-fade .3s 1.65s forwards, lx-pop 2.4s 2s ease-in-out infinite;}
@keyframes lx-grow{to{transform:scaleY(1)}}
@keyframes lx-draw{to{stroke-dashoffset:0}}
@keyframes lx-fade{to{opacity:1}}
@keyframes lx-pop{0%,100%{r:5}50%{r:7}}
.lx-legend{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--lx-soft);margin-top:4px;flex-wrap:wrap;}
.lx-legend span{display:inline-flex;align-items:center;gap:6px;}
.lx-legend-note{margin-left:auto;color:var(--lx-faint);font-style:italic;}
.lx-sw{display:inline-block;width:12px;height:12px;border-radius:3px;}
.lx-sw-bar{background:linear-gradient(0deg,#1c9ad6,#3fae74);}
.lx-sw-line{height:3px;border-radius:2px;background:var(--lx-lime);}

.lx-chip{position:absolute;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;white-space:nowrap;
  padding:9px 13px;border-radius:12px;background:rgba(18,30,48,.92);border:1px solid var(--lx-line-2);
  box-shadow:0 16px 34px -14px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(10px);}
.lx-chip b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;}
.lx-ok{color:#8ee0b0;background:rgba(63,174,116,.2);}
.lx-warn{color:#f5cf77;background:rgba(232,184,74,.2);}
.lx-info{color:#9bdcf7;background:rgba(44,201,178,.18);}
.lx-chip-1{left:-18px;top:2px;}
.lx-chip-2{right:-16px;top:44%;}
.lx-chip-3{left:18px;bottom:0;}
.lx.lx-play .lx-chip{animation:lx-chip-in .6s cubic-bezier(.2,.8,.2,1) forwards, lx-bob 6s ease-in-out infinite;}
.lx.lx-play .lx-chip-1{animation-delay:1s, 1.6s;}
.lx.lx-play .lx-chip-2{animation-delay:1.5s, 2.1s;}
.lx.lx-play .lx-chip-3{animation-delay:2s, 2.6s;}
@keyframes lx-chip-in{to{opacity:1;transform:translateY(0)}}
@keyframes lx-bob{0%,100%{translate:0 0}50%{translate:0 -6px}}

.lx-scroll-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:26px;height:42px;border-radius:14px;
  border:1.5px solid var(--lx-line-2);background:transparent;cursor:pointer;padding:0;}
.lx-scroll-hint span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--lx-soft);animation:lx-wheel 1.8s infinite;}
@keyframes lx-wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* ---------- striscia dei numeri ---------- */
.lx-strip{border-top:1px solid var(--lx-line);border-bottom:1px solid var(--lx-line);background:var(--lx-bg-2);}
.lx-strip-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.lx-strip-row div{padding:28px 20px;text-align:center;border-left:1px solid var(--lx-line);}
.lx-strip-row div:first-child{border-left:0;}
.lx-strip-row strong{display:block;font-size:clamp(30px,3.6vw,42px);font-weight:700;letter-spacing:-.02em;line-height:1.1;
  background:linear-gradient(100deg,var(--lx-blue),var(--lx-green));-webkit-background-clip:text;background-clip:text;color:transparent;}
.lx-strip-row span{display:block;font-size:14px;color:var(--lx-soft);margin-top:4px;}

/* ---------- sezioni ---------- */
.lx-sec{padding:104px 0;position:relative;}
.lx-sec-alt{background:var(--lx-bg-2);border-top:1px solid var(--lx-line);border-bottom:1px solid var(--lx-line);}
.lx-sec-head{max-width:760px;margin:0 auto 46px;text-align:center;}
.lx-kicker{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lx-blue);margin-bottom:14px;}
.lx-h2{font-size:clamp(28px,3.6vw,44px);line-height:1.12;font-weight:700;letter-spacing:-.02em;}
.lx-sub{font-size:17px;color:var(--lx-soft);margin-top:16px;}
.lx-sec-head .lx-sub{margin-left:auto;margin-right:auto;max-width:40em;}
.lx-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:11px;}
.lx-list li{position:relative;padding-left:24px;color:var(--lx-soft);font-size:15.5px;}
.lx-list li::before{content:"";position:absolute;left:3px;top:10px;width:8px;height:8px;border-radius:2px;transform:rotate(45deg);
  background:linear-gradient(135deg,var(--lx-blue),var(--lx-green));}

/* ---------- moduli a schede ---------- */
.lx-tabs{display:flex;justify-content:center;gap:6px;margin:0 auto 34px;padding:5px;width:max-content;max-width:100%;
  background:rgba(255,255,255,.03);border:1px solid var(--lx-line);border-radius:14px;overflow-x:auto;}
.lx-tabs [role="tab"]{font:inherit;font-size:15px;font-weight:600;color:var(--lx-soft);background:transparent;border:0;border-radius:10px;
  padding:10px 20px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:background .2s,color .2s;white-space:nowrap;}
.lx-tabs [role="tab"]:hover{color:var(--lx-ink);}
.lx-tabs [role="tab"][aria-selected="true"]{color:var(--lx-ink);background:var(--lx-card-2);box-shadow:inset 0 0 0 1px var(--lx-line-2);}
.lx-tab-dot{width:9px;height:9px;border-radius:50%;}
.lx-c-plan{background:var(--lx-blue);}
.lx-c-cash{background:var(--lx-green);}
.lx-c-invest{background:var(--lx-amber);}
.lx-c-rev{background:var(--lx-violet);}
.lx-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;}
.lx-panel[hidden]{display:none;}
.lx-panel.on .lx-panel-text,.lx-panel.on .lx-mock{animation:lx-panel-in .45s cubic-bezier(.2,.8,.2,1) both;}
.lx-panel.on .lx-mock{animation-delay:.06s;}
@keyframes lx-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lx-panel-text h3{font-size:clamp(22px,2.4vw,30px);line-height:1.2;font-weight:700;letter-spacing:-.01em;margin-bottom:14px;}
.lx-panel-text p{color:var(--lx-soft);font-size:16.5px;}
.lx-mock{padding:20px 22px;}
/* min-width:0 perche' styles.css da' a ogni table min-width:1120px (griglie dell'app) */
.lx-table{width:100%;min-width:0;border-collapse:collapse;border-spacing:0;margin-top:14px;font-size:14px;font-variant-numeric:tabular-nums;}
.lx-table th{font-size:12px;font-weight:600;color:var(--lx-faint);text-align:right;padding:6px 8px;border-bottom:1px solid var(--lx-line);}
.lx-table td{text-align:right;padding:8px;border-bottom:1px solid var(--lx-line);}
.lx-table td:first-child,.lx-table th:first-child{text-align:left;color:var(--lx-soft);padding-left:0;}
.lx-tr-strong td{font-weight:600;color:var(--lx-ink)!important;border-bottom:0;}
.lx-table-grid td:not(:first-child){background:rgba(255,255,255,.015);}
.lx-neg{color:#ffb4ac;background:rgba(240,113,103,.12)!important;border-radius:4px;}
.lx-bal{margin-top:16px;display:grid;gap:8px;}
.lx-bal-row{display:grid;grid-template-columns:100px 1fr 64px;gap:12px;align-items:center;font-size:13px;color:var(--lx-soft);}
.lx-bal-row i{display:block;height:9px;border-radius:5px;background:rgba(255,255,255,.05);position:relative;overflow:hidden;}
.lx-bal-row i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:5px;background:linear-gradient(90deg,var(--lx-blue-2),var(--lx-green));
  transform-origin:left;animation:lx-bar-x .9s .2s cubic-bezier(.2,.8,.2,1) both;}
.lx-bal-row b{text-align:right;font-weight:600;color:var(--lx-ink);font-variant-numeric:tabular-nums;}
@keyframes lx-bar-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lx-check{margin-top:6px;font-size:13px;color:#8ee0b0;background:rgba(63,174,116,.1);border-radius:8px;padding:8px 11px;}
.lx-note-row{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:13px;color:var(--lx-soft);}
.lx-dotc{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.lx-neg-bg{background:var(--lx-red);}
.lx-wf{display:grid;gap:12px;margin-top:18px;}
.lx-wf-row{display:grid;grid-template-columns:170px 1fr 44px;gap:12px;align-items:center;font-size:13px;color:var(--lx-soft);}
.lx-wf-row b{text-align:right;color:var(--lx-ink);font-weight:600;font-variant-numeric:tabular-nums;}
.lx-wf-bar{display:block;height:22px;border-radius:6px;position:relative;background:transparent!important;
  box-shadow:inset 0 0 0 1px var(--lx-line);}
.lx-wf-bar::after{content:"";position:absolute;top:0;bottom:0;left:var(--from);width:var(--w);border-radius:6px;background:inherit;
  transform-origin:left;animation:lx-bar-x .8s .25s cubic-bezier(.2,.8,.2,1) both;}
.lx-wf-bar.lx-c-plan::after{background:var(--lx-blue);}
.lx-wf-bar.lx-c-cash::after{background:var(--lx-green);}
.lx-wf-bar.lx-c-rev::after{background:var(--lx-violet);}
.lx-wf-bar.lx-c-invest::after{background:var(--lx-amber);}
.lx-classes{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;font-size:12.5px;color:var(--lx-soft);}
.lx-classes span{display:inline-flex;align-items:center;gap:7px;}
.lx-checks{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:7px;}
.lx-checks li{display:flex;align-items:center;gap:11px;font-size:14px;padding:9px 12px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid var(--lx-line);}
.lx-checks li::before{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700;}
.lx-pass::before{content:"✓";color:#8ee0b0;background:rgba(63,174,116,.2);}
.lx-flag{color:#f8dca0;border-color:rgba(232,184,74,.3)!important;background:rgba(232,184,74,.06)!important;}
.lx-flag::before{content:"!";color:#f5cf77;background:rgba(232,184,74,.22);}
.lx-panel.on .lx-checks li{animation:lx-panel-in .4s cubic-bezier(.2,.8,.2,1) both;}
.lx-panel.on .lx-checks li:nth-child(2){animation-delay:.05s}
.lx-panel.on .lx-checks li:nth-child(3){animation-delay:.1s}
.lx-panel.on .lx-checks li:nth-child(4){animation-delay:.15s}
.lx-panel.on .lx-checks li:nth-child(5){animation-delay:.2s}
.lx-panel.on .lx-checks li:nth-child(6){animation-delay:.25s}
.lx-panel.on .lx-checks li:nth-child(7){animation-delay:.3s}

/* ---------- simulatore ---------- */
.lx-sim-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center;}
.lx-sim-controls{display:grid;gap:22px;margin-top:30px;}
.lx-range{display:block;}
.lx-range-top{display:flex;justify-content:space-between;gap:14px;font-size:14.5px;color:var(--lx-soft);margin-bottom:10px;}
.lx-range output{font-weight:600;color:var(--lx-ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.lx-range input{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:4px;cursor:pointer;
  background:linear-gradient(90deg,var(--lx-blue) 0%,var(--lx-green) var(--p,50%),rgba(255,255,255,.1) var(--p,50%));}
.lx-range input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:0;
  box-shadow:0 0 0 5px rgba(44,201,178,.25),0 4px 10px rgba(0,0,0,.4);transition:box-shadow .2s;}
.lx-range input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 5px rgba(44,201,178,.25);}
.lx-range input:active::-webkit-slider-thumb{box-shadow:0 0 0 9px rgba(44,201,178,.3),0 4px 10px rgba(0,0,0,.4);}
.lx-sim{padding:20px 22px;}
.lx-sim-chart{width:100%;height:auto;display:block;margin-top:10px;overflow:visible;}
.lx-sim-fido{fill:rgba(232,184,74,.07);transition:y .35s,height .35s;}
.lx-sim-fido-line{stroke:var(--lx-amber);stroke-width:1.5;stroke-dasharray:5 5;opacity:.8;}
.lx-sim-lbl{fill:var(--lx-faint);font-size:11px;font-family:inherit;}
.lx-sim-line{fill:none;stroke:var(--lx-blue);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;}
.lx-sim-area{fill:rgba(240,113,103,.28);}
.lx-sim-min{fill:var(--lx-bg);stroke:var(--lx-ink);stroke-width:2.5;}
.lx-sim-out{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center;margin-top:12px;padding-top:14px;border-top:1px solid var(--lx-line);}
.lx-sim-out small{display:block;font-size:11.5px;color:var(--lx-faint);}
.lx-sim-out strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
.lx-sim-status{justify-self:end;text-align:right;font-size:13.5px;font-weight:600;padding:8px 12px;border-radius:10px;transition:background .25s,color .25s;}
.lx-st-ok{color:#8ee0b0;background:rgba(63,174,116,.14);}
.lx-st-warn{color:#f5cf77;background:rgba(232,184,74,.14);}
.lx-st-bad{color:#ffb4ac;background:rgba(240,113,103,.16);}

/* ---------- passi ---------- */
.lx-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:none;position:relative;}
.lx-steps::before{content:"";position:absolute;left:12%;right:12%;top:27px;height:1px;background:linear-gradient(90deg,transparent,var(--lx-line-2) 15%,var(--lx-line-2) 85%,transparent);}
.lx-steps li{position:relative;text-align:center;padding:0 8px;}
.lx-step-n{position:relative;display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:50%;font-weight:700;font-size:19px;
  background:var(--lx-bg);border:1px solid var(--lx-line-2);box-shadow:inset 0 0 0 5px var(--lx-bg),inset 0 0 0 6px rgba(44,201,178,.35);}
.lx-steps li:hover .lx-step-n{background:linear-gradient(135deg,var(--lx-blue),var(--lx-green));color:#06121f;box-shadow:none;border-color:transparent;}
.lx-steps h3{font-size:19px;font-weight:700;margin-bottom:8px;}
.lx-steps p{font-size:15px;color:var(--lx-soft);}

/* ---------- squadra ---------- */
.lx-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}
.lx-org{padding:26px;}
.lx-org-node{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--lx-line);}
.lx-org-node b{display:block;font-size:14.5px;}
.lx-org-node small{display:block;font-size:12.5px;color:var(--lx-faint);}
.lx-org-top{width:max-content;margin:0 auto;border-color:rgba(44,201,178,.35);}
.lx-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:13px;font-weight:700;color:#06121f;
  background:linear-gradient(135deg,var(--lx-blue),var(--lx-green));flex:0 0 auto;}
.lx-av-b{background:var(--lx-blue);}
.lx-av-g{background:var(--lx-violet);}
.lx-av-a{background:var(--lx-amber);}
.lx-org-links{display:flex;justify-content:space-around;height:24px;padding:0 22%;}
.lx-org-links i{width:1px;background:var(--lx-line-2);}
.lx-org-links-one{justify-content:flex-start;padding:0 0 0 23%;}
.lx-org-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.lx-org-row-left{grid-template-columns:1fr 1fr;}
.lx-org-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px dashed var(--lx-line-2);font-size:13px;color:var(--lx-soft);}
.lx-org-flow span{padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--lx-line);}
.lx-org-flow span.lx-ok{border-color:rgba(63,174,116,.35);}
.lx-org-flow i{font-style:normal;color:var(--lx-faint);}

/* ---------- sicurezza ---------- */
.lx-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.lx-feat{padding:26px;border-radius:16px;background:var(--lx-card);border:1px solid var(--lx-line);transition:transform .25s,border-color .25s,background .25s;}
.lx-feat:hover{transform:translateY(-4px);border-color:rgba(44,201,178,.35);background:var(--lx-card-2);}
.lx-feat-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font-size:22px;background:rgba(44,201,178,.1);margin-bottom:16px;}
.lx-feat h3{font-size:18px;font-weight:700;margin-bottom:8px;}
.lx-feat p{font-size:15px;color:var(--lx-soft);}

/* ---------- chiusura e piede ---------- */
.lx-final{position:relative;overflow:hidden;padding:110px 0;text-align:center;border-top:1px solid var(--lx-line);}
.lx-final-inner{position:relative;}
.lx-final-icon{width:64px;height:58px;color:#e9f3f1;--px-acc:#2cc9b2;margin-bottom:22px;}
.lx-final .lx-sub{max-width:34em;margin-left:auto;margin-right:auto;}
.lx-foot{border-top:1px solid var(--lx-line);padding:26px 0;font-size:13.5px;color:var(--lx-faint);}
.lx-foot-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.lx-foot a{color:var(--lx-soft);}

/* ---------- comparsa allo scorrimento ---------- */
.lx-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);}
.lx-reveal.lx-in{opacity:1;transform:none;}
.lx-steps .lx-reveal:nth-child(2),.lx-feats .lx-reveal:nth-child(2),.lx-strip-row .lx-reveal:nth-child(2){transition-delay:.08s;}
.lx-steps .lx-reveal:nth-child(3),.lx-feats .lx-reveal:nth-child(3),.lx-strip-row .lx-reveal:nth-child(3){transition-delay:.16s;}
.lx-steps .lx-reveal:nth-child(4),.lx-feats .lx-reveal:nth-child(4),.lx-strip-row .lx-reveal:nth-child(4){transition-delay:.24s;}
.lx-feats .lx-reveal:nth-child(5){transition-delay:.08s;}
.lx-feats .lx-reveal:nth-child(6){transition-delay:.16s;}

/* ---------- schermi stretti ---------- */
@media (max-width:980px){
  .lx-top{z-index:20;background:var(--lx-bg);}
  .lx-nav{position:absolute;top:68px;left:0;right:0;z-index:21;flex-direction:column;gap:0;padding:8px 24px 16px;margin:0;
    background:var(--lx-bg);border-bottom:1px solid var(--lx-line-2);box-shadow:0 24px 40px -12px rgba(0,0,0,.75);display:none;}
  .lx-nav.on{display:flex;}
  .lx-nav a{padding:12px 0;font-size:16px;border-bottom:1px solid var(--lx-line);}
  .lx-burger{display:flex;}
  .lx-hero-grid,.lx-panel,.lx-sim-grid,.lx-split{grid-template-columns:minmax(0,1fr);gap:40px;}
  .lx-hero{padding-top:40px;}
  .lx-dash{transform:none;}
  .lx-hero-visual:hover .lx-dash{transform:none;}
  .lx-feats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lx-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px;}
  .lx-steps::before{display:none;}
  .lx-sec{padding:80px 0;}
}
@media (max-width:640px){
  .lx-wrap{padding:0 18px;}
  .lx-hide-sm{display:none;}
  .lx-top-row{gap:12px;}
  .lx-strip-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lx-strip-row div:nth-child(3){border-left:0;}
  .lx-strip-row div:nth-child(n+3){border-top:1px solid var(--lx-line);}
  .lx-feats,.lx-steps{grid-template-columns:minmax(0,1fr);}
  .lx-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lx-kpis div:last-child{display:none;}
  .lx-chip{font-size:12px;padding:7px 10px;}
  .lx-chip-1{left:0;}
  .lx-chip-2{right:0;top:auto;bottom:58px;}
  .lx-chip-3{display:none;}
  .lx-wf-row{grid-template-columns:120px 1fr 40px;font-size:12px;}
  .lx-bal-row{grid-template-columns:86px 1fr 56px;}
  .lx-sim-out{grid-template-columns:1fr 1fr;}
  .lx-sim-status{grid-column:1 / -1;justify-self:stretch;text-align:left;}
  .lx-org-row{grid-template-columns:minmax(0,1fr);}
  .lx-org-links{display:none;}
  .lx-org-top{width:auto;margin-bottom:14px;}
  .lx-org-row + .lx-org-links-one + .lx-org-row,.lx-org-row{margin-bottom:14px;}
  .lx-hero-cta .lx-btn-lg{flex:1 1 auto;}
  .lx-tabs{width:100%;gap:2px;}
  .lx-tabs [role="tab"]{flex:1 1 0;justify-content:center;padding:9px 6px;font-size:13.5px;gap:6px;}
}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  .lx *,.lx *::before,.lx *::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;}
  .lx-reveal{opacity:1;transform:none;}
  .lx-dash{transform:none;}
  .lx-glow{animation:none;}
}

/* Collegamento «Scopri Pianexa» sulla scheda di login (riapre questa pagina) */
.auth-discover{text-align:center;margin-top:10px;font-size:13px;}
.auth-discover a{cursor:pointer;}
