/* ============ gETIKA — foglio di stile unico ============ */
:root{
  --bg:#0b1628; --bg2:#0f1d33; --panel:#132441; --panel2:#182d4d;
  --line:#22395a; --line2:#2f5480;
  --txt:#edf6ff; --dim:#a3b8cf; --dimmer:#7189a6;
  --acc:#38dcff; --acc2:#4d9dff; --acc3:#7cf0d0; --warn:#ffc75a;
  --glow:0 0 18px rgba(56,220,255,.28); --gold:#e3b96a;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --disp:"Space Grotesk","Segoe UI",system-ui,sans-serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--txt);font-family:var(--sans);font-size:16px;line-height:1.6;
  background:
    linear-gradient(rgba(56,220,255,.030) 1px,transparent 1px) 0 0/100% 44px,
    linear-gradient(90deg,rgba(56,220,255,.030) 1px,transparent 1px) 0 0/44px 100%,
    radial-gradient(120% 80% at 50% -10%,#14294a 0%,var(--bg) 60%);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
/* logo gETIKA in filigrana, fisso dietro a tutto */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:url(logo-getika.png) center 46%/min(88vw,1250px) auto no-repeat;
  opacity:.07;filter:drop-shadow(0 0 40px rgba(56,220,255,.9));
}
body[data-lang="it"] [data-l="en"]{display:none}
body[data-lang="en"] [data-l="it"]{display:none}
img,video{max-width:100%;display:block}
a{color:var(--acc);text-decoration:none}
a:hover{color:#9df0ff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
section{padding:76px 0;position:relative}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent)}

/* ---------- topbar ---------- */
header.top{position:sticky;top:0;z-index:60;background:rgba(11,22,40,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.topin{max-width:var(--max);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:52px;width:auto;filter:drop-shadow(0 0 12px rgba(56,220,255,.5))}
.brand span{font-family:var(--mono);font-size:.62rem;color:var(--dimmer);text-transform:uppercase;letter-spacing:.2em}
nav.main{margin-left:auto;display:flex;gap:26px;align-items:center}
nav.main a{font-family:var(--disp);font-size:1.02rem;font-weight:500;color:var(--txt);letter-spacing:.005em;padding:8px 0;border-bottom:2px solid transparent;transition:.15s}
nav.main a:hover{color:var(--acc)}
nav.main a.here{color:var(--acc);border-bottom-color:var(--acc);text-shadow:var(--glow)}
.lang{display:flex;font-family:var(--mono);font-size:.72rem;border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.lang button{background:none;border:none;color:var(--dim);padding:7px 11px;cursor:pointer;font:inherit;font-size:.8rem}
.lang button.on{background:var(--acc);color:#03151d;font-weight:600;box-shadow:var(--glow)}
.burger{display:none;background:none;border:1px solid var(--line2);border-radius:6px;color:var(--txt);padding:8px 12px;cursor:pointer;font-size:1.25rem;line-height:1}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{font-family:var(--disp);color:#fff;margin:0}
h1{font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.06;letter-spacing:-.025em;font-weight:700;text-shadow:0 0 40px rgba(56,220,255,.18)}
h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.12;letter-spacing:-.02em;font-weight:700;margin-bottom:14px}
h3{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--acc);box-shadow:var(--glow)}
.lead{font-size:1.1rem;color:var(--dim);max-width:62ch;margin:18px 0 0}
.sub{color:var(--dim);max-width:68ch;margin:0 0 42px}
strong{color:#fff;font-weight:600}
.motto{font-family:var(--disp);font-size:1.05rem;color:var(--acc);letter-spacing:.02em;margin:24px 0 0;text-shadow:var(--glow)}

/* ---------- bottoni ---------- */
.cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:7px;font-family:var(--mono);font-size:.79rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line2);color:var(--txt);background:rgba(19,36,65,.75);cursor:pointer;transition:.18s}
.btn:hover{border-color:var(--acc);color:var(--acc);box-shadow:0 0 0 1px rgba(56,220,255,.25),0 0 22px rgba(56,220,255,.18);transform:translateY(-1px)}
.btn.primary{background:linear-gradient(100deg,var(--acc),var(--acc2));color:#02121b;border-color:transparent;font-weight:600;box-shadow:0 0 26px rgba(56,220,255,.28)}
.btn.primary:hover{color:#02121b;filter:brightness(1.1);box-shadow:0 0 34px rgba(56,220,255,.45)}

/* ---------- hero ---------- */
.hero{position:relative;padding:96px 0 84px;overflow:hidden}
.hero.compact{padding:64px 0 52px;border-bottom:1px solid var(--line)}
#helix{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.62}
.hero .wrap{position:relative;z-index:2}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:50px}
.stat{background:rgba(15,29,51,.85);padding:19px 20px}
.stat b{display:block;font-family:var(--mono);font-size:1.3rem;color:var(--acc);letter-spacing:-.01em;text-shadow:var(--glow)}
.stat span{font-size:.72rem;color:var(--dimmer);text-transform:uppercase;letter-spacing:.12em;font-family:var(--mono)}

/* ---------- griglie e schede ---------- */
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.card{position:relative;background:linear-gradient(170deg,rgba(19,36,65,.92),rgba(15,29,51,.85));border:1px solid var(--line2);border-radius:12px;padding:26px;transition:.2s}
.card::before{content:"";position:absolute;top:-1px;left:-1px;width:16px;height:16px;border-top:1px solid var(--acc);border-left:1px solid var(--acc);border-radius:12px 0 0 0;opacity:.55}
.card:hover{border-color:rgba(56,220,255,.5);box-shadow:0 0 30px rgba(56,220,255,.10);transform:translateY(-2px)}
.card .num{font-family:var(--mono);font-size:.68rem;color:var(--acc);letter-spacing:.18em;margin-bottom:13px;display:block}
.card p{color:var(--dim);font-size:.93rem;margin:0}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--dim);border:1px solid var(--line2);border-radius:100px;padding:3px 10px}
.portal{display:block;color:inherit}
.portal:hover{color:inherit}
.portal .go{font-family:var(--mono);font-size:.72rem;color:var(--acc);letter-spacing:.14em;margin-top:18px;display:block}

/* ---------- tavole ---------- */
.plate{margin:0;border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:var(--panel);box-shadow:0 0 40px rgba(56,220,255,.07)}
.plate img{width:100%}
.plate figcaption{padding:12px 18px;font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dimmer);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band img{width:100%}

/* ---------- video ---------- */
.vidframe{position:relative;background:#000}
.vidframe video{width:100%;display:block}
.vidframe .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(4,8,15,.18);cursor:pointer;transition:.2s}
.vidframe .play span{width:78px;height:78px;border-radius:50%;border:1px solid var(--acc);background:rgba(4,8,15,.65);display:flex;align-items:center;justify-content:center;color:var(--acc);font-size:1.5rem;padding-left:5px;box-shadow:0 0 30px rgba(56,220,255,.4)}
.vidframe .play:hover span{background:var(--acc);color:#02121b}
.vidframe.playing .play{display:none}

/* ---------- pipeline ---------- */
.pipe{display:grid;gap:10px}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px;background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--acc);border-radius:10px;padding:18px 22px;transition:.18s}
.step:hover{background:var(--panel2);box-shadow:-6px 0 24px rgba(56,220,255,.12)}
.step .k{font-family:var(--mono);font-size:.72rem;color:var(--acc);letter-spacing:.14em;padding-top:3px;text-shadow:var(--glow)}
.step p{margin:4px 0 0;color:var(--dim);font-size:.92rem}
.ref{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:20px}
.ref h4{margin:0 0 6px;font-family:var(--mono);font-size:.84rem;color:var(--acc);letter-spacing:.05em}
.ref p{margin:0;color:var(--dim);font-size:.88rem}

/* ---------- configuratore ---------- */
.conf{background:linear-gradient(165deg,#15294a,#0d1a30);border:1px solid var(--line2);border-radius:14px;padding:30px;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;box-shadow:0 0 60px rgba(56,220,255,.06)}
.field{margin-bottom:20px}
.field label{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);margin-bottom:9px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{font-family:var(--mono);font-size:.77rem;padding:8px 14px;border:1px solid var(--line2);border-radius:7px;background:rgba(15,29,51,.85);color:var(--dim);cursor:pointer;transition:.15s}
.opt:hover{border-color:var(--acc);color:var(--txt)}
.opt.on{background:var(--acc);border-color:var(--acc);color:#02121b;font-weight:600;box-shadow:0 0 20px rgba(56,220,255,.35)}
.readout{background:#0a1526;border:1px solid var(--line2);border-radius:10px;padding:22px;font-family:var(--mono);font-size:.8rem;color:var(--dim);align-self:start}
.readout .r{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px dashed var(--line)}
.readout .r span:last-child{color:var(--acc);text-align:right}
.readout .out{margin-top:16px;color:var(--txt);line-height:1.6;font-size:.78rem}

/* ---------- area riservata ---------- */
.locked{border:1px dashed var(--line2);border-radius:12px;padding:26px;background:repeating-linear-gradient(135deg,rgba(19,36,65,.9),rgba(19,36,65,.9) 10px,rgba(24,45,77,.9) 10px,rgba(24,45,77,.9) 20px)}
.locked .badge{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;color:var(--warn);border:1px solid rgba(255,199,90,.4);border-radius:100px;padding:3px 11px;display:inline-block;margin-bottom:14px}
.consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:.88rem;color:var(--dim)}
.consent input{margin-top:4px;accent-color:var(--acc)}

/* ---------- elenchi, termini, contatti ---------- */
.steps-n{counter-reset:s;display:grid;gap:12px;margin:16px 0 0;padding:0;list-style:none}
.steps-n li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:16px;color:var(--dim);font-size:.93rem;align-items:start}
.steps-n li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:.74rem;color:var(--acc);border:1px solid var(--line2);border-radius:6px;padding:3px 8px}
.term{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin-bottom:14px}
.term h4{margin:0 0 6px;font-size:.95rem;color:var(--acc);font-family:var(--disp)}
.term p{margin:0;color:var(--dim);font-size:.9rem}
.cbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:8px}
.cbox a,.cbox div{background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:20px;display:block;color:var(--txt);transition:.18s}
.cbox a:hover{border-color:var(--acc);box-shadow:0 0 26px rgba(56,220,255,.12);color:var(--txt)}
.cbox b{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);margin-bottom:7px}
.bio{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:start}
.avatar{width:210px;height:210px;border-radius:12px;background:linear-gradient(150deg,var(--panel2),#050b13);border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:2.6rem;color:var(--acc);text-shadow:var(--glow)}
.cred{display:grid;gap:6px;margin-top:18px;font-family:var(--mono);font-size:.8rem;color:var(--dim)}
.note{margin-top:26px;padding:16px 18px;border:1px solid var(--line);border-left:2px solid var(--acc2);border-radius:8px;font-size:.86rem;color:var(--dim);background:rgba(15,29,51,.7)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:44px 0 34px;background:linear-gradient(180deg,rgba(15,29,51,.6),var(--bg))}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:30px}
footer img.flogo{height:40px;width:auto;opacity:.85;margin-bottom:14px;filter:drop-shadow(0 0 12px rgba(56,220,255,.35))}
footer h5{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);margin:0 0 12px}
footer nav{display:grid;gap:8px}
footer nav a{color:var(--dim);font-size:.88rem}
footer nav a:hover{color:var(--acc)}
.quote{font-family:var(--disp);font-style:italic;color:var(--dim);max-width:46ch;margin:0;font-size:.92rem}
.fbot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem;color:var(--dimmer);border-top:1px solid var(--line);padding-top:20px}
.disclaimer{margin-top:18px;font-size:.76rem;color:var(--dimmer);max-width:90ch}

@media(max-width:900px){.conf{grid-template-columns:1fr}.bio{grid-template-columns:1fr}.avatar{width:150px;height:150px}.fgrid{grid-template-columns:1fr;gap:24px}}
@media(max-width:1080px){
  nav.main{position:fixed;top:77px;left:0;right:0;background:#0d1a2f;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 18px;display:none;max-height:calc(100vh - 77px);overflow:auto}
  nav.main.open{display:flex}
  nav.main a{padding:14px 0;width:100%;border-bottom:1px solid var(--line);font-size:1.15rem}
  nav.main a.here{border-bottom:1px solid var(--line);color:var(--acc)}
  .burger{display:block;margin-left:auto;order:3}
  .lang{order:2;margin-left:auto}
}
@media(max-width:780px){
  .brand img{height:42px}
  nav.main{top:67px;max-height:calc(100vh - 67px)}
  #helix{opacity:.28}
  .brand span{display:none}
  section{padding:56px 0}
  .hero{padding:56px 0 52px}
}

/* ---------- hero a due colonne con ritratto ---------- */
.hgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero2 h1{font-size:clamp(2.4rem,5.2vw,4rem)}
.hero2 h1 em{font-style:italic;font-weight:700;color:var(--gold);text-shadow:0 0 30px rgba(227,185,106,.35)}
.tagline{font-family:var(--disp);font-size:1.15rem;color:var(--acc);margin:18px 0 0;text-shadow:var(--glow)}
.tagline strong{color:#fff}
.phone-wrap{display:flex;justify-content:center}
.phone{position:relative;width:min(340px,100%);aspect-ratio:720/884;border-radius:34px;overflow:hidden;border:1px solid rgba(56,220,255,.45);box-shadow:0 0 0 6px rgba(9,20,37,.9),0 0 60px rgba(56,220,255,.25),0 30px 60px rgba(0,0,0,.5);background:#050b14}
.phone video{width:100%;height:100%;object-fit:cover}
.phone::after{content:"";position:absolute;left:50%;bottom:10px;width:34%;height:4px;border-radius:4px;background:rgba(255,255,255,.55);transform:translateX(-50%)}
.chip{position:absolute;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:#eaf6ff;background:rgba(9,20,37,.82);border:1px solid rgba(56,220,255,.4);border-radius:100px;padding:6px 11px;backdrop-filter:blur(6px);display:flex;align-items:center;gap:7px;box-shadow:0 0 18px rgba(56,220,255,.18)}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px var(--acc);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.chip.c1{top:14px;left:14px}
.chip.c2{top:50%;right:12px;transform:translateY(-50%)}
.chip.c3{left:14px;right:14px;bottom:26px;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 13px}
.chip.c3 b{color:var(--acc);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}
.chip.c3 span{font-family:var(--disp);font-size:.9rem;letter-spacing:0;color:#fff}
@media(max-width:900px){.hgrid{grid-template-columns:1fr;gap:34px}.phone{width:min(300px,100%)}}
