/* 1primeserver — sito pubblico. Scuro, essenziale, tutto in un foglio solo. */
:root{
  --nero:#07080B; --carta:#F3F4F7; --grigio:#A9AEBC; --grigio-scuro:#6E7486;
  --arancio:#FF7A57; --arancio-cupo:#D9391A; --arancio-chiaro:#FFC9A8;
  --verde:#45E39B; --bordo:rgba(255,255,255,.1); --bordo-forte:rgba(255,255,255,.2);
  --velo:rgba(255,255,255,.04); --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{
  margin:0;background:var(--nero);color:var(--carta);
  font-family:'Instrument Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
h1,h2,h3{margin:0;letter-spacing:-.035em;font-weight:600;line-height:1.04}
h1{font-size:clamp(40px,7.2vw,92px)}
h2{font-size:clamp(32px,4.8vw,62px)}
h3{font-size:clamp(19px,2.2vw,23px)}
p{margin:0;line-height:1.6;color:var(--grigio)}
a{color:var(--arancio);text-decoration:none}
img,svg{max-width:100%}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
.muted{color:var(--grigio)}
.small{font-size:14px}
.xs{font-size:13px;color:var(--grigio-scuro);line-height:1.6}
.eyebrow{font-size:13px;letter-spacing:.16em;color:var(--arancio);text-transform:uppercase}
.grad{background:linear-gradient(100deg,#FF7A57 0%,#FFC9A8 30%,#FF7A57 60%,#FFC9A8 100%);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:sweep 7s linear infinite}

/* animazioni */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes glow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes sweep{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes grow{from{width:0}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.3,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* marchio */
.logo{display:inline-flex;align-items:center;gap:11px;color:var(--carta)}
.mark{display:inline-flex;width:34px;height:34px;border-radius:11px;flex-shrink:0;
  background:linear-gradient(140deg,var(--arancio) 0%,var(--arancio-cupo) 100%);
  align-items:flex-end;justify-content:center;gap:3px;padding-bottom:9px;
  box-shadow:0 6px 18px rgba(217,57,26,.45)}
.mark i{width:3.5px;border-radius:2px;background:rgba(255,255,255,.78);display:block}
.mark i:nth-child(1){height:7px}
.mark i:nth-child(2){height:11px;background:rgba(255,255,255,.9)}
.mark i:nth-child(3){height:15px;background:#fff}
.wordmark{font-size:18px;font-weight:600;letter-spacing:-.03em}
.wordmark span{opacity:.55;font-weight:400}

/* testata */
header.top{position:sticky;top:0;z-index:30;padding:16px 0}
.bar{display:flex;align-items:center;gap:clamp(16px,3vw,36px);padding:12px 20px;border-radius:18px;
  background:rgba(14,16,22,.78);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.bar nav{display:flex;gap:clamp(14px,2.4vw,28px);flex-grow:1;font-size:15px;color:var(--grigio)}
.bar nav a{color:inherit;transition:opacity .3s}
.bar nav a:hover{opacity:.6}
.bar .accedi{font-size:15px;color:var(--grigio)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 24px;
  border-radius:999px;font-size:16px;font-weight:600;border:1px solid transparent;cursor:pointer;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,background .35s,border-color .35s}
.btn:hover{transform:translateY(-2px)}
.btn-chiaro{background:var(--carta);color:var(--nero)}
.btn-arancio{background:linear-gradient(135deg,var(--arancio),#E03D19);color:#fff;
  box-shadow:0 16px 40px rgba(224,61,25,.35)}
.btn-vuoto{border-color:var(--bordo-forte);color:var(--carta);font-weight:500}
.btn-vuoto:hover{border-color:rgba(255,255,255,.4)}
.btn-grande{height:58px;padding:0 30px;font-size:17px}

/* bagliori di sfondo */
.alone{position:absolute;border-radius:50%;pointer-events:none;filter:blur(10px);animation:glow 9s ease-in-out infinite}
.alone-1{top:-220px;left:22%;width:760px;height:760px;
  background:radial-gradient(circle,rgba(255,106,71,.34) 0%,rgba(255,106,71,0) 68%)}
.alone-2{top:620px;right:-160px;width:520px;height:520px;animation-duration:11s;
  background:radial-gradient(circle,rgba(88,120,255,.22) 0%,rgba(88,120,255,0) 70%)}

/* apertura */
.hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,108px) 0 0;text-align:center}
.hero-in{display:flex;flex-direction:column;align-items:center;gap:26px}
.pillola{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);background:var(--velo);font-size:14px;color:#D3D7E0}
.punto{width:7px;height:7px;border-radius:50%;background:var(--verde);animation:blink 2.4s ease-in-out infinite;flex-shrink:0}
.hero h1{max-width:980px}
.hero p.guida{max-width:700px;font-size:clamp(17px,2vw,21px);line-height:1.55}
.azioni{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* finta console */
.console{position:relative;margin-top:30px;width:100%;max-width:1000px}
.console-luce{position:absolute;inset:40px 80px -10px 80px;border-radius:40px;filter:blur(30px);
  background:radial-gradient(ellipse at center,rgba(255,122,87,.35),rgba(255,122,87,0) 70%)}
.console-corpo{position:relative;border-radius:26px;border:1px solid var(--bordo);padding:20px;
  background:linear-gradient(180deg,rgba(23,26,34,.96),rgba(12,14,19,.96));
  box-shadow:0 50px 120px rgba(0,0,0,.65);display:flex;gap:20px;text-align:left;animation:float 8s ease-in-out infinite}
.console-lato{width:210px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding-right:20px;
  border-right:1px solid rgba(255,255,255,.07)}
.console-lato b{font-size:12px;letter-spacing:.14em;color:var(--grigio-scuro);font-weight:500}
.console-lato span{padding:10px 12px;font-size:15px;color:#8D93A4;border-radius:12px}
.console-lato span.attivo{background:rgba(255,122,87,.14);color:#FFB49A;font-weight:600}
.console-corpo>div:last-child{flex-grow:1;display:flex;flex-direction:column;gap:16px;min-width:0}
.console-riga{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.console-riga b{font-size:16px}
.console-riga .indice{margin-left:auto;font-size:13px;color:#8D93A4}
.console-riga .voto{font-size:26px;font-weight:600;letter-spacing:-.02em}
.misure{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.misura{border-radius:16px;background:var(--velo);border:1px solid rgba(255,255,255,.07);padding:16px;
  display:flex;flex-direction:column;gap:10px}
.misura span{font-size:13px;color:#8D93A4}
.misura b{font-size:22px;font-weight:600}
.misura b em{font-size:13px;color:#8D93A4;font-weight:400;font-style:normal}
.barra{height:6px;border-radius:3px;background:rgba(255,255,255,.08)}
.barra i{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--arancio),var(--arancio-chiaro));
  animation:grow 1.8s cubic-bezier(.2,.7,.3,1) both .5s}
.barra.verde i{background:linear-gradient(90deg,var(--verde),#B6F5D8)}
.nota-ai{border-radius:16px;background:rgba(255,122,87,.08);border:1px solid rgba(255,122,87,.22);
  padding:16px;display:flex;gap:12px;align-items:center}
.nota-ai .icona{display:inline-flex;width:34px;height:34px;border-radius:11px;flex-shrink:0;
  background:linear-gradient(140deg,var(--arancio),var(--arancio-cupo));align-items:center;justify-content:center}
.nota-ai p{font-size:15px;color:#F3D6CB;line-height:1.5}

/* nastro */
.nastro{position:relative;margin-top:74px;padding:22px 0;overflow:hidden;
  border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.nastro div{display:flex;gap:56px;width:max-content;animation:marquee 26s linear infinite;
  font-size:15px;color:var(--grigio-scuro);white-space:nowrap}

/* sezioni */
section{position:relative}
.sez{padding:clamp(64px,8vw,104px) 0}
.sez-testa{max-width:760px;display:flex;flex-direction:column;gap:18px;margin-bottom:48px}
.sez-testa p{font-size:clamp(16px,1.8vw,19px)}
.numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.numero{border-radius:24px;border:1px solid var(--bordo);background:var(--velo);padding:32px;
  display:flex;flex-direction:column;gap:12px;transition:transform .5s cubic-bezier(.2,.7,.3,1),border-color .5s}
.numero:hover{transform:translateY(-6px);border-color:var(--bordo-forte)}
.numero b{font-size:clamp(44px,6vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1}
.numero b em{font-size:22px;color:var(--grigio);font-style:normal;font-weight:400;margin-left:6px}
.numero p{font-size:15px}
.due{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(24px,4vw,56px);align-items:center}
.elenco{display:flex;flex-direction:column;gap:14px;margin:28px 0 0;padding:0;list-style:none}
.elenco li{display:flex;gap:12px;align-items:flex-start;color:var(--grigio);font-size:16px;line-height:1.5}
.spunta{flex-shrink:0;margin-top:2px;color:var(--verde)}

/* chat AI */
.chat{border-radius:26px;border:1px solid var(--bordo);background:linear-gradient(180deg,rgba(23,26,34,.95),rgba(12,14,19,.95));
  padding:26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.bolla{border-radius:18px;padding:16px 18px;font-size:15.5px;line-height:1.55}
.bolla.mia{background:rgba(255,255,255,.06);color:var(--carta);align-self:flex-end;max-width:85%}
.bolla.sua{background:rgba(255,122,87,.08);border:1px solid rgba(255,122,87,.2);color:#EBD7CF}
.proposta{border-radius:18px;border:1px dashed rgba(255,255,255,.18);padding:16px 18px;display:flex;
  gap:12px;align-items:center;flex-wrap:wrap}
.proposta b{font-size:11px;letter-spacing:.14em;color:var(--grigio-scuro);font-weight:600;width:100%}
.proposta span{font-size:15px;flex-grow:1}
.mini{height:38px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid var(--bordo-forte);
  background:transparent;color:var(--carta);cursor:pointer}
.mini.si{background:var(--arancio);border-color:var(--arancio);color:#fff}

/* schede */
.schede{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.scheda{border-radius:24px;border:1px solid var(--bordo);background:var(--velo);padding:30px;
  display:flex;flex-direction:column;gap:12px;transition:transform .5s cubic-bezier(.2,.7,.3,1),border-color .5s}
.scheda:hover{transform:translateY(-6px);border-color:var(--bordo-forte)}
.scheda p{font-size:15.5px}

/* piani */
.piani{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;align-items:stretch}
.piano{position:relative;border-radius:26px;border:1px solid var(--bordo);background:var(--velo);padding:30px 26px;
  display:flex;flex-direction:column;gap:14px;transition:transform .5s cubic-bezier(.2,.7,.3,1),border-color .5s}
.piano:hover{transform:translateY(-6px);border-color:var(--bordo-forte)}
.piano.scelto{border-color:rgba(255,122,87,.55);background:rgba(255,122,87,.07)}
.piano .targa{position:absolute;top:-11px;left:26px;padding:4px 12px;border-radius:999px;font-size:11px;
  letter-spacing:.12em;font-weight:600;background:linear-gradient(135deg,var(--arancio),#E03D19);color:#fff}
.piano h3{font-size:22px}
.prezzo{font-size:38px;font-weight:600;letter-spacing:-.04em}
.prezzo em{font-size:15px;color:var(--grigio);font-style:normal;font-weight:400;display:block;margin-top:4px;letter-spacing:0}
.piano ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.piano li{font-size:15px;color:var(--grigio);display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.piano .btn{width:100%;margin-top:6px}

/* tabella */
.tabella{width:100%;border-collapse:collapse;font-size:15px;margin-top:8px}
.tabella th,.tabella td{padding:16px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}
.tabella thead th{font-size:13px;letter-spacing:.08em;color:var(--grigio-scuro);text-transform:uppercase;font-weight:600}
.tabella td{color:var(--grigio)}
.tabella td:first-child{color:var(--carta)}
.scorri{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* domande */
.domanda{border-bottom:1px solid rgba(255,255,255,.08);padding:22px 0}
.domanda summary{cursor:pointer;font-size:clamp(17px,2vw,20px);font-weight:600;letter-spacing:-.02em;
  list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.domanda summary::-webkit-details-marker{display:none}
.domanda summary::after{content:"+";color:var(--arancio);font-size:24px;font-weight:400;transition:transform .3s}
.domanda[open] summary::after{transform:rotate(45deg)}
.domanda p{margin-top:14px;font-size:16px;max-width:760px}

/* chiusura */
.chiusura{border-radius:32px;border:1px solid var(--bordo);padding:clamp(34px,6vw,64px);
  background:linear-gradient(140deg,rgba(255,122,87,.14),rgba(12,14,19,.9) 60%);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,48px);align-items:center}
.campo{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;font-size:14px;color:var(--grigio)}
.campo input,.campo textarea{background:rgba(255,255,255,.05);border:1px solid var(--bordo);border-radius:14px;
  padding:14px 16px;color:var(--carta);font:inherit;font-size:16px;width:100%}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo textarea:focus{outline:2px solid rgba(255,122,87,.6);outline-offset:1px;border-color:transparent}

footer{border-top:1px solid rgba(255,255,255,.08);padding:34px 0 46px;margin-top:40px}
.piede{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;
  font-size:13.5px;color:var(--grigio-scuro)}
.piede nav{display:flex;gap:22px}
.piede nav a{color:var(--grigio-scuro)}
.piede nav a:hover{color:var(--carta)}

@media(max-width:860px){
  .bar nav,.bar .accedi{display:none}
  .console-corpo{flex-direction:column}
  .console-lato{width:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.07);padding:0 0 14px;
    flex-direction:row;overflow-x:auto;gap:6px}
  .console-lato b{display:none}
  .misure{grid-template-columns:1fr}
  .alone-1{left:-20%;width:520px;height:520px}
}


/* ===== la macchina: server in tre dimensioni, aperto ===== */
.scena{position:relative;overflow:hidden}
.palco{position:relative;display:grid;place-items:center;min-height:clamp(380px,52vw,620px);
  perspective:1500px;perspective-origin:50% 42%;margin-top:clamp(20px,4vw,46px)}
.palco::before{content:"";position:absolute;width:min(900px,92%);height:340px;top:46%;transform:translateY(-50%);
  background:radial-gradient(ellipse at center,rgba(255,122,87,.3),rgba(255,122,87,0) 70%);filter:blur(30px);
  animation:glow 10s ease-in-out infinite;pointer-events:none}
.palco::after{content:"";position:absolute;bottom:12%;width:min(620px,70%);height:70px;border-radius:50%;
  background:rgba(0,0,0,.65);filter:blur(34px)}
.macchina{position:relative;width:min(640px,84vw);aspect-ratio:16/9;transform-style:preserve-3d;
  transform:rotateX(58deg) rotateZ(var(--giro,-28deg));animation:gira 26s ease-in-out infinite}
@keyframes gira{0%,100%{transform:rotateX(58deg) rotateZ(-31deg)}50%{transform:rotateX(54deg) rotateZ(-24deg)}}
.macchina>*{position:absolute}
.telaio{inset:0;border-radius:14px;transform-style:preserve-3d;overflow:visible;
  background:linear-gradient(140deg,#20232B 0%,#14161C 48%,#0D0F14 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 60px rgba(0,0,0,.6)}
.sponda{position:absolute;background:linear-gradient(180deg,#2A2E38,#12141A);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.sponda.n{left:0;right:0;top:0;height:34px;transform-origin:top;transform:rotateX(-90deg)}
.sponda.s{left:0;right:0;bottom:0;height:34px;transform-origin:bottom;transform:rotateX(90deg)}
.sponda.o{top:0;bottom:0;left:0;width:34px;transform-origin:left;transform:rotateY(90deg)}
.sponda.e{top:0;bottom:0;right:0;width:34px;transform-origin:right;transform:rotateY(-90deg)}
.scheda-madre{inset:7% 6%;border-radius:8px;transform:translateZ(6px);
  background:
   repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 26px),
   repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 26px),
   linear-gradient(140deg,#16202A,#0E151C);
  box-shadow:inset 0 0 0 1px rgba(120,180,255,.12)}
.pezzo{position:absolute;border-radius:6px;transform-style:preserve-3d}
.cpu{left:31%;top:30%;width:22%;height:36%;transform:translateZ(16px);border-radius:8px;overflow:hidden;
  background:linear-gradient(140deg,#FFB49A,#E8683F 45%,#8E2E14);
  box-shadow:0 0 34px rgba(255,122,87,.75),inset 0 0 0 1px rgba(255,255,255,.35);
  display:grid;place-items:center;font-size:11px;font-weight:700;color:#3A1409;letter-spacing:.04em;
  animation:pulsa 4.5s ease-in-out infinite}
@keyframes pulsa{0%,100%{box-shadow:0 0 26px rgba(255,122,87,.6),inset 0 0 0 1px rgba(255,255,255,.3)}
  50%{box-shadow:0 0 52px rgba(255,122,87,.95),inset 0 0 0 1px rgba(255,255,255,.45)}}
.cpu::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 2px,transparent 2px 9px)}
.cpu span{position:relative;z-index:1}
.ram{left:57%;top:20%;width:4.5%;height:58%;transform:translateZ(13px);
  background:linear-gradient(180deg,#39404F,#1B1F27);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ram.b{left:63%}.ram.c{left:69%}.ram.d{left:75%}
.ram::after{content:"";position:absolute;inset:14% 18%;border-radius:2px;background:rgba(120,180,255,.22)}
.nvme{left:8%;top:22%;width:17%;height:12%;transform:translateZ(11px);
  background:linear-gradient(120deg,#2E3543,#171B22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.nvme.b{top:44%}
.nvme i{position:absolute;right:8%;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;
  background:var(--verde);box-shadow:0 0 10px var(--verde);animation:blink 1.8s ease-in-out infinite}
.nvme.b i{animation-delay:.6s}
.ventola{left:9%;top:64%;width:15%;height:26%;transform:translateZ(12px);border-radius:50%;
  background:radial-gradient(circle,#232833 40%,#12151B 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.ventola.b{left:26%}
.ventola::before{content:"";position:absolute;inset:16%;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(255,255,255,.16) 0 12%,transparent 12% 25%,rgba(255,255,255,.16) 25% 37%,transparent 37% 50%,rgba(255,255,255,.16) 50% 62%,transparent 62% 75%,rgba(255,255,255,.16) 75% 87%,transparent 87%);
  animation:ruota 2.6s linear infinite}
@keyframes ruota{to{transform:rotate(360deg)}}
.rete{left:84%;top:30%;width:9%;height:34%;transform:translateZ(10px);
  background:linear-gradient(180deg,#2A303C,#14171E);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.rete i{position:absolute;left:50%;top:14%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;
  background:#7FB4FF;box-shadow:0 0 10px #7FB4FF;animation:blink 1.2s ease-in-out infinite}
/* il coperchio di vetro, sollevato: si vede dentro */
.coperchio{inset:0;border-radius:14px;transform:translateZ(var(--stacco,86px));overflow:hidden;
  background:linear-gradient(135deg,rgba(190,214,255,.14),rgba(255,255,255,.03) 42%,rgba(255,122,87,.1));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 30px 60px rgba(0,0,0,.45);
  transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.coperchio::after{content:"";position:absolute;inset:-60% -30%;
  background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.16) 50%,transparent 60%);
  animation:lucido 8s ease-in-out infinite}
@keyframes lucido{0%,70%,100%{transform:translateX(-25%)}35%{transform:translateX(25%)}}
.palco:hover .coperchio{transform:translateZ(calc(var(--stacco,86px) + 34px))}
/* etichette con filo verso il pezzo */
.targhette{position:absolute;inset:0;pointer-events:none}
.targhetta{position:absolute;display:flex;align-items:center;gap:10px;font-size:13.5px;color:#D3D7E0;
  background:rgba(14,16,22,.82);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 14px;
  backdrop-filter:blur(8px);white-space:nowrap;opacity:0;transform:translateY(10px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.targhetta b{font-weight:600;color:#fff}
.targhetta::before{content:"";position:absolute;height:1px;width:56px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent)}
.targhetta.sx::before{right:-56px}
.targhetta.dx::before{left:-56px;background:linear-gradient(270deg,rgba(255,255,255,.5),transparent)}
.scena.on .targhetta{opacity:1;transform:none}
.targhetta.t1{left:2%;top:26%;transition-delay:.15s}
.targhetta.t2{left:2%;top:52%;transition-delay:.3s}
.targhetta.t3{right:2%;top:32%;transition-delay:.45s}
.targhetta.t4{right:2%;top:60%;transition-delay:.6s}
@media(max-width:820px){
  /* su schermo stretto: macchina più frontale, etichette sotto in fila */
  .palco{min-height:0;padding:10px 0 0;perspective:900px}
  .palco::before{height:240px;top:40%}
  .palco::after{width:72%;height:44px;bottom:2%;filter:blur(26px)}
  .macchina{animation:gira-corta 22s ease-in-out infinite;transform:rotateX(52deg) rotateZ(-16deg)}
  @keyframes gira-corta{0%,100%{transform:rotateX(52deg) rotateZ(-18deg)}50%{transform:rotateX(48deg) rotateZ(-12deg)}}
  .targhette{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;padding:0 16px}
  .targhetta{position:static;opacity:1;transform:none;font-size:12.5px;padding:7px 12px}
  .targhetta::before{display:none}
  .macchina{width:78vw}
}
.didascalie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:clamp(24px,4vw,44px)}
.didascalia{display:flex;flex-direction:column;gap:8px}
.didascalia b{font-size:16px}
.didascalia p{font-size:14.5px}

/* numeri che salgono */
.numero b{font-variant-numeric:tabular-nums}

/* lingua */
.lingue{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--grigio-scuro)}
.lingue a{color:var(--grigio-scuro);padding:4px 7px;border-radius:7px}
.lingue a.attiva{color:var(--carta);background:rgba(255,255,255,.08)}
@media(max-width:860px){.lingue{margin-left:auto}}

/* ===== muro di rack dietro l'apertura ===== */
.rack{position:absolute;inset:0;overflow:hidden;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 20%,transparent 78%);
          mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 20%,transparent 78%)}
.rack-griglia{position:absolute;left:50%;top:-6%;width:170%;height:118%;transform:translateX(-50%) perspective(900px) rotateX(16deg);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;opacity:.5}
@media(max-width:700px){.rack-griglia{opacity:.75;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.unita{height:22px}}
.unita{height:26px;border-radius:5px;background:linear-gradient(90deg,#161A22,#0E1116);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);display:flex;align-items:center;gap:5px;padding:0 9px}
.unita i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.14);flex-shrink:0}
.unita i.v{background:#45E39B;box-shadow:0 0 7px #45E39B;animation:blink 2.6s ease-in-out infinite}
.unita i.a{background:var(--arancio);box-shadow:0 0 7px var(--arancio);animation:blink 3.4s ease-in-out infinite}
.unita b{margin-left:auto;height:9px;width:42%;border-radius:2px;background:rgba(255,255,255,.05)}

/* ===== mappa dei nodi ===== */
.mappa{position:relative;border-radius:28px;border:1px solid var(--bordo);overflow:hidden;
  background:radial-gradient(ellipse at 40% 20%,rgba(255,122,87,.16),rgba(14,17,24,.96) 62%);
  padding:clamp(20px,3vw,34px);margin-top:clamp(24px,4vw,40px)}
.mappa svg{display:block;width:100%;height:auto}
.punti circle{opacity:.22;fill:#8FA3C8}
.pop{fill:var(--arancio)}
.pop-alone{fill:none;stroke:var(--arancio);stroke-width:1.2;opacity:.9;transform-origin:center;transform-box:fill-box;
  animation:onda 3.2s ease-out infinite}
.pop-alone.b{animation-delay:1.1s}.pop-alone.c{animation-delay:2.2s}
@keyframes onda{0%{r:4;opacity:.85}100%{r:26;opacity:0}}
.arco{fill:none;stroke:url(#filo);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:6 210;
  animation:corre 4.6s linear infinite}
.arco.b{animation-delay:1.5s}.arco.c{animation-delay:3s}
@keyframes corre{to{stroke-dashoffset:-216}}
.mappa-legenda{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:14px;color:var(--grigio)}
.mappa-legenda span{display:flex;align-items:center;gap:8px}
.mappa-legenda i{width:8px;height:8px;border-radius:50%;background:var(--arancio);box-shadow:0 0 10px var(--arancio)}
.mappa-legenda i.presto{background:#5B6070;box-shadow:none}

/* ===== menu su telefono ===== */
.apri-menu{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--bordo);background:rgba(255,255,255,.04);color:var(--carta);cursor:pointer;flex-shrink:0}
.apri-menu svg{width:20px;height:20px}
.menu-telefono{display:none;flex-direction:column;gap:2px;margin-top:10px;padding:12px;border-radius:18px;
  background:rgba(14,16,22,.96);border:1px solid var(--bordo);backdrop-filter:blur(14px)}
.menu-telefono a{padding:13px 12px;border-radius:12px;color:var(--carta);font-size:16px}
.menu-telefono a:active{background:rgba(255,255,255,.06)}
.menu-telefono .btn{margin-top:8px}
body.menu-aperto .menu-telefono{display:flex;animation:rise .35s cubic-bezier(.2,.7,.3,1) both}
@media(max-width:860px){
  .apri-menu{display:inline-flex}
  .bar{padding:10px 12px;gap:10px}
  .bar .btn-chiaro{display:none}
  .lingue{margin-left:auto}
  .wordmark{font-size:16px}
}
@media(min-width:861px){.menu-telefono{display:none!important}}

/* ===== rifiniture su telefono ===== */
@media(max-width:700px){
  .console-lato{display:none}
  .console-corpo{padding:14px}
  .console-riga{gap:8px}
  .console-riga .indice{margin-left:0;order:3}
  .console-riga .voto{margin-left:auto;order:4}
  .misure{gap:9px}
  .sez{padding:clamp(52px,9vw,80px) 0}
  .hero{padding-top:34px}
  .hero-in{gap:20px}
  .palco{min-height:0}
  .macchina{width:80vw}
  .targhette{margin-top:26px}
  .didascalie{gap:16px}
  .numeri{gap:14px}
  .numero{padding:24px}
  .chiusura{padding:26px}
  .nastro{margin-top:44px}
  /* le schede entrano alternate: si vede che la pagina si muove */
  .reveal:nth-child(odd){transform:translateY(20px) translateX(-14px)}
  .reveal:nth-child(even){transform:translateY(20px) translateX(14px)}
  .reveal.on{transform:none}
}

/* ===== chat commerciale di Prime AI nel sito ===== */
.chat{border-radius:26px;border:1px solid var(--bordo);background:linear-gradient(180deg,rgba(23,26,34,.95),rgba(12,14,19,.95));
  padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 40px 90px rgba(0,0,0,.5);min-height:340px}
.chat-righe{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding-right:4px}
.chat-bolla{border-radius:16px;padding:13px 15px;font-size:15.5px;line-height:1.55;max-width:92%}
.chat-bolla.ai{background:rgba(255,122,87,.08);border:1px solid rgba(255,122,87,.2);color:#EBD7CF;align-self:flex-start}
.chat-bolla.io{background:rgba(255,255,255,.07);color:var(--carta);align-self:flex-end}
.chat-bolla.attesa{color:#B79C93;font-style:italic}
.chat-bolla.errore{background:rgba(255,90,70,.1);border-color:rgba(255,90,70,.3);color:#F0C5BB}
.chat-bolla a{color:var(--arancio-chiaro);text-decoration:underline}
.chat-nota{display:block;margin-top:8px;font-size:13px;color:var(--verde)}
.chat-spunti{display:flex;flex-wrap:wrap;gap:8px}
.chat-spunto{border:1px solid var(--bordo);background:var(--velo);color:var(--grigio);border-radius:999px;
  padding:8px 13px;font:inherit;font-size:13.5px;cursor:pointer;transition:border-color .3s,color .3s}
.chat-spunto:hover{border-color:var(--bordo-forte);color:var(--carta)}
.chat-scrivi{display:flex;gap:10px;margin-top:auto}
.chat-scrivi input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid var(--bordo);border-radius:14px;
  padding:13px 15px;color:var(--carta);font:inherit;font-size:16px}
.chat-scrivi input:focus{outline:2px solid rgba(255,122,87,.6);outline-offset:1px;border-color:transparent}
.chat-scrivi .btn{height:48px;width:48px;padding:0;border-radius:14px;flex-shrink:0}
.servizi{align-items:stretch}.servizio{display:flex;flex-direction:column;gap:14px}.servizio .prezzo-s{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.02em;color:#ffb18c;background:rgba(255,122,87,.14);border:1px solid rgba(255,122,87,.32);border-radius:30px;padding:6px 14px}.servizio h3{font-size:24px;margin:0}.servizio .elenco{margin-top:4px;display:flex;flex-direction:column;gap:12px;list-style:none;padding:0}
.bar nav a{white-space:nowrap}
.sez[id],section[id]{scroll-margin-top:96px}
