:root {
  --e: #00EEFF;
  --e2: #0099FF;
  --e3: #005FCC;
  --glow: rgba(0,238,255,0.35);
  --glow2: rgba(0,238,255,0.12);
  --dark: #02050D;
  --dark2: #050A16;
  --dark3: #080F1E;
  --card: #060D1C;
  --text: #E8F4FF;
  --muted: #4A6080;
  --muted2: #2A3550;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--dark);
  color:var(--text);
  font-family:'Inter',sans-serif;
  overflow-x:hidden;
  cursor:none;
}

/* CURSOR */
.cur{
  position:fixed;pointer-events:none;z-index:200000;
  width:8px;height:8px;top:0;left:0;
  background:var(--e);
  border-radius:50%;
  box-shadow:0 0 12px var(--e),0 0 30px var(--glow);
  will-change:transform;
}
.cur-ring{
  position:fixed;pointer-events:none;z-index:199999;
  width:32px;height:32px;top:0;left:0;
  border:1px solid rgba(0,238,255,0.5);
  border-radius:50%;
  transition:width .3s,height .3s,opacity .3s;
  will-change:transform;
}

/* NAV */
nav#nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:.8rem 3.5rem;
  gap:2rem;
  transition:all .4s;
}
nav#nav.stuck{
  background:rgba(2,5,13,0.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,238,255,0.1);
}
.nav-logo{display:flex;align-items:center;gap:.7rem;}
.nav-mit{width:auto;height:42px !important;border-radius:4px;}
.nav-logo img{
  width:176px;
  height:auto;
  filter:
    brightness(1.25)
    saturate(1.6)
    drop-shadow(0 0 6px rgba(0,238,255,1))
    drop-shadow(0 0 18px rgba(0,200,255,.9))
    drop-shadow(0 0 40px rgba(0,160,255,.6))
    drop-shadow(0 0 80px rgba(0,120,255,.3));
  animation:logoGlow 7s ease-in-out infinite;
}
@keyframes logoGlow{
  0%,100%{
    filter:
      brightness(1.2)
      saturate(1.5)
      drop-shadow(0 0 6px rgba(0,238,255,1))
      drop-shadow(0 0 18px rgba(0,200,255,.9))
      drop-shadow(0 0 40px rgba(0,160,255,.6))
      drop-shadow(0 0 80px rgba(0,120,255,.3));
  }
  50%{
    filter:
      brightness(1.45)
      saturate(1.9)
      drop-shadow(0 0 12px rgba(0,248,255,1))
      drop-shadow(0 0 35px rgba(0,220,255,1))
      drop-shadow(0 0 70px rgba(0,180,255,.8))
      drop-shadow(0 0 130px rgba(0,140,255,.5));
  }
}
.nav-links{display:flex;gap:2rem;list-style:none;flex-shrink:0;}
.nav-links a{
  color:rgba(255,255,255,.85);text-decoration:none;
  font-size:.95rem;font-weight:500;letter-spacing:.05em;
  text-transform:uppercase;transition:color .2s;white-space:nowrap;
}
.nav-links a:hover{color:var(--e);}
.nav-btn{
  background:transparent;
  border:1px solid var(--e);
  color:var(--e);
  padding:.5rem 1.2rem;
  font-family:'Inter',sans-serif;
  font-size:.95rem;font-weight:600;
  letter-spacing:.05em;cursor:none;
  border-radius:3px;
  position:relative;overflow:hidden;
  transition:color .25s;
  white-space:nowrap;flex-shrink:0;
}
.nav-btn::before{
  content:'';
  position:absolute;inset:0;
  background:var(--e);
  transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;
}
.nav-btn:hover::before{transform:scaleX(1);}
.nav-btn:hover{color:var(--dark);}
.nav-btn span{position:relative;z-index:1;}

/* HERO */
#hero{
  min-height:100vh;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 3.5rem 5rem;
}
@media(max-width:860px){
  #hero{
    justify-content:flex-start;
    padding:0 1.5rem 2rem;
    min-height:100svh;
  }
}
#lightning-canvas{
  position:absolute;inset:0;z-index:1;
  pointer-events:none;
}

@keyframes heroIn{from{transform:scale(1.1);}to{transform:scale(1.0);}}
.hero-vignette{
  position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(0,238,255,0.07) 0%, transparent 60%),
    linear-gradient(to top, var(--dark) 0%, transparent 45%),
    linear-gradient(to bottom, var(--dark) 0%, transparent 20%);
}
.hero-people{
  position:absolute;
  right:0;bottom:0;
  width:58%;
  aspect-ratio:1200/896;
  z-index:3;
  pointer-events:none;
  background: transparent;
}
@media(max-width:860px){
  #hero{
    flex-direction:column;
    justify-content:flex-start;
  }
  .hero-people{
    position:relative !important;
    width:100% !important;
    bottom:auto !important;
    right:auto !important;
    margin-top:60px;
    order:1;
    aspect-ratio:1200/896;
  }
  .hero-people img{
    mask-image:linear-gradient(to bottom, black 70%, transparent 100%);
    -webkit-mask-image:linear-gradient(to bottom, black 70%, transparent 100%);
  }
  .hero-content{
    order:2;
    padding-top:1rem;
  }
  .scroll-line{ order:3; }
}
.hero-people img{
  width:100%;height:100%;
  object-fit:contain;
  object-position:right bottom;
  mask-image: linear-gradient(to left, black 55%, transparent 100%);
  -webkit-mask-image: linear-gradient(to left, black 55%, transparent 100%);
  filter:brightness(1.05);
  animation:heroIn 10s ease-out forwards;
}
@media(min-width:861px){
  .hero-people img{
    filter:
      drop-shadow(-15px 0 30px rgba(0,238,255,0.12))
      brightness(1.05);
  }
}
.hero-content{position:relative;z-index:5;padding-top:5rem;}
@media(max-width:860px){.hero-content{padding-top:0;}}
@media(max-width:480px){.hero-content{padding-top:0;}}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  border:1px solid rgba(0,238,255,.2);
  background:rgba(0,238,255,.05);
  padding:.35rem 1rem;border-radius:2px;
  font-size:.7rem;letter-spacing:.14em;color:var(--e);
  margin-bottom:1.5rem;width:fit-content;
  opacity:0;animation:fadeUp .7s .4s forwards;
}
.pulse-dot{
  width:6px;height:6px;border-radius:50%;background:var(--e);
  animation:pd 2s infinite;
}
@keyframes pd{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(0,238,255,.4);}50%{opacity:.3;box-shadow:0 0 0 6px rgba(0,238,255,0);}}
.hero-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(4rem,9vw,9rem);
  font-weight:900;line-height:.9;
  letter-spacing:-.01em;
  text-transform:uppercase;
  opacity:0;animation:fadeUp .9s .55s forwards;
}
.hero-title .outline{
  display:block;
  color: transparent;
  -webkit-text-stroke: 2px var(--e);
  filter:
    drop-shadow(0 0 6px rgba(0,238,255,1))
    drop-shadow(0 0 18px rgba(0,220,255,.85))
    drop-shadow(0 0 40px rgba(0,180,255,.6))
    drop-shadow(0 0 80px rgba(0,140,255,.3));
  animation: neonOutline 7s ease-in-out infinite;
}
@keyframes neonOutline{
  0%,100%{
    filter:
      drop-shadow(0 0 5px rgba(0,238,255,1))
      drop-shadow(0 0 16px rgba(0,220,255,.9))
      drop-shadow(0 0 35px rgba(0,180,255,.6))
      drop-shadow(0 0 70px rgba(0,140,255,.3));
  }
  50%{
    filter:
      drop-shadow(0 0 10px rgba(0,248,255,1))
      drop-shadow(0 0 28px rgba(0,238,255,1))
      drop-shadow(0 0 60px rgba(0,200,255,.8))
      drop-shadow(0 0 120px rgba(0,160,255,.5));
  }
}
.hero-title .electric{
  display:block;
  color:var(--e);
  text-shadow:
    0 0 20px rgba(0,238,255,.8),
    0 0 60px rgba(0,238,255,.4),
    0 0 120px rgba(0,238,255,.2);
  animation:flicker 8s infinite;
}
@keyframes flicker{
  0%,94%,96%,98%,100%{opacity:1;}
  95%{opacity:.85;}97%{opacity:.7;}99%{opacity:.9;}
}
.hero-title .white{display:block;color:var(--text);}
.hero-bottom{
  display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;
  margin-top:2rem;
  opacity:0;animation:fadeUp .9s .75s forwards;
}
.hero-desc{
  max-width:400px;font-size:.97rem;line-height:1.75;
  color:rgba(255,255,255,.75);font-weight:400;
}
.hero-desc strong{color:var(--text);font-weight:500;}
.hero-actions{display:flex;gap:1rem;align-items:flex-start;flex-shrink:0;}
.btn-electric{
  background:var(--e);color:var(--dark);
  padding:.85rem 2.2rem;text-decoration:none;
  font-size:.88rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
  border-radius:3px;display:inline-block;
  position:relative;overflow:hidden;
  box-shadow:0 0 20px rgba(0,238,255,.4),0 0 60px rgba(0,238,255,.15);
  transition:box-shadow .3s,transform .2s;
}
.btn-electric::after{
  content:'';position:absolute;
  top:-50%;left:-60%;
  width:40%;height:200%;
  background:rgba(255,255,255,.4);
  transform:skewX(-20deg);
  transition:left .5s;
}
.btn-electric:hover::after{left:120%;}
.btn-electric:hover{
  box-shadow:0 0 40px rgba(0,238,255,.7),0 0 100px rgba(0,238,255,.3);
  transform:translateY(-2px);
}
.btn-ghost2{
  color:rgba(255,255,255,.8);font-size:.85rem;font-weight:500;
  text-decoration:none;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:color .2s;
  letter-spacing:.03em;
}
.btn-ghost2:hover{color:var(--e);}
.btn-ghost-blue{
  color:var(--e2);font-size:.85rem;font-weight:600;
  text-decoration:none;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:color .2s,text-shadow .2s;
  letter-spacing:.03em;
  text-shadow:0 0 12px rgba(0,153,255,.4);
}
.btn-ghost-blue:hover{color:var(--e);text-shadow:0 0 18px rgba(0,238,255,.6);}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  border:1px solid rgba(0,238,255,.2);
  background:rgba(0,238,255,.05);
  padding:.35rem 1rem;border-radius:2px;
  font-size:.75rem;letter-spacing:.08em;color:var(--e);
  margin-bottom:1.2rem;width:fit-content;
  opacity:0;animation:fadeUp .7s .4s forwards;
}
.pulse-dot{
  width:6px;height:6px;border-radius:50%;background:var(--e);
  flex-shrink:0;
  animation:pd 2s infinite;
}
@keyframes pd{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(0,238,255,.4);}50%{opacity:.4;box-shadow:0 0 0 5px rgba(0,238,255,0);}}

/* HERO PILLS */
.hero-pills{
  display:flex;gap:0;
  border-top:1px solid rgba(0,238,255,.1);
  border-bottom:1px solid rgba(0,238,255,.1);
  background:rgba(0,238,255,.02);
}
.hero-pill{
  flex:1;display:flex;align-items:center;gap:1.2rem;
  padding:1.2rem 2.5rem;
  border-right:1px solid rgba(0,238,255,.08);
  transition:background .3s;
}
.hero-pill:last-child{border-right:none;}
.hero-pill:hover{background:rgba(0,238,255,.04);}
.hp-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.6rem;font-weight:900;
  color:var(--e);opacity:.35;
  line-height:1;flex-shrink:0;
  transition:opacity .3s;
}
.hero-pill:hover .hp-num{opacity:1;}
.hp-divider{
  width:1px;height:28px;
  background:linear-gradient(to bottom, transparent, rgba(0,238,255,.3), transparent);
  flex-shrink:0;
}
.hp-text{font-size:.82rem;line-height:1.5;color:rgba(255,255,255,.6);}
.hp-text strong{
  color:var(--text);display:block;
  font-size:.88rem;font-weight:600;
  letter-spacing:.01em;margin-bottom:.1rem;
}

/* SCROLL LINE */
.scroll-line{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;flex-direction:column;align-items:center;gap:.4rem;
  opacity:0;animation:fadeUp .6s 1.3s forwards;
}
.scroll-line-bar{
  width:1px;height:48px;overflow:hidden;
  background:linear-gradient(to bottom,transparent,var(--muted2));
}
.scroll-line-bar::after{
  content:'';display:block;width:1px;height:48px;
  background:linear-gradient(to bottom,var(--e),transparent);
  animation:scrollDrop 2.2s 1.5s infinite;
}
@keyframes scrollDrop{
  0%{transform:translateY(-48px);}
  100%{transform:translateY(48px);}
}

/* TICKER */
.ticker{
  padding:.85rem 0;overflow:hidden;
  border-top:1px solid rgba(0,238,255,.08);
  border-bottom:1px solid rgba(0,238,255,.08);
  background:var(--dark2);
}
.ticker-inner{
  display:flex;white-space:nowrap;
  animation:tk 28s linear infinite;
}
.ticker-item{
  display:inline-flex;align-items:center;gap:2rem;
  padding:0 2rem;
  font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:500;
}
.ticker-item .dot{color:var(--e);font-size:1rem;}
@keyframes tk{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* STATS */
.stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  background:var(--dark2);
}
.stat{
  padding:4rem 3rem;text-align:center;
  border-right:1px solid rgba(0,238,255,.07);
  position:relative;overflow:hidden;
}
.stat:last-child{border-right:none;}
.stat::after{
  content:'';
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--e) 50%,transparent 100%);
  box-shadow:0 0 10px var(--glow);
  transform:scaleX(0);
  transition:transform .6s ease;
}
.stat.in::after{transform:scaleX(1);}
.stat-n{
  font-family:'Barlow Condensed',sans-serif;
  font-size:5.5rem;font-weight:900;line-height:1;
  color:var(--e);
  text-shadow:0 0 30px rgba(0,238,255,.5),0 0 80px rgba(0,238,255,.2);
}
.stat-u{font-size:3rem;}
.stat-l{
  font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
  margin-top:.5rem;
}

/* DIFFERENZA */
.differ{
  display:grid;grid-template-columns:1fr 1fr;
  gap:6rem;align-items:center;
  padding:7rem 3.5rem;
}
.differ-img-wrap{
  position:relative;border-radius:8px;overflow:hidden;
  aspect-ratio:3/4;
}
.differ-img-wrap video{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.85) saturate(.9);
  transition:filter .6s;
}
.differ-img-wrap:hover video{filter:brightness(1) saturate(1.1);}
.differ-img-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 80%, rgba(0,238,255,.15) 0%, transparent 50%);
  pointer-events:none;
}
.differ-img-badge{
  position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;
  background:rgba(2,5,13,.85);
  backdrop-filter:blur(10px);
  border:1px solid rgba(0,238,255,.2);
  border-radius:6px;padding:1rem 1.3rem;
}
.differ-img-badge-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.1rem;font-weight:700;color:var(--e);
  text-shadow:0 0 15px rgba(0,238,255,.5);
}
.differ-img-badge-s{font-size:.78rem;color:var(--muted);margin-top:.2rem;}

.feat-steps{display:flex;flex-direction:column;gap:0;margin-top:2rem;}
.feat-step{
  display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;
  padding:1.4rem 0;
  border-bottom:1px solid rgba(0,238,255,.06);
  cursor:default;
  transition:padding-left .3s;
}
.feat-step:last-child{border-bottom:none;}
.feat-step:hover{padding-left:.6rem;}
.feat-step-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.6rem;font-weight:900;
  color:rgba(0,238,255,.2);line-height:1;
  transition:color .3s,text-shadow .3s;
  align-self:start;padding-top:3px;
}
.feat-step:hover .feat-step-num{
  color:var(--e);
  text-shadow:0 0 15px rgba(0,238,255,.6);
}
.feat-step-title{font-size:.95rem;font-weight:600;margin-bottom:.3rem;}
.feat-step-desc{font-size:.84rem;line-height:1.65;color:var(--muted);}

/* PILLARS */
.pillars-wrap{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:rgba(0,238,255,.06);
  border-top:1px solid rgba(0,238,255,.06);
  border-bottom:1px solid rgba(0,238,255,.06);
}
.pillar{
  background:var(--dark2);
  padding:3rem 2.5rem;text-align:center;
  position:relative;overflow:hidden;
  transition:background .4s;
}
.pillar::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%, rgba(0,238,255,.08) 0%, transparent 60%);
  opacity:0;transition:opacity .4s;
}
.pillar:hover{background:var(--dark3);}
.pillar:hover::before{opacity:1;}
.pillar-icon-wrap{
  width:80px;height:80px;margin:0 auto 1.5rem;
  position:relative;
}
.pillar-icon-wrap::after{
  content:'';
  position:absolute;inset:-8px;border-radius:50%;
  background:radial-gradient(circle, rgba(0,238,255,.15) 0%, transparent 70%);
  opacity:0;transition:opacity .4s;
}
.pillar:hover .pillar-icon-wrap::after{opacity:1;}
.pillar-icon{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 4px 16px rgba(0,238,255,.3));
}
.pillar-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.2rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  margin-bottom:.6rem;
}
.pillar-d{font-size:.84rem;line-height:1.65;color:var(--muted);}

/* DISPENSER */
/* ═══ DISPENSER SHOWCASE ═══ */
#dispenser{
  padding:.75rem 0 3.5rem;
  background:var(--dark2);
  overflow:hidden;
  scroll-margin-top:72px;
}
.disp-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:.5rem;padding:0 3.5rem;
}

/* SLIDESHOW */
.disp-slideshow{position:relative;}
.disp-slides-wrap{
  position:relative;
  height:430px;
  overflow:hidden;
}
.disp-slide{
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  opacity:0;
  transition:opacity .65s ease;
  pointer-events:none;
}
.disp-slide.active{opacity:1;pointer-events:auto;}

/* LEFT: immagine */
.disp-slide-img{
  position:relative;
  display:flex;align-items:flex-start;justify-content:center;
  padding:.5rem 2rem 0;
  border-right:1px solid rgba(0,238,255,.07);
  background:radial-gradient(ellipse at 50% 60%, rgba(0,238,255,.05) 0%, transparent 65%);
  overflow:hidden;
}
.disp-slide-img img{
  max-height:440px;width:auto;max-width:100%;
  animation:dispFloat 3.5s ease-in-out infinite;
  filter:drop-shadow(0 0 30px rgba(0,200,255,.35));
}
@keyframes dispFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-14px);}
}

/* RIGHT: contenuto */
.disp-slide-content{
  display:flex;flex-direction:column;
  justify-content:flex-start;gap:.8rem;
  padding:1rem 2.5rem;
}
.disp-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:4rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.02em;
  line-height:.9;
}
.disp-name em{font-style:normal;color:var(--e);text-shadow:0 0 20px rgba(0,238,255,.4);}
.disp-gen{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--e);text-shadow:0 0 8px rgba(0,238,255,.4);
}
.disp-desc{font-size:.93rem;line-height:1.7;color:rgba(255,255,255,.6);max-width:380px;}

.disp-features{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.disp-feat{
  display:flex;align-items:flex-start;gap:.6rem;
  padding:.6rem 0;
  border-bottom:1px solid rgba(0,238,255,.07);
  font-size:.8rem;color:rgba(255,255,255,.6);line-height:1.4;
}
.disp-feat:nth-last-child(-n+2){border-bottom:none;}
.disp-feat-dot{
  width:5px;height:5px;border-radius:50%;margin-top:5px;
  background:var(--e);flex-shrink:0;
  box-shadow:0 0 6px rgba(0,238,255,.6);
}

#disp-particle-canvas{
  position:absolute;
  top:0;left:0;width:50%;height:100%;
  pointer-events:none;z-index:5;
}

/* Controls: arrows + dots */
.disp-controls{
  display:flex;align-items:center;justify-content:center;
  gap:1.5rem;
  padding:.6rem 0;
  border-top:1px solid rgba(0,238,255,.07);
}
.disp-dots{display:flex;gap:.65rem;align-items:center;}
.disp-dot{
  width:9px;height:9px;border-radius:50%;padding:0;border:none;
  background:rgba(0,238,255,.18);cursor:pointer;
  transition:background .3s, transform .3s, box-shadow .3s;
}
.disp-dot.active{
  background:var(--e);transform:scale(1.35);
  box-shadow:0 0 10px rgba(0,238,255,.6);
}
.disp-arrow{
  background:transparent;
  border:1px solid rgba(0,238,255,.25);
  color:rgba(0,238,255,.7);
  width:42px;height:42px;border-radius:50%;
  font-size:1.1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .25s, color .25s, box-shadow .25s;
}
.disp-arrow:hover{
  border-color:var(--e);color:var(--e);
  box-shadow:0 0 14px rgba(0,238,255,.3);
}

/* Stat strip */
.disp-stats{
  display:flex;gap:0;
  border-top:1px solid rgba(0,238,255,.07);
  padding-top:1rem;
}
.disp-stat{flex:1;border-right:1px solid rgba(0,238,255,.07);padding-right:1.5rem;margin-right:1.5rem;}
.disp-stat:last-child{border-right:none;}
.disp-stat-n{
  font-family:'Barlow Condensed',sans-serif;
  font-size:2.2rem;font-weight:900;color:var(--e);line-height:1;
  text-shadow:0 0 15px rgba(0,238,255,.4);
}
.disp-stat-l{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.2rem;}

/* FRUTTI / CONCENTRATI */
#concentrati{
  display:grid;grid-template-columns:1.1fr 1fr;
  min-height:80vh;align-items:stretch;
}
.conc-left{
  padding:6rem 4rem;
  background:var(--dark2);
  display:flex;flex-direction:column;justify-content:center;
}
.conc-right{
  position:relative;overflow:hidden;
}
.conc-right img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.6) saturate(.8);
  transition:filter .6s,transform .8s;
}
#concentrati:hover .conc-right img{
  filter:brightness(.85) saturate(1.1);
  transform:scale(1.04);
}
.conc-right-shade{
  position:absolute;inset:0;
  background:linear-gradient(to right, var(--dark2) 0%, transparent 35%);
}
.conc-right-glow{
  position:absolute;
  bottom:0;left:0;right:0;height:200px;
  background:linear-gradient(to top, rgba(0,238,255,.06) 0%, transparent 100%);
  pointer-events:none;
}
.gusti-cloud{display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0;}
.gusto{
  padding:.38rem .95rem;border-radius:100px;
  border:1px solid rgba(0,238,255,.12);
  font-size:.77rem;color:var(--muted);
  transition:all .25s;cursor:default;
}
.gusto:hover,.gusto.on{
  background:rgba(0,238,255,.1);
  border-color:var(--e);color:var(--e);
  box-shadow:0 0 10px rgba(0,238,255,.2);
}

/* SECTION LABEL */
.slabel{
  font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--e);display:block;margin-bottom:.7rem;
  text-shadow:0 0 10px rgba(0,238,255,.4);
}
.sh2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.5rem,5vw,4.5rem);
  font-weight:900;line-height:.95;
  letter-spacing:-.01em;text-transform:uppercase;
  margin-bottom:1.5rem;
}
.sh2 em{font-style:normal;color:var(--e);text-shadow:0 0 20px rgba(0,238,255,.4);}
.sbody{font-size:.96rem;line-height:1.8;color:var(--muted);font-weight:300;max-width:520px;}

/* REVEAL */
.r{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease;}
.r.in{opacity:1;transform:translateY(0);}

/* CTA */
#cta{
  position:relative;overflow:hidden;
  min-height:60vh;display:flex;align-items:center;
  background:var(--dark);
}
.cta-bg-img{
  position:absolute;inset:0;
  background: var(--dark3);
  filter:brightness(.15) saturate(.4);
}
.cta-bg-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(2,5,13,.97) 30%,rgba(0,30,80,.4) 100%);
}
.cta-electric-lines{
  position:absolute;right:0;top:0;bottom:0;width:50%;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 3px,
      rgba(0,238,255,.015) 3px,
      rgba(0,238,255,.015) 4px
    );
}
.cta-inner{
  position:relative;z-index:2;
  padding:5rem 3.5rem;
  width:100%;
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:center;
}
.cta-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(3rem,6vw,5.5rem);
  font-weight:900;line-height:.95;
  text-transform:uppercase;letter-spacing:-.01em;
}
.cta-title span{
  color:var(--e);
  text-shadow:0 0 30px rgba(0,238,255,.6),0 0 80px rgba(0,238,255,.25);
}
.cta-subtitle{font-size:.96rem;color:var(--muted);line-height:1.75;margin-top:1.2rem;max-width:420px;}
.cta-form{display:flex;flex-direction:column;gap:1rem;}
.cta-field{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,238,255,.12);
  padding:.9rem 1.3rem;border-radius:4px;
  font-family:'Inter',sans-serif;font-size:.9rem;
  color:var(--text);outline:none;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.cta-field::placeholder{color:var(--muted);}
.cta-field:focus{
  border-color:var(--e);
  background:rgba(0,238,255,.04);
  box-shadow:0 0 0 3px rgba(0,238,255,.08);
}
.cta-submit{
  background:var(--e);color:var(--dark);
  border:none;padding:1rem;border-radius:4px;
  font-family:'Inter',sans-serif;font-size:.9rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  cursor:none;position:relative;overflow:hidden;
  box-shadow:0 0 25px rgba(0,238,255,.35);
  transition:box-shadow .2s,transform .2s;
}
.cta-submit::after{
  content:'';position:absolute;
  top:-50%;left:-60%;width:40%;height:200%;
  background:rgba(255,255,255,.35);
  transform:skewX(-20deg);
  transition:left .5s;
}
.cta-submit:hover::after{left:130%;}
.cta-submit:hover{
  box-shadow:0 0 50px rgba(0,238,255,.6),0 0 100px rgba(0,238,255,.25);
  transform:translateY(-1px);
}
.cta-contacts{display:flex;gap:2.5rem;margin-top:2rem;}
.cta-c-item .lbl{
  font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--e);margin-bottom:.3rem;
  text-shadow:0 0 8px rgba(0,238,255,.4);
}
.cta-c-item a,.cta-c-item span{color:var(--muted);font-size:.88rem;text-decoration:none;transition:color .2s;}
.cta-c-item a:hover{color:var(--e);}

/* FOOTER */
footer{
  background:var(--dark2);
  border-top:1px solid rgba(0,238,255,.07);
  padding:1.8rem 3.5rem;
  display:flex;align-items:center;justify-content:space-between;
}
footer img{height:24px;filter:brightness(0) invert(1) opacity(.45);}
.foot-center{display:flex;flex-direction:row;align-items:center;gap:.9rem;}
.foot-copy{font-size:.72rem;color:var(--muted);}
.foot-mit{height:60px;width:auto;opacity:.9;filter:none;}
.foot-nav{display:flex;gap:1.8rem;}
.foot-nav a{font-size:.72rem;color:var(--muted);text-decoration:none;transition:color .2s;}
.foot-nav a:hover{color:var(--e);}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}

/* ═══════════════════════════
   TABLET 860px
═══════════════════════════ */
@media(max-width:860px){
  /* NAV */
  nav#nav{padding:1rem 1.5rem;background:var(--dark);}
  .nav-links,.nav-btn{display:none;}

  /* HERO */
  .hero-title{font-size:clamp(3rem,14vw,5.5rem);}
  .hero-people{
    position:relative;width:100%;
    aspect-ratio:1200/896;
    margin:60px auto 0;
    opacity:1;
    max-height:42vh;
  }
  .hero-people img{
    mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%), linear-gradient(to bottom, black 60%, transparent 100%);
    mask-composite:intersect;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%), linear-gradient(to bottom, black 60%, transparent 100%);
    -webkit-mask-composite:source-in;
    filter:brightness(1.05);
  }
  .hero-bottom{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:0;position:relative;z-index:6;}
  .hero-actions{flex-direction:row;align-items:flex-start;gap:.6rem;width:100%;flex-wrap:nowrap;}
  .hero-actions .btn-electric{flex:1;text-align:center;padding:.75rem .8rem;font-size:.78rem;letter-spacing:.03em;}
  .hero-desc{max-width:100%;}

  /* PILLS */
  .hero-pills{flex-direction:column;}
  .hero-pill{border-right:none;border-bottom:1px solid rgba(0,238,255,.08);padding:.9rem 1.5rem;gap:1rem;}
  .hero-pill:last-child{border-bottom:none;}
  .hp-divider{width:28px;height:1px;background:linear-gradient(to right, transparent, rgba(0,238,255,.3), transparent);}

  /* STATS */
  .stats{grid-template-columns:repeat(3,1fr);}
  .stat{padding:2rem 1rem;}
  .stat-n{font-size:3.5rem;}

  /* SEZIONI */
  .differ{grid-template-columns:1fr;gap:0;padding:0;position:relative;overflow:hidden;}
  .differ-img-wrap{
    position:absolute;inset:0;
    aspect-ratio:unset;border-radius:0;
    opacity:.45;z-index:0;
  }
  .differ-img-badge{display:none;}
  .differ::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(2,5,13,.65) 0%,rgba(2,5,13,.45) 100%);
    z-index:1;pointer-events:none;
  }
  .differ > div:last-child{
    position:relative;z-index:2;
    padding:3rem 1.5rem;
  }
  .differ .feat-step-num{color:rgba(0,238,255,.65);}
  .differ .feat-step-desc{color:rgba(255,255,255,.78);}
  .differ .sbody{color:rgba(255,255,255,.82);}
  .pillars-wrap{grid-template-columns:1fr 1fr;}
  #dispenser{padding:2rem 0;}
  .disp-head{flex-direction:column;gap:.8rem;align-items:flex-start;padding:0 1.5rem;margin-bottom:1.5rem;}
  .disp-slides-wrap{height:730px;}
  .disp-slide{grid-template-columns:1fr;align-content:start;}
  .disp-slide-img{padding:1rem;border-right:none;border-bottom:1px solid rgba(0,238,255,.07);}
  .disp-slide-img img{max-height:220px;}
  .disp-slide-content{padding:1.2rem 1.5rem;gap:.6rem;}
  .disp-name{font-size:3rem;}
  .disp-features{grid-template-columns:1fr;}
  .disp-stats{gap:0;}
  #concentrati{grid-template-columns:1fr;}
  .conc-right{height:260px;}
  .conc-left{padding:3rem 1.5rem;}
  .cta-inner{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 1.5rem;}
  .cta-contacts{flex-direction:column;gap:1rem;}
  footer{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center;}
}

/* ═══════════════════════════
   MOBILE 480px
═══════════════════════════ */
@media(max-width:480px){
  /* NAV — hamburger menu */
  nav#nav{padding:.9rem 1.2rem;background:var(--dark);}
  .nav-logo img{width:130px;}
  .mob-menu-btn{display:flex;}

  /* HERO */
  #hero{padding:0 1.2rem 5rem;}
  .hero-eyebrow{font-size:.65rem;padding:.28rem .8rem;}
  .hero-title{font-size:clamp(2.8rem,18vw,4.5rem);line-height:.88;}
  .hero-people{
    position:relative;width:100%;
    aspect-ratio:1200/896;
    margin:58px auto 0;
    opacity:1;
    max-height:38vh;
  }
  .hero-people img{
    mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%), linear-gradient(to bottom, black 55%, transparent 100%);
    mask-composite:intersect;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%), linear-gradient(to bottom, black 55%, transparent 100%);
    -webkit-mask-composite:source-in;
    filter:brightness(1.05);
  }
  .hero-bottom{margin-top:0;gap:.8rem;}
  .hero-desc{font-size:.88rem;line-height:1.65;}
  .hero-actions{flex-direction:row;gap:.5rem;}
  .hero-actions .btn-electric{padding:.7rem .6rem;font-size:.74rem;letter-spacing:.02em;}

  /* PILLS */
  .hero-pill{padding:.8rem 1.2rem;gap:.8rem;}
  .hp-num{font-size:1.3rem;}
  .hp-text{font-size:.76rem;}
  .hp-text strong{font-size:.8rem;}

  /* STATS — una colonna */
  .stats{grid-template-columns:1fr;}
  .stat{border-right:none;border-bottom:1px solid rgba(0,238,255,.07);padding:2rem 1.5rem;}
  .stat-n{font-size:4rem;}

  /* TITOLI SEZIONI */
  .sh2{font-size:clamp(2rem,10vw,3rem);}
  .slabel{font-size:.62rem;}

  /* FUNZIONA */
  .differ-img-wrap{opacity:.5;}
  .differ > div:last-child{padding:2.5rem 1rem;}
  .feat-steps{margin-top:1.2rem;}
  .feat-step{gap:.8rem;padding:.9rem 0;}
  .feat-step-num{font-size:1.2rem;width:20px;}
  .feat-step-title{font-size:.85rem;}
  .feat-step-desc{font-size:.76rem;}

  /* PILLARS */
  .pillars-wrap{grid-template-columns:1fr;}
  .pillar{padding:2rem 1.5rem;}
  .pillar-icon-wrap{width:60px;height:60px;}

  /* DISPENSER */
  .disp-name{font-size:2.2rem;}
  .disp-stat-n{font-size:1.6rem;}

  /* CONCENTRATI */
  .conc-left{padding:2.5rem 1.2rem;}
  .conc-right{height:200px;}
  .gusti-cloud{gap:.4rem;}
  .gusto{font-size:.72rem;padding:.3rem .8rem;}

  /* CTA */
  .cta-inner{padding:3rem 1.2rem;gap:2rem;}
  .cta-title{font-size:clamp(2rem,10vw,3rem);}
  .cta-field{padding:.8rem 1rem;}
  .cta-contacts{gap:.8rem;}

  /* FOOTER */
  footer{padding:1.5rem 1.2rem;gap:.8rem;}
  .foot-copy{font-size:.68rem;}

  /* CURSOR off su touch */
  .cur,.cur-ring{display:none;}
}

/* ═══════════════════════════
   HAMBURGER MENU MOBILE
═══════════════════════════ */
.mob-menu-btn{
  display:none;
  flex-direction:column;gap:5px;cursor:pointer;padding:.3rem;
  background:none;border:none;
}
.mob-menu-btn span{
  display:block;width:24px;height:2px;
  background:var(--text);border-radius:2px;
  transition:all .3s;
}
.mob-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mob-menu-btn.open span:nth-child(2){opacity:0;}
.mob-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mob-nav{
  display:none;
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:300;
  background:rgba(2,5,13,.97);backdrop-filter:blur(12px);
  flex-direction:column;align-items:center;justify-content:center;
  gap:2.5rem;
}
.mob-nav.open{display:flex;}
.mob-nav a{
  font-family:'Barlow Condensed',sans-serif;
  font-size:3rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  color:var(--text);text-decoration:none;
  transition:color .2s;
}
.mob-nav a:hover{color:var(--e);}
.mob-nav .mob-close{
  position:absolute;top:1.5rem;right:1.5rem;
  font-size:2rem;color:var(--muted);background:none;border:none;cursor:pointer;
}
.mob-nav .mob-cta{
  background:var(--e);color:var(--dark);
  padding:.8rem 2.5rem;border-radius:3px;
  font-size:1.2rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;margin-top:1rem;
}
