/* Revisione grafica v2-v4 (skill frontend-design). Sovrascrive base.css. */
/* ===== v2: revisione grafica (frontend-design) =====
   Token: grigio lamiera #f4f5f6 | bianco #fff | nero EXON #15181c | grigio logo #aab2ba | rosso EXON #e1261c | grafite #2b3137
   Tipo: Archivo, larghezza 125 per titoli (come le targhe macchina), 100 per il testo.
   Principi: un solo momento animato (la simulazione in apertura); struttura che porta informazione; niente etichette decorative. */
:root{--r:12px;--graphite:#2b3137;--rail:#aab2ba}
.v2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* movimento: niente comparse a scorrimento, niente effetti calamita */
.rv,.rv.in{opacity:1!important;transform:none!important;transition:none!important}

/* titoli */
h1{font-stretch:125%;font-weight:800;letter-spacing:-.03em}
.sh h2{font-stretch:125%;font-weight:800;letter-spacing:-.03em}
.sh .k,.cta2-k{display:none}

/* pulsanti: angoli netti come i comandi a bordo macchina, nessun alone */
.btn{border-radius:6px;height:50px;padding:0 22px;font-weight:650;gap:0}
.btn .ar{display:none}
.btn.red{box-shadow:none;transition:background .2s}
.btn.red::before{display:none}
.btn.red:hover{background:#c41d14}
.btn.ghost{transition:border-color .2s}
.btn.ghost:hover{border-color:var(--ink)}
.btn.sm{height:42px}

/* superfici */
.spot,.hcard,.offc{border-radius:var(--r)}
.spot:hover,.hcard:hover,.offc:hover{box-shadow:none}
.offc:hover{border-color:var(--rail)}

/* ---------- HERO ---------- */
.v2h h1{font-size:clamp(38px,4.9vw,74px);line-height:.98;max-width:12.5em;color:#fff;margin-bottom:24px}
.v2h .lead{max-width:36em}
.v2h .ctas{display:flex;flex-wrap:wrap;gap:12px}
.v2h .btn.ghost{border-radius:6px}
.v2h .vh-meta{gap:8px}
.vm-k{font-size:13px;color:#aab2bb}
.v2h .vh-meta a{padding:0;background:none;border:0;border-radius:0;backdrop-filter:none;font-size:17px;font-weight:700;font-stretch:112%;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:5px}
.v2h .vh-meta a:hover{background:none;text-decoration-color:var(--red)}
.v2h .hm-dots{gap:4px;margin-top:6px}
.v2h .hm-dots button{width:14px;height:4px;border-radius:0;background:#4a525c}
.v2h .hm-dots button.on{width:14px;background:var(--red)}
.v2h .hm-dots button:focus-visible{outline-offset:4px}

/* ---------- CLIENTI ---------- */
.cli{background:var(--paper);border-bottom:1px solid var(--line)}
.cli-in{display:flex;align-items:baseline;gap:14px 40px;padding:24px 0;flex-wrap:wrap}
.cli-l{font-size:14px;font-weight:600;color:var(--muted);flex:none}
.cli ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 34px}
.cli li{font-size:clamp(18px,1.7vw,22px);font-weight:780;font-stretch:118%;color:#8a929b;letter-spacing:-.01em}

/* ---------- TESTATA SEZIONI v2 ---------- */
.v2-h{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;margin-bottom:56px}
.v2-h h2{margin:0;font-size:clamp(32px,4.1vw,56px);line-height:1;font-stretch:125%;font-weight:800;letter-spacing:-.03em;max-width:14em}
.v2-h p{margin:0;color:var(--muted);font-size:17.5px;max-width:34em}

/* ---------- LA LINEA ---------- */
.ln{background:var(--paper);border-bottom:1px solid var(--line)}
.ln-rail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,7),minmax(0,1fr));position:relative}
.ln-rail::before{content:"";position:absolute;left:0;right:0;top:15px;height:8px;background:repeating-linear-gradient(90deg,var(--rail) 0 3px,transparent 3px 11px);border-top:1px solid var(--rail);border-bottom:1px solid var(--rail)}
.stn{position:relative;padding:0 16px 0 0;display:flex;flex-direction:column}
.st-n{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:38px;color:#fff;font-weight:800;font-stretch:120%;font-size:16px;background:var(--ink);clip-path:polygon(24% 0,100% 0,76% 100%,0 100%);transition:background .2s}
.stn.on .st-n{background:var(--red)}
.stn h3{margin:18px 0 4px;font-size:18px;font-stretch:118%;font-weight:780;line-height:1.15}
.stn>p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.4;min-height:2.8em}
.st-m{display:flex;flex-direction:column;gap:8px}
#linea [data-s]{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;padding:5px 10px 5px 5px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-size:13.5px;font-weight:620;line-height:1.25;color:var(--ink);transition:border-color .2s,background .2s}
#linea [data-s] img{width:56px;height:42px;object-fit:contain;background:#fff;border-radius:5px;padding:2px}
#linea [data-s]:hover{border-color:var(--rail)}
#linea [data-s][aria-pressed=true]{border-color:var(--red);background:var(--paper);box-shadow:inset 0 0 0 1px var(--red)}
#linea [data-s]:focus-visible{outline:3px solid #2f6bff;outline-offset:2px}

.ln-v{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:40px;margin-top:48px;align-items:start}
.ln-v .animbox{margin:0;border-radius:var(--r);box-shadow:none}
.ln-v .ahud{border-radius:6px}
.ln-v .aplay{border-radius:6px}
.ln-st{margin:0 0 8px;font-size:14px;font-weight:650;color:var(--red)}
.ln-d h3{margin:0 0 10px;font-size:clamp(24px,2.3vw,30px);font-stretch:120%;font-weight:800;line-height:1.08;letter-spacing:-.02em}
.ln-d>p:not(.ln-st){margin:0 0 20px;color:var(--muted);font-size:16px}
.ln-steps{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line)}
.ln-steps li{border-bottom:1px solid var(--line)}
.ln-steps button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:26px 1fr;gap:10px;width:100%;padding:11px 0;font-size:14.5px;line-height:1.4;color:var(--muted)}
.ln-steps button em{font-style:normal;font-weight:800;font-stretch:120%;color:var(--rail)}
.ln-steps button.on{color:var(--ink)}
.ln-steps button.on em{color:var(--red)}
.ln-steps button:focus-visible{outline:3px solid #2f6bff;outline-offset:2px}

.ln-x{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.ln-xi p{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--muted)}
.ln-xi [data-s]{width:100%}
.ln-all .btn{width:100%;justify-content:center;height:54px}

/* ---------- SU MISURA ---------- */
.smz-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.smz-l{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.smz-l li{border-bottom:1px solid var(--line)}
.smz-l a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;padding:18px 0}
.smz-l img,.smz-l .noimg{width:120px;height:86px;object-fit:contain;mix-blend-mode:multiply}
.smz-l .noimg{display:block;background:repeating-linear-gradient(135deg,transparent 0 9px,var(--line) 9px 10px);border-radius:6px}
.smz-l b{display:block;margin-bottom:4px;font-size:20px;font-stretch:118%;font-weight:780;line-height:1.15;transition:color .2s}
.smz-l small{display:block;font-size:15px;line-height:1.45;color:var(--muted)}
.smz-l a:hover b{color:var(--red)}
.smv{border-radius:var(--r);overflow:hidden;background:var(--graphite);color:#fff}
.smv-scr{border-bottom:1px solid rgba(255,255,255,.08)}
.smv-svg{display:block;width:100%;height:auto}
.smv-svg .g line{stroke:rgba(255,255,255,.06)}
.smv-svg .flow{fill:none;stroke:#ff6a5f;stroke-width:1.6;stroke-dasharray:6 6}
.smv-svg .mc{fill:none;stroke:#aab2bb;stroke-width:1.2}
.smv-svg .hot{fill:rgba(225,38,28,.16);stroke:#ff6a5f;stroke-width:1.2}
.smv-svg .bx{fill:#c99a62}
.smv-svg .t1{fill:#c4cad1;font:600 12px Archivo,system-ui,sans-serif}
.smv-svg .t2{fill:#ff8a80;font:600 12px Archivo,system-ui,sans-serif}
.smv-t{padding:30px 32px 34px}
.smv-t h3{margin:0 0 12px;font-size:clamp(24px,2.4vw,32px);font-stretch:120%;font-weight:800;line-height:1.05;letter-spacing:-.02em}
.smv-t p{margin:0 0 24px;color:#c4cad1;max-width:30em}

/* ---------- CTA finale (comune a tutte le pagine) ---------- */
.cta2{border-radius:16px;background:var(--graphite)!important}
.cta2::after{display:none}
.cta2 h2{font-stretch:125%;font-weight:800;letter-spacing:-.03em}
.cta2-chip{display:none!important}
.cta2-tel{border-radius:6px}
.cta2-p svg{stroke:#aab2bb}
.bp .dl,.bp .scan2,.bp .pin2 circle,.bp .cbeam,.bp .hb,.bp .blink,.bp .stamp{animation:none!important}
.bp .scan2{filter:none}
.bp .hb{stroke-dashoffset:0}

/* ---------- responsive ---------- */
@media (max-width:1100px){
 .ln-rail{grid-template-columns:1fr;row-gap:28px}
 .ln-rail::before{left:19px;right:auto;top:0;bottom:0;width:8px;height:auto;border:0;border-left:1px solid var(--rail);border-right:1px solid var(--rail);background:repeating-linear-gradient(180deg,var(--rail) 0 3px,transparent 3px 11px)}
 .stn{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:18px;padding:0}
 .st-n{grid-row:1/span 3}
 .stn h3{margin:7px 0 2px}
 .stn>p{min-height:0;margin-bottom:12px}
 .st-m{flex-direction:row;flex-wrap:wrap}
 .st-m [data-s]{flex:1 1 230px}
 .ln-v{gap:28px}
}
@media (max-width:900px){
 .v2-h{grid-template-columns:1fr;gap:16px;margin-bottom:36px}
 .ln-v{grid-template-columns:1fr}
 .ln-x{grid-template-columns:1fr;gap:20px}
 .smz-g{grid-template-columns:1fr;gap:36px}
 .v2h .vh-meta{display:none}
}
@media (max-width:560px){
 .smz-l a{grid-template-columns:84px minmax(0,1fr);gap:16px}
 .smz-l img,.smz-l .noimg{width:84px;height:64px}
 .smz-l b{font-size:18px}
 .smv-t{padding:24px 22px 28px}
 .v2h .ctas .btn{width:100%;justify-content:center}
}
.offb .lnk svg{display:none}
h1,h2,.v2-h h2,.sh h2,.cta2 h2{text-wrap:balance}
.v2h h1{font-size:clamp(36px,4.6vw,70px);max-width:11.5em}
@media (min-width:1101px){
 .ln-rail{grid-template-rows:auto auto auto 1fr}
 .stn{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-content:start}
 .stn h3{font-stretch:112%;align-self:end}
 .stn>p{min-height:0}
}
.ln-v .aplay{right:auto;left:14px}
#linea .ln-xi [data-s]{width:100%}
@media (max-width:560px){#linea .st-m [data-s]{flex:1 1 100%}}

/* ===== v3: sistema grafico esteso a tutte le pagine ===== */
/* blocchi scuri: grafite piena, niente griglia, niente angoli che si sovrappongono */
.dark{background:var(--graphite)}
.gridbg{background-image:none}
.round-top{border-radius:0;margin-top:0}
.dark .spot{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.dark .spot:hover{border-color:rgba(255,255,255,.22)}
.why2{background:var(--graphite)!important;border-radius:var(--r)}
.solution,.svcard.big{background:var(--graphite)!important}
.wc:hover{transform:none}
.wl{background:rgba(255,255,255,.25)}.wl::after{display:none}
.wf{border-radius:6px}

/* numeri: pieni e piccoli solo dove c'è una sequenza, spariscono dove non c'è */
.exn,.svcard .sn,.wn,.pcn{display:none}
.flowsteps .n,.fst .n,.fstep .n,.mt2-n{color:var(--red);-webkit-text-stroke:0;font-size:30px;margin-bottom:12px}
.fstep.on .n{color:var(--red)}
.fstep:not(.on) .n{color:var(--rail)}

/* icone senza riquadri colorati */
.ben .bi,.svcard .ic,.dn2,.wi,.qi{background:none!important;width:auto;height:auto;border-radius:0;display:block;margin-bottom:14px}
.ben .bi svg,.svcard .ic svg,.wi svg,.qi svg{width:26px;height:26px;stroke:var(--red)}
.dark .ben .bi svg,.why2 .wi svg{stroke:#ff6a5f}
.ben h3{margin-top:0}

/* etichette sopra i titoli: testo semplice */
.pill{background:none!important;border:0!important;padding:0;margin-bottom:14px;font-size:14px;font-weight:600;color:var(--muted);backdrop-filter:none}
.pill i{display:none}
.tagk{background:none!important;padding:0;border-radius:0;font-size:14px}
.solution .tagk{color:#ff8a80}
.pains>div{border-top:1px solid var(--line)!important}

/* testate di pagina: niente decorazioni di sfondo, immagine piatta */
.phero .flow,.pdeco{display:none!important}
.phero.v-tech{background:var(--bg)}
.tilt{box-shadow:none!important;transform:none!important;border:1px solid var(--line);background:#fff}
.tilt::after{display:none}
.hl li{border-radius:6px}
.kstrip{border-radius:var(--r)}

/* forme */
.faq details,.mt2,.svcard,.plan,.box,.fstep{border-radius:var(--r)}
.faq details[open]{border-color:var(--ink)}
.faq summary::after{color:var(--ink)}
.rail,.rail [role=tab],.rail-all{border-radius:8px}
.mega{border-radius:16px}
.mcard{border-radius:10px}
.mcard:hover,.mcard:focus-visible{transform:none}
.mcard:hover .mi img{transform:none}
footer{border-radius:0}
input,select,textarea{border-radius:6px}

/* movimento in loop: fermo */
.live-dot,.pill i::before,.csv .mv,.csv .ext,.csv .bend path,.phero .spin,.phero .simp,.blink{animation:none!important}

/* ---------- menu prodotti ---------- */
.mlgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}
.mlgrid .mlink{border-radius:10px;padding:8px;grid-template-columns:162px 1fr;gap:14px}
.mlgrid .mlink .th{width:162px;height:121px;border-radius:8px;background-color:#fff;background-size:cover;border:1px solid var(--line)}
.mcat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:center;padding:10px;border-radius:10px;border:1px solid var(--line);transition:border-color .2s}
.mcat:hover{border-color:var(--rail)}
.mcat-v{display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#fff}
.mcat-v img{width:100%;height:100%;object-fit:contain;padding:8px;mix-blend-mode:multiply}
.mcat-t b{display:block;font-size:20px;font-stretch:118%;font-weight:800;line-height:1.1;margin-bottom:6px}
.mcat-t>span{display:block;font-size:14.5px;color:var(--muted);margin-bottom:10px}
.mcat-t ul{margin:0;padding-left:18px;font-size:14px}

/* visivi di categoria */
.cv-d{display:grid;place-items:center;width:100%;height:100%;background:var(--graphite);padding:12px}
.cv-d .csv{max-width:100%}
.noimg{display:grid;place-items:center;width:100%;height:100%;background:repeating-linear-gradient(135deg,transparent 0 9px,var(--line) 9px 10px);border-radius:6px}
.noimg small{font-size:12.5px;font-weight:600;color:var(--muted);background:var(--paper);padding:4px 8px;border-radius:4px}

/* ---------- pagina Prodotti ---------- */
.pcl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pcl>li{border-bottom:1px solid var(--line)}
.pcl>li>a{display:grid;grid-template-columns:300px minmax(0,1fr) auto;gap:40px;align-items:center;padding:28px 0}
.pcl-v{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.pcl-v img{width:100%;height:100%;object-fit:contain;padding:14px;mix-blend-mode:multiply}
.pcl-t h2{margin:0 0 8px;font-size:clamp(26px,2.8vw,40px);font-stretch:125%;font-weight:800;letter-spacing:-.025em;line-height:1.02;transition:color .2s}
.pcl-t p{margin:0 0 12px;color:var(--muted);max-width:38em}
.pcl-t ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14.5px;font-weight:600}
.pcl-c{font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}
.pcl>li>a:hover h2{color:var(--red)}

/* ---------- Fine linea ---------- */
.flg{margin-top:44px}
.flg:first-of-type{margin-top:0}
.flg h3{margin:0 0 16px;font-size:20px;font-stretch:118%;font-weight:800}

/* ---------- Pinze ---------- */
.pz-hero{border-radius:var(--r);background:var(--graphite);display:grid;place-items:center;padding:28px;aspect-ratio:4/3}
.pz-hero .csv{max-width:420px}
.pzs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.pz{padding:28px 28px 8px 0;border-right:1px solid var(--line)}
.pz+.pz{padding-left:28px}
.pz:last-child{border-right:0}
.pz h3{margin:0 0 10px;font-size:24px;font-stretch:120%;font-weight:800;line-height:1.1}
.pz p{margin:0 0 16px;color:var(--muted)}
.pz ul,.ticks{list-style:none;margin:0;padding:0}
.pz li,.ticks li{position:relative;padding:8px 0 8px 22px;border-top:1px solid var(--line);font-size:15px}
.pz li::before,.ticks li::before{content:"";position:absolute;left:2px;top:15px;width:9px;height:5px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
.seq{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.seq::before{content:"";position:absolute;left:0;right:0;top:15px;height:8px;background:repeating-linear-gradient(90deg,var(--rail) 0 3px,transparent 3px 11px);border-top:1px solid var(--rail);border-bottom:1px solid var(--rail)}
.seq h3{margin:18px 0 6px;font-size:18px;font-stretch:115%;font-weight:780;line-height:1.15}
.seq p{margin:0;font-size:15px;color:var(--muted)}
.pzc{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- elementi comuni nuove pagine ---------- */
.todo{border:1.5px dashed var(--rail);border-radius:var(--r);padding:28px 30px;background:repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--line) 45%,transparent) 14px 15px)}
.todo b{display:block;font-size:18px;font-stretch:115%;font-weight:780;margin-bottom:6px}
.todo p{margin:0;color:var(--muted);max-width:52em}
.rl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rl li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.rl b{font-size:18px;font-stretch:115%;font-weight:760;line-height:1.2}
.rl span{color:var(--muted)}
.rl.two{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;border-top:0}
.rl.two li{grid-template-columns:1fr;gap:4px;border-top:1px solid var(--line);border-bottom:0}
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:start}
.v2-h.one{grid-template-columns:1fr;margin-bottom:20px}
.big-p{font-size:clamp(19px,1.7vw,23px);line-height:1.45;margin:0 0 22px;max-width:30em}
.pains3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding-top:24px}
.pains3 h3{margin:0 0 8px;font-size:20px;font-stretch:115%;font-weight:780}
.pains3 p{margin:0;color:var(--muted)}
.ce-ex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.ce-ex img{width:100%;border-radius:var(--r);background:#fff;border:1px solid var(--line);mix-blend-mode:multiply;padding:18px}
.ce-ex h2{margin:0 0 16px;font-size:clamp(30px,3.6vw,48px);line-height:1.02;font-stretch:125%;font-weight:800;letter-spacing:-.03em}

@media (max-width:1000px){
 .pcl>li>a{grid-template-columns:200px minmax(0,1fr);gap:24px}
 .pcl-c{grid-column:2}
 .pzs{grid-template-columns:1fr}
 .pz,.pz+.pz{padding:24px 0 8px;border-right:0;border-bottom:1px solid var(--line)}
 .seq{grid-template-columns:1fr 1fr}
 .seq::before{display:none}
 .pzc{grid-template-columns:1fr 1fr}
 .mlgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
 .pcl>li>a{grid-template-columns:1fr;gap:16px}
 .pcl-c{grid-column:1}
 .rl li{grid-template-columns:1fr;gap:4px}
 .rl.two{grid-template-columns:1fr}
 .split2,.ce-ex,.pains3{grid-template-columns:1fr;gap:28px}
 .seq,.pzc{grid-template-columns:1fr}
}
/* scuri residui: tutti in grafite, senza aloni rossi */
:root{--dark:#2b3137;--dark2:#343b42;--dline:#3e464f}
.svb-l{background:none}
.urg::before,.svurg::before,.ctab::before,.mfeat::before,.mfeat.urgent::before{display:none}
.urg,.svurg,.mfeat,.mfeat.urgent{background:var(--graphite)}
.sd-in,.job,.lab-in,.lab-out,.dark .mt2{background:rgba(255,255,255,.04)}
.offv,.cs2v{background:var(--graphite)}
.plan.hot{box-shadow:none;transform:none;border-color:var(--graphite)}
.mt2-r{border-radius:10px}
.mt2-r svg,.cta2-p svg{stroke:#9fd8b4}
.pc .more{border:0;margin:10px 0 0;border-radius:0;overflow:visible;color:var(--ink)}
.pc .more svg{display:none}
.pc .im img{transition:none}
.urg,.svurg,.job,.sd-in,.lab-in,.lab-out{border-radius:var(--r)}
.k{display:none}
.offg{grid-template-columns:repeat(3,minmax(0,1fr))}
.smz-v{display:block;width:120px;height:86px;border-radius:6px;overflow:hidden}
.smz-l .smz-v img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.smz-v .cv-d{padding:4px}
@media (max-width:900px){.offg{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.smz-v{width:84px;height:64px}.offg{grid-template-columns:1fr}}
.animbox .aplay{right:auto;left:14px}

/* ===== v4: nuova home (video + categorie) e fine linea ===== */
/* apertura video */
.hv{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;background:#101317;color:#fff;display:flex;align-items:flex-end;padding:0}
.hv-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv::after{content:"";position:absolute;inset:0;pointer-events:none;background:
 linear-gradient(0deg,rgba(10,12,15,.88) 0%,rgba(10,12,15,.55) 30%,rgba(10,12,15,0) 62%),
 linear-gradient(90deg,rgba(10,12,15,.62) 0%,rgba(10,12,15,0) 58%),
 linear-gradient(180deg,rgba(10,12,15,.6) 0%,rgba(10,12,15,0) 22%)}
.hv-in{position:relative;z-index:2;padding-bottom:clamp(36px,7vh,80px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.hv h1{font-size:clamp(42px,6.4vw,104px);line-height:.94;max-width:11em;margin:0 0 22px;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hv-in p{margin:0 0 30px;max-width:36em;font-size:clamp(17px,1.35vw,20px);color:#d6dbe0}
.hv .ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn.hv-g{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(15,18,22,.25)}
.btn.hv-g:hover{border-color:#fff}
.hv-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.hv-watch{display:flex;align-items:center;gap:12px;color:#fff;font-weight:650;font-size:15px}
.hv-watch .pl{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:border-color .2s,background .2s}
.hv-watch:hover .pl{background:var(--red);border-color:var(--red)}
.hv-watch svg{width:14px;height:14px;fill:#fff;margin-left:2px}
.hv-watch small{display:block;font-weight:500;font-size:13px;color:#aab2bb}
.hv-p{appearance:none;border:1px solid rgba(255,255,255,.35);background:rgba(15,18,22,.35);color:#fff;border-radius:6px;height:34px;padding:0 12px;font:600 13px "Archivo",sans-serif;cursor:pointer}
.hv-p:hover{border-color:#fff}

/* categorie in home: elenco, tutte della stessa misura, render a sinistra e descrizione a destra */
.hlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.hrow{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:14px;padding-right:clamp(20px,3vw,40px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s}
.hrow:hover{border-color:var(--rail)}
.hrow-v{display:block;aspect-ratio:4/3;background:#fff;border-radius:8px;overflow:hidden}
.hrow-v img{width:100%;height:100%;object-fit:contain;padding:12px;transition:transform .6s var(--ease)}
.hrow:hover .hrow-v img{transform:scale(1.025)}
.hrow-ph{display:grid;place-items:center;width:100%;height:100%;background:repeating-linear-gradient(135deg,#fff 0 12px,#f1f3f5 12px 13px)}
.hrow-ph small{font-size:13px;font-weight:600;color:var(--muted);background:#fff;border:1px dashed var(--rail);padding:6px 10px;border-radius:4px}
.hrow-t{display:flex;flex-direction:column;gap:12px;min-width:0}
.hrow h3{margin:0;font-size:clamp(26px,2.8vw,40px);font-stretch:125%;font-weight:800;line-height:1.02;letter-spacing:-.025em;transition:color .2s}
.hrow:hover h3{color:var(--red)}
.hrow p{margin:0;color:var(--muted);font-size:17px;max-width:36em}
.hrow ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.hrow ul li{font-size:13.5px;font-weight:600;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.hrow-f{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;font-weight:650;color:var(--muted)}
.hrow-go{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rail);text-underline-offset:4px}
.hrow:hover .hrow-go{text-decoration-color:var(--red)}
@media (max-width:860px){.hrow{grid-template-columns:1fr;gap:18px;padding:12px 12px 20px}.hrow-t{padding:0 6px}}

/* menu prodotti: voci della colonna sinistra come link */
.rail .rt{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px;border-radius:8px;font-weight:650;font-size:15px;color:var(--ink);transition:background .2s}
.rail .rt small{grid-column:1;font-weight:500;font-size:12.5px;color:var(--muted);margin-top:2px}
.rail .rt .chev{grid-column:2;grid-row:1/span 2;width:10px;height:10px;transform:rotate(-90deg);opacity:.4}
.rail .rt.on{background:var(--paper);box-shadow:0 6px 18px rgba(15,18,22,.08)}
.rail .rt.on .chev{opacity:1;color:var(--red)}

/* passi di lavoro (binario) */
.seq li{list-style:none}

/* video completo */
.film{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:center}
.film-v{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:#101317}
.film-v img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.film-v:hover img{transform:scale(1.02)}
.film-p{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.film-p svg{width:24px;height:24px;fill:#fff;margin-left:4px}
.film h2{margin:0 0 16px;font-size:clamp(30px,3.4vw,46px);line-height:1.02;font-stretch:125%;font-weight:800;letter-spacing:-.03em}
.film p{margin:0 0 22px;color:var(--muted)}

/* fine linea: testata scura con briciole chiare */
.v2h .crumb{color:#aab2bb}.v2h .crumb a:hover{color:#fff}.v2h .crumb span{color:#e6e9ec}
.v2h .btn.ghost{background:rgba(15,18,22,.25);color:#fff;border-color:rgba(255,255,255,.45)}
.v2h .btn.ghost:hover{border-color:#fff}
.smv-w{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.smv-w .smv-scr{border-bottom:0;border-right:1px solid rgba(255,255,255,.08);display:flex;align-items:center}
.smv-w .smv-t{align-self:center}

@media (max-width:1000px){
 .hv-in{grid-template-columns:1fr}
 .hv-side{align-items:flex-start;flex-direction:row;gap:16px}
 .film{grid-template-columns:1fr;gap:24px}
 .smv-w{grid-template-columns:1fr}
 .smv-w .smv-scr{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
}
@media (max-width:640px){
 .hv::after{background:linear-gradient(0deg,rgba(10,12,15,.94) 0%,rgba(10,12,15,.72) 48%,rgba(10,12,15,.3) 78%,rgba(10,12,15,.5) 100%)}
 .hv .ctas .btn{flex:1 1 100%;justify-content:center}
}

/* ===== v4.2: HUB Exon, simulazione in evidenza, nuove categorie ===== */
/* pulsante HUB Exon nell'intestazione */
.hub{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;margin-left:10px;border-radius:6px;border:1px solid var(--line);font-size:14.5px;font-weight:650;color:var(--ink);white-space:nowrap;transition:border-color .2s}
.hub svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.hub:hover{border-color:var(--ink)}
body.hdr-dark:not(.mega-open) .nav-shell .hub{color:#fff;border-color:rgba(255,255,255,.4)}
body.hdr-dark:not(.mega-open) .nav-shell .hub:hover{border-color:#fff}
@media (max-width:1060px){.nav-shell .hub{display:none}}
.dhub{display:flex;width:100%;height:48px;margin:0;justify-content:center;font-size:15.5px}
/* simulazione nel menu prodotti */
.rail-sim{display:block;margin-top:auto;padding:14px;border-radius:8px;border:1px dashed var(--red);font-weight:650;font-size:14.5px;color:var(--ink);transition:background .2s}
.rail-sim small{display:block;font-weight:500;font-size:12.5px;color:var(--muted);margin-top:2px}
.rail-sim:hover{background:var(--paper)}
.rail-sim+.rail-all{margin-top:6px}
/* sezione simulazione in evidenza */
.simb{padding-top:clamp(20px,3vw,40px);padding-bottom:clamp(20px,3vw,40px)}
.simb .smv-t h3{font-size:clamp(26px,2.8vw,38px)}
/* stampaggio plastico: soluzioni */
.solg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sol{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:22px;align-items:center;padding:12px;padding-right:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.sol-v{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#fff}
.sol h3{margin:0 0 8px;font-size:21px;font-stretch:118%;font-weight:800;line-height:1.12}
.sol p{margin:0;color:var(--muted);font-size:15.5px}
.sol-v img{display:block;width:100%;height:100%;object-fit:cover}
/* soluzioni con render: immagine grande sopra, testo sotto */
.solg-big .sol{position:relative;grid-template-columns:1fr;gap:0;padding:0;align-items:stretch;align-content:start;overflow:hidden}
.solg-big .sol-v{border-radius:0;border-bottom:1px solid var(--line)}
.solg-big .sol-t{padding:20px 24px 24px}
/* tutte le schede uguali, anche l'ultima quando sono dispari (richiesta di Lorenzo, 14/10) */
/* macchine e linee speciali: sottosezioni */
.spx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;padding:44px 0;border-top:1px solid var(--line)}
.spx:first-child{border-top:0;padding-top:0}
.spx h2{margin:0 0 12px;font-size:clamp(28px,3.2vw,44px);font-stretch:125%;font-weight:800;letter-spacing:-.03em;line-height:1.02}
.spx>div>p{margin:0;color:var(--muted);font-size:17px;max-width:30em}
.spx-k{margin:0 0 10px;font-size:14px;font-weight:650;color:var(--muted)}
@media (max-width:900px){.solg{grid-template-columns:1fr}.spx{grid-template-columns:1fr;gap:20px}}
@media (max-width:560px){.sol{grid-template-columns:1fr;padding-right:12px}.sol-t{padding:0 6px 8px}.solg-big .sol{padding:0}.solg-big .sol-t{padding:16px 18px 20px}}
.rail .rt{padding:11px 14px}
@media (max-width:1240px){.nav-shell .hub{padding:0 10px}.nav-shell .hub span{display:none}}

/* ===== v5: pagine macchina, gerarchia Prodotti > Categoria > Macchina ===== */
.th-ph{background:repeating-linear-gradient(135deg,#fff 0 6px,#f1f3f5 6px 7px)!important;border:1px solid var(--line)}
.dcat{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border-bottom:1px solid var(--line);font-weight:650;font-size:15px}
.dcat small{font-weight:500;color:var(--muted)}
a.sol{color:inherit;text-decoration:none;transition:border-color .2s}
a.sol:hover{border-color:var(--ink)}
.sol-go{display:block;margin-top:14px;font-weight:650;font-size:14.5px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rail);text-underline-offset:4px}
.sol-go small{margin-left:8px;font-weight:500;color:var(--muted);text-decoration:none}
a.sol:hover .sol-go{text-decoration-color:var(--red)}
.mv-g{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}
.mv{position:relative;margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#15181c}
.mv video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.mv-p{position:absolute;left:14px;bottom:14px;padding:9px 14px;border-radius:6px;border:0;background:rgba(21,24,28,.82);color:#fff;font:inherit;font-weight:650;font-size:13.5px;cursor:pointer}
.mv-p:hover{background:var(--red)}
.mv figcaption{padding:10px 14px;background:#fff;font-size:14px}
.mv figcaption a{font-weight:650;text-decoration:underline;text-underline-offset:3px}
.mst{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.mst li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start}
.mst h3{margin:4px 0 4px;font-size:19px;font-stretch:115%;font-weight:780;line-height:1.15}
.mst p{margin:0;color:var(--muted);font-size:15.5px}
.mac-ciclo .mst:only-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.mac-dati .v2-h .btn{margin-top:16px}
.mac-spec{width:100%;border-collapse:collapse}
.mac-spec th{text-align:left;font-weight:600;padding:12px 0;border-bottom:1px solid var(--line);width:60%}
.mac-spec td{padding:12px 0;border-bottom:1px solid var(--line)}
.dac{font-size:13px;font-weight:600;color:var(--muted);border:1px dashed var(--rail);padding:3px 8px;border-radius:4px}
.v2-all{font-weight:650;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rail)}
.mrel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mrel a{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:inherit;transition:border-color .2s}
.mrel a:hover{border-color:var(--ink)}
.mrel .th{display:block;width:100%;aspect-ratio:4/3;border-radius:8px;background:#fff center/cover no-repeat}
.mrel b{font-size:15.5px;font-stretch:112%;line-height:1.2}
.mrel span{font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.mv-g{grid-template-columns:1fr;gap:24px}.mac-ciclo .mst:only-child{grid-template-columns:1fr}.mrel{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mrel{grid-template-columns:1fr}}
.mlgrid .mlink b{font-size:15px}
.dgrid .th.th-ph{background-size:auto}
@media (max-width:1240px){.mlgrid{grid-template-columns:1fr 1fr}}
.mlgrid .mlink b{display:block;white-space:normal;overflow:visible;-webkit-line-clamp:unset;line-height:1.2}
.mlgrid .mlink>span{display:block;-webkit-line-clamp:unset;overflow:visible}
.mlgrid .mlink>span>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* gruppi dentro una categoria */
.mgrp{padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}
.mgrp:first-of-type{padding-top:0;margin-top:0;border-top:0}
.mgrp-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:end;margin-bottom:18px}
.mgrp-h h3{margin:0;font-size:clamp(24px,2.6vw,34px);font-stretch:125%;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.mgrp-h p{margin:0;color:var(--muted);font-size:16px}
.mgh{display:block;margin:14px 8px 6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mgh:first-child{margin-top:0}
.mgh:hover{color:var(--red)}
@media (max-width:900px){.mgrp-h{grid-template-columns:1fr;gap:8px}}
/* ===== Chi siamo v5 ===== */
.ab-hero{padding:118px 0 0;background:var(--bg)}
.ab-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:end;padding-top:24px}
.ab-t h1{margin:0 0 20px;font-size:clamp(38px,5.2vw,76px);font-stretch:125%;font-weight:800;letter-spacing:-.035em;line-height:.95}
.ab-t .lead{max-width:34em;font-size:clamp(17px,1.4vw,20px)}
.ab-ph{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--graphite)}
.ab-ph img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.ab-ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;color:#fff;background:linear-gradient(transparent,rgba(21,24,28,.85))}
.ab-ph figcaption b{display:block;font-size:19px;font-stretch:118%}
.ab-ph figcaption span{display:block;font-size:14px;color:var(--rail)}
.ab-nums{background:var(--graphite);color:#fff;padding:0;margin-top:40px}
.ab-nums ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
.ab-nums li{padding:28px 24px;border-left:1px solid rgba(170,178,186,.25)}
.ab-nums li:first-child{border-left:0;padding-left:0}
.ab-nums b{display:block;font-size:clamp(36px,4vw,56px);font-stretch:125%;font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff}
.ab-nums span{display:block;margin-top:8px;font-size:14.5px;color:var(--rail)}
#ab-storia{padding-top:56px}
.ab-tl{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.ab-tl::before{content:"";position:absolute;left:140px;top:8px;bottom:8px;width:0;border-left:3px dashed var(--rail)}
.ab-tl li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:40px;padding:18px 0;position:relative}
.ab-tl li::before{content:"";position:absolute;left:132px;top:26px;width:18px;height:18px;background:var(--red);clip-path:polygon(28% 0,100% 0,72% 100%,0 100%)}
.ab-tl li:last-child::before{background:var(--ink)}
.ab-y{font-size:14.5px;font-weight:800;font-stretch:120%;color:var(--ink);padding-top:4px;text-align:right;line-height:1.2}
.ab-tl h3{margin:0 0 4px;font-size:22px;font-stretch:118%;font-weight:800;line-height:1.1}
.ab-tl p{margin:0;color:var(--muted);font-size:16px;max-width:40em}
.ab-team .wrap{display:grid;gap:28px}
.ab-wide{margin:0;border-radius:var(--r);overflow:hidden}
.ab-wide img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 20%}
.ab-wide figcaption{padding:12px 2px 0;font-size:15px;color:var(--muted);max-width:60em}
.ab-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ab-pc{padding:20px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.ab-pc h3{margin:0;font-size:20px;font-stretch:118%;font-weight:800}
.ab-pc small{display:block;margin:4px 0 10px;font-size:13.5px;font-weight:650;color:var(--red)}
.ab-pc p{margin:0;color:var(--muted);font-size:15px}
.ab-int{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ab-int-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.ab-ph2{position:sticky;top:110px}
.ab-qa{margin:24px 0 0}
.ab-qa dt{font-weight:800;font-stretch:118%;font-size:18px;margin:22px 0 6px}
.ab-qa dt:first-child{margin-top:0}
.ab-qa dd{margin:0;color:var(--ink);font-size:17px;line-height:1.5;padding-left:18px;border-left:3px solid var(--red)}
.ab-src{margin:22px 0 0;font-size:13.5px;color:var(--muted)}
@media (max-width:980px){.ab-hero{padding-top:96px}.ab-grid{grid-template-columns:1fr;gap:28px}.ab-t h1 br{display:none}.ab-nums ul{grid-template-columns:1fr 1fr}.ab-nums li{border-left:0;padding-left:0;border-top:1px solid rgba(170,178,186,.25)}.ab-nums li:nth-child(-n+2){border-top:0}.ab-people{grid-template-columns:1fr}.ab-int-g{grid-template-columns:1fr;gap:28px}.ab-ph2{position:static}}
@media (max-width:560px){.ab-nums ul{grid-template-columns:1fr 1fr}.ab-nums li{padding:18px 12px 18px 0}.ab-nums b{font-size:34px}.ab-tl::before{left:12px}.ab-tl li{grid-template-columns:1fr;gap:4px;padding-left:36px}.ab-tl li::before{left:4px}.ab-y{text-align:left}}
.ab-hero .crumb,.ab-hero nav{margin-bottom:0}
/* pagina madre a gruppi */
.grpl{display:grid;gap:14px}
.grpc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:28px;align-items:center;padding:14px;padding-right:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);color:inherit;transition:border-color .2s}
.grpc:hover{border-color:var(--ink)}
.grpc-v{display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#fff}
.grpc-v img{display:block;width:100%;height:100%;object-fit:cover}
.grpc-t h3{margin:0 0 8px;font-size:clamp(24px,2.4vw,32px);font-stretch:122%;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.grpc-t>p{margin:0 0 12px;color:var(--muted);font-size:16px}
.grpc-t ul{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.grpc-t li{padding:6px 10px;border-radius:6px;background:var(--bg);border:1px solid var(--line);font-size:13.5px;font-weight:600}
/* pagina di gruppo */
.grp-txt{max-width:46em}
.grp-txt p{font-size:17.5px;line-height:1.6;color:var(--ink);margin:0 0 18px}
.caso{padding:36px 0;border-top:1px solid var(--line)}
.caso:first-of-type{border-top:0;padding-top:8px}
.caso-k{display:inline-block;margin-bottom:8px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.caso-h h2{margin:0 0 10px;font-size:clamp(28px,3.2vw,44px);font-stretch:125%;font-weight:800;letter-spacing:-.03em;line-height:1.02}
.caso-h .lead{max-width:40em;margin:0 0 24px}
.caso-g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:start}
.caso-media{display:grid;gap:14px}
.cs-img{border:1px solid var(--line)}
.caso-ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;padding-top:22px;border-top:1px dashed var(--rail)}
.caso-ben h3{margin:0 0 6px;font-size:17px;font-stretch:115%;font-weight:780}
.caso-ben p{margin:0;color:var(--muted);font-size:15px}
.mrel3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.grpc{grid-template-columns:1fr;padding-right:14px}.caso-g{grid-template-columns:1fr;gap:24px}.caso-ben{grid-template-columns:1fr;gap:16px}.mrel3{grid-template-columns:1fr}}
.qi-logo{width:auto;height:56px;padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:8px}
.qi-logo img{display:block;height:100%;width:auto;max-width:200px;object-fit:contain}
/* menu da telefono aperto: il fondo è bianco, quindi logo nero e intestazione chiara anche sulle pagine con apertura scura */
body.drawer-open .mainbar,body.hdr-dark.drawer-open .mainbar{background:var(--paper)}
body.hdr-dark.drawer-open .logo .lg-d{opacity:1}
body.hdr-dark.drawer-open .logo .lg-w{opacity:0}
body.hdr-dark.drawer-open .burger{background:var(--bg)}
body.hdr-dark.drawer-open .burger i{background:var(--ink)}
/* telefono: la lingua è nascosta, quindi il pulsante del menu va spinto a destra */
@media (max-width:1060px){header.top .nav-shell .burger{margin-left:auto}}
/* pagine di gruppo, versione snella (14/10 sera) */
.grp-intro{max-width:40em;margin:0 0 26px;font-size:clamp(19px,1.6vw,23px);line-height:1.45;color:var(--ink)}
.grp-pts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.grp-pts li{padding:16px 20px 4px 0}
.grp-pts li+li{padding-left:20px;border-left:1px solid var(--line)}
.grp-pts b{display:block;font-size:16px;font-stretch:115%;font-weight:780;margin-bottom:4px}
.grp-pts span{display:block;font-size:14.5px;color:var(--muted)}
.caso-tec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:28px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.caso-tec h3{margin:0 0 12px;font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.caso-tec p{margin:0 0 12px;font-size:15.5px;line-height:1.55}
.tec{width:100%;border-collapse:collapse;font-size:15px}
.tec th{text-align:left;font-weight:600;padding:9px 12px 9px 0;border-bottom:1px solid var(--line);width:46%;vertical-align:top}
.tec td{padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.tec tr:last-child th,.tec tr:last-child td{border-bottom:0}
.grp-comp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grp-comp>div{padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.grp-comp h3{margin:0 0 6px;font-size:17px;font-stretch:115%;font-weight:780}
.grp-comp p{margin:0;font-size:15px;color:var(--muted)}
.grp-start{margin-top:22px;padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.grp-start h3{margin:0 0 8px;font-size:16px;font-weight:780}
@media (max-width:900px){.grp-pts{grid-template-columns:1fr 1fr}.grp-pts li:nth-child(3){padding-left:0;border-left:0}.caso-tec{grid-template-columns:1fr;gap:20px;padding:18px}.grp-comp{grid-template-columns:1fr}}
@media (max-width:560px){.grp-pts{grid-template-columns:1fr}.grp-pts li,.grp-pts li+li{padding:12px 0;border-left:0;border-top:1px solid var(--line)}.grp-pts li:first-child{border-top:0}}
/* linea fine linea con 7 stazioni (0-6): su computer titoli più stretti e pulsanti con l'immagine sopra il testo */
@media (min-width:1101px){
 .stn{padding-right:12px}
 .stn h3{font-size:16px;font-stretch:100%}
 #linea .st-m [data-s]{grid-template-columns:1fr;gap:6px;padding:6px 8px 8px;align-items:start}
 #linea .st-m [data-s] img{width:100%;height:58px}
}
/* prova: linea del reparto di stampaggio plastico, con i video delle macchine */
.pl-mv{margin:0;position:relative;border-radius:var(--r);overflow:hidden;background:#fff;aspect-ratio:4/3;border:1px solid var(--line)}
.pl-mv video,.pl-mv img{display:block;width:100%;height:100%;object-fit:cover}
.pl-img img{object-fit:contain}
.pl-img figcaption{position:absolute;left:14px;bottom:12px;padding:5px 10px;border-radius:6px;background:rgba(17,20,24,.78);color:#fff;font-size:12.5px}
.pl-steps .lsx{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:11px 0;font-size:14.5px;line-height:1.4;color:var(--muted)}
.pl-steps .lsx em{font-style:normal;font-weight:800;font-stretch:120%;color:var(--red)}
.pl-steps .lsx b{color:var(--ink);font-weight:650}
/* regola del sito: il pulsante che apre la pagina della macchina è rosso e sta subito sotto il titolo */
.ln-d .ln-go{margin:2px 0 20px}

/* linea del plastico: pulsante del video in basso a destra */
.pl-mv .pl-play{left:auto;right:14px;bottom:14px;padding:11px 16px;background:var(--red)}
.pl-mv .pl-play:hover{background:#b8160d}
.pl-mv .pl-play[aria-pressed="false"]{background:rgba(21,24,28,.82)}

/* pagina macchina, dati tecnici con i valori veri: il titolo resta in alto, voce e valore allineati a sinistra */
.mac-dati{align-items:start}
.spec.mac-spec th{width:38%;padding-right:20px;vertical-align:top}
.spec.mac-spec td:last-child{text-align:left;vertical-align:top}

/* pagina macchina: galleria di viste larghe (es. linea di imbutitura), una sotto l'altra */
.mgal{display:grid;gap:20px}
.mgal figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mgal img{display:block;width:100%;height:auto}
.mgal figcaption{padding:10px 18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}

/* Galleria a due colonne per viste non panoramiche (punzonatrice), stessa altezza per tutte */
.mgal.mgal2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mgal.mgal2 img{aspect-ratio:3/2;object-fit:contain;background:#fff}
@media (max-width:700px){.mgal.mgal2{grid-template-columns:1fr}}
/* Impianti realizzati (controllo qualità): due per riga, numeri sotto il testo */
.grp-comp.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grp-comp .imp-n{margin-top:10px;color:var(--ink);font-weight:600}
@media (max-width:900px){.grp-comp.g2{grid-template-columns:1fr}}
/* campo trappola per lo spam nei moduli: invisibile alle persone */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* simulazioni del fine linea: trascinando si gira la vista; con il motore 3D (WebGL) il badge lo dice */
.animbox canvas{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.animbox canvas.drag{cursor:grabbing}
.animbox.a3d .ahud::after{content:"· trascina per ruotare";color:#9aa3ad}
@media (max-width:600px){.animbox.a3d .ahud::after{content:none}}

/* testata delle schede del fine linea: la simulazione della macchina, intera e tenue, in un riquadro dietro al titolo */
.phero-txt{position:relative;isolation:isolate}
.phero-sim{position:absolute;z-index:-1;left:50%;top:50%;width:min(118%,760px);transform:translate(-50%,-50%);pointer-events:none;opacity:.46;
 -webkit-mask-image:radial-gradient(ellipse 60% 58% at 50% 50%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 60% 58% at 50% 50%,#000 52%,transparent 100%)}
.phero-sim canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}
@media (max-width:900px){.phero-sim{width:112%;top:-10px;transform:translate(-50%,0);opacity:.37}}
/* video caricato sotto al titolo (pagine macchina e celle): stesso riquadro tenue delle simulazioni, intero e senza tagli */
.phero-vid{width:min(112%,700px);opacity:.31;
 -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%)}
.phero-vid video{display:block;width:100%;height:auto;aspect-ratio:auto 4/3;object-fit:contain;background:transparent;pointer-events:none}
@media (max-width:900px){.phero-vid{width:116%;opacity:.25}}

/* Vantaggi più compatti (Lorenzo, 24/10/2026): meno spazio tra una voce e l'altra; sul telefono l'icona va a sinistra del titolo */
.mac-ben{gap:18px 28px;padding-top:18px}
.mac-ben h3{font-size:18.5px;margin-bottom:5px}
.ben{gap:10px}
.ben .spot{padding:22px 24px}
.ben .bi{margin-bottom:10px}
.ben h3{font-size:19px;margin:0 0 6px}
@media (max-width:860px){
 .mac-ben{gap:14px;padding-top:14px}
 .ben{gap:8px}
 .ben .spot{padding:16px 18px;display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:14px;align-items:start}
 .ben .bi{grid-row:span 2;margin:1px 0 0}
 .ben h3{font-size:17.5px;margin:0 0 4px}
}

/* In evidenza: i numeri forti della macchina sotto la testata (forti in macchine.js) */
.forti-s{padding:0 0 50px;margin-top:-20px}  /* la barra delle sezioni sale di 30px sull'elemento prima */
.forti{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.forti li{position:relative;padding:20px 22px 18px;border-left:1px solid var(--line)}
.forti li:first-child{border-left:0}
.forti li::before{content:"";position:absolute;left:22px;top:0;width:28px;height:3px;background:var(--red)}
.forti b{display:block;font-size:30px;line-height:1.05;font-weight:800;font-stretch:112%;letter-spacing:-.01em;color:var(--ink)}
.forti span{display:block;margin-top:7px;font-size:14px;line-height:1.38;color:var(--muted)}
@media (max-width:860px){.forti{grid-template-columns:1fr 1fr}.forti li:nth-child(3){border-left:0}.forti li:nth-child(n+3){border-top:1px solid var(--line)}
 .forti li{padding:16px 16px 14px}.forti li::before{left:16px}.forti b{font-size:23px}.forti span{font-size:13.5px}}

/* Bozze nascoste (BOZZE=false in sito.js, 24/10/2026) */
.sol.sol-noimg .sol-v{display:none}
.sol.sol-noimg{border-top:3px solid var(--red)}
.presto-k{display:inline-block;margin-bottom:6px;padding:3px 9px;border-radius:999px;background:rgba(225,38,28,.1);color:var(--red);font-size:12px;font-weight:700;letter-spacing:.02em}
.presto{max-width:760px;padding:34px 36px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.presto h2{margin:14px 0 10px}
.presto p{margin:0 0 16px;color:var(--muted)}
@media (max-width:860px){.presto{padding:24px 20px}}
.news-vuota{margin:0;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--muted)}
.mac-desc{max-width:820px}
.mac-desc p{margin:0 0 14px;color:var(--muted)}

/* Video completo su YouTube sotto la clip dei punti salienti (campo yt in macchine.js) */
.mv-box{position:relative}
.mv figcaption.mv-yt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 14px}
.mv .mv-yt a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:6px;background:var(--red);color:#fff;font-weight:700;text-decoration:none}
.mv .mv-yt a:hover{background:var(--ink)}
.mv-yt svg{width:20px;height:20px;fill:#fff}
.mv-yt span{font-size:13.5px;color:var(--muted)}

/* macchina senza clip ma con il video su YouTube: anteprima che porta su YouTube */
.mv-ytonly{position:relative;display:block;background:#15181c}
.mv-ytonly img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
/* senza copertina salvata sul sito: pannello scuro, nessuna richiesta a YouTube finché non si clicca */
.mv-ytt{display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:16/9;padding:22px 24px;color:#fff;background:linear-gradient(160deg,#1d232b 0%,#0e1114 70%),#15181c;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(160deg,#1d232b 0%,#0e1114 70%);background-size:32px 32px,32px 32px,100% 100%}
.mv-ytt b{font-size:1.15rem;line-height:1.2}
.mv-ytt small{opacity:.7;font-size:.85rem;margin-top:4px}
.mv-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(225,38,28,.92);display:grid;place-items:center;transition:transform .2s}
.mv-play svg{width:26px;height:26px;fill:#fff}
.mv-ytonly:hover .mv-play{transform:scale(1.08)}

/* pagina del singolo servizio (26/10/2026): testo e fasi affiancati, icone negli altri servizi */
.svc-come{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;align-items:start}
.svc-come .mac-desc p{max-width:62ch}
@media (max-width:900px){.svc-come{grid-template-columns:1fr;gap:24px}}
.mrel .th-ic{aspect-ratio:auto;height:64px;display:grid;place-items:center;background:#f1f3f5}
.mrel .th-ic svg{width:28px;height:28px;stroke:var(--red);fill:none;stroke-width:1.8}
/* menu da telefono: in cima a ogni tendina il link alla pagina della categoria (Lorenzo, 26/10/2026) */
#drawer .dall{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-weight:600;color:inherit;text-decoration:none}
#drawer .dall svg{width:16px;height:16px}
