/* Stili della bozza originale. Le revisioni grafiche sono in revisione.css, caricato dopo. */
:root{
  --bg:#f4f5f6; --paper:#ffffff; --ink:#15181c; --muted:#5a616a; --line:#e1e4e8; --soft:#eceef1;
  --red:#e1261c; --red2:#ff4a3d; --steel:#9aa2ab; --grey:#c6ccd3;
  --dark:#0f1216; --dark2:#171b21; --dline:#262c34; --dmuted:#9aa3ad;
  --stage:#fafafa; --r:28px; --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
/* arrivo su una sezione (#ancora): il titolo si ferma sempre a 20px sotto la testata ridotta.
   Un solo valore per tutto il sito: le sezioni non hanno scroll-margin propri, altrimenti i margini si sommano.
   Niente scroll-behavior:smooth qui: farebbe scorrere la pagina dall'alto all'apertura; lo scorrimento morbido sui clic lo fa avvio.js */
:root{--testata:76px}
@media (max-width:1060px){:root{--testata:68px}}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--testata) + 20px)}
html:has(.subnav){scroll-padding-top:calc(env(safe-area-inset-top,0px) + 86px + 52px + 20px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid #2f6bff;outline-offset:3px;border-radius:6px}
.wrap{width:min(1280px,100% - 40px);margin-inline:auto}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* progress + header */
#prog{position:fixed;top:env(safe-area-inset-top,0px);left:0;height:3px;width:0;background:linear-gradient(90deg,var(--red),var(--red2));z-index:60}
header.top{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:50;transition:top .4s var(--ease)}
.nav-shell{display:flex;align-items:center;gap:8px;height:74px;padding:0 10px 0 12px;border-radius:20px;
  background:color-mix(in srgb,var(--paper) 72%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 10px 40px rgba(15,18,22,.08);transition:height .4s var(--ease),border-radius .4s var(--ease)}
header.top.small .nav-shell{height:64px}
header.top.small .logo img{height:38px}
.logo img{transition:height .4s var(--ease)}
.logo{display:block;background:#fff;padding:4px 10px;border-radius:10px;margin-right:12px}
.logo img{height:46px;width:auto;mix-blend-mode:multiply}
.mnav{display:flex;align-items:center;gap:2px;margin-left:auto}
.mnav>.it>button,.mnav>.it>a{display:flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:12px;border:0;background:none;font:inherit;font-size:15px;font-weight:550;color:var(--ink);cursor:pointer;transition:background .25s}
.mnav>.it>button:hover,.mnav>.it>a:hover,.mnav>.it.open>button{background:var(--soft)}
.mnav .chev{width:10px;height:10px;transition:transform .35s var(--ease)}
.mnav .it.open .chev{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:calc(100% + 10px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);transform-origin:top center;
  transition:opacity .3s var(--ease),transform .4s var(--ease),visibility .3s;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 80px rgba(15,18,22,.16);padding:22px;display:grid;gap:22px}
.it.open .mega{opacity:1;visibility:visible;transform:none}
.mega.prod{grid-template-columns:repeat(3,minmax(0,1fr)) 300px}
.mega.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 300px}
.mcol h4{margin:4px 10px 10px;font-size:12.5px;font-weight:650;color:var(--muted);letter-spacing:.02em}
.mlink{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:8px 10px;border-radius:14px;transition:background .2s}
.mlink:hover{background:var(--soft)}
.mlink .th{width:56px;height:44px;border-radius:10px;background:#f6f7f8 center/contain no-repeat;border:1px solid #eceef0}
.mlink b{display:block;font-size:14.5px;font-weight:600;line-height:1.25}
.mlink span{display:block;font-size:12.5px;color:var(--muted);line-height:1.3}
.mlink.noimg{grid-template-columns:1fr}
.mfeat{border-radius:18px;background:var(--dark);color:#fff;padding:22px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:240px}
.mfeat::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 220px at 80% 0%,rgba(225,38,28,.55),transparent 60%)}
.mfeat>*{position:relative}
.mfeat b{font-size:20px;font-stretch:112%;line-height:1.15;margin-bottom:8px}
.mfeat p{margin:0 0 14px;font-size:14px;color:#c3c9d0}
.cta-top{margin-left:8px}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:0;background:var(--soft);cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:transform .35s var(--ease),opacity .2s}
.burger i:nth-child(1){top:16px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:26px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:45;background:var(--paper);padding:calc(env(safe-area-inset-top,0px) + 96px) 22px calc(env(safe-area-inset-bottom,0px) + 30px);overflow-y:auto;
  clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .6s var(--ease);visibility:hidden}
.drawer.open{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;padding:18px 0;font-size:24px;font-weight:650;font-stretch:110%;display:flex;justify-content:space-between;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";color:var(--red);transition:transform .3s}
.drawer details[open] summary::after{transform:rotate(45deg)}
.drawer details a{display:block;padding:9px 0 9px 4px;color:var(--muted);font-size:16.5px}
.drawer details div{padding-bottom:14px}
.drawer>a{display:block;padding:18px 0;font-size:24px;font-weight:650;font-stretch:110%;border-bottom:1px solid var(--line)}
@media (max-width:1060px){.mnav,.cta-top{display:none}.burger{display:block}}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font:inherit;font-weight:620;font-size:15.5px;border:0;cursor:pointer;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;will-change:transform;isolation:isolate}
.btn .ar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);transition:transform .4s var(--ease)}
.btn:hover .ar{transform:translateX(4px) rotate(-45deg)}
.btn.red{background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(225,38,28,.32)}
.btn.red::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120px 120px at var(--bx,50%) var(--by,50%),rgba(255,255,255,.35),transparent 70%);opacity:0;transition:opacity .3s}
.btn.red:hover::before{opacity:1}
.btn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.btn.ghost .ar{background:var(--soft)}
.btn.sm{height:42px;padding:0 18px;font-size:14.5px}
.btn.light{background:#fff;color:#15181c}

/* page transition */
#app{animation:pin .7s var(--ease)}
@keyframes pin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

/* hero */
.hero{position:relative;padding:150px 0 70px;overflow:hidden}
.flow{position:absolute;inset:0;pointer-events:none;z-index:0}
.flow path{fill:none;stroke-linecap:round}
.flow .p1{stroke:var(--red);stroke-width:1.6;opacity:.35}
.flow .p2{stroke:var(--grey);stroke-width:1.2;opacity:.7}
@keyframes flow{to{stroke-dashoffset:-320}}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13.5px;color:var(--muted);margin-bottom:24px}
.pill i{width:22px;height:22px;border-radius:50%;background:var(--red);display:grid;place-items:center;color:#fff;font-style:normal;font-size:11px}
.pill i::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.8s infinite}
@keyframes pulse{50%{transform:scale(1.8);opacity:.4}}
h1{font-weight:760;font-stretch:118%;font-size:clamp(40px,5.2vw,74px);line-height:.98;letter-spacing:-.025em;margin:0 0 24px}
h1 .w{display:inline-block;animation:wd 1.2s var(--ease) both;animation-delay:calc(var(--i)*70ms)}
@keyframes wd{from{opacity:0;font-stretch:62%;transform:translateY(.35em)}to{opacity:1;font-stretch:118%;transform:none}}
.lead{font-size:19px;color:var(--muted);max-width:32em;margin:0 0 32px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.tilt-wrap{perspective:1400px}
.tilt{position:relative;border-radius:var(--r);background:var(--stage);transform-style:preserve-3d;transition:transform .6s var(--ease);box-shadow:0 40px 90px -30px rgba(15,18,22,.28)}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(500px 300px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 60%);mix-blend-mode:soft-light}
.tilt img{border-radius:var(--r);mix-blend-mode:multiply}
.stats{display:grid;grid-template-columns:repeat(3,auto);gap:34px;margin-top:44px;justify-content:start}
.stats b{display:block;font-stretch:120%;font-size:34px;font-weight:760;line-height:1}
.stats span{font-size:13.5px;color:var(--muted)}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.hero{padding-top:120px}.stats{grid-template-columns:repeat(3,1fr);gap:16px}}

/* marquee */
.marq{overflow:hidden;border-block:1px solid var(--line);background:var(--paper);padding:20px 0;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marq div{display:flex;gap:56px;width:max-content;animation:mq 34s linear infinite}
.marq:hover div{animation-play-state:paused}
.marq span{font-size:clamp(20px,2.4vw,30px);font-weight:700;font-stretch:120%;color:var(--steel);transition:color .3s,font-stretch .4s}
.marq span:hover{color:var(--red);font-stretch:75%}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
section{padding:110px 0;position:relative}
.sh{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:40px;align-items:end;margin-bottom:52px}
.sh .k{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--red);margin-bottom:14px}
.sh .k::before{content:"";width:28px;height:2px;background:var(--red)}
.sh h2{margin:0;font-weight:740;font-stretch:115%;font-size:clamp(32px,4.2vw,58px);line-height:1;letter-spacing:-.02em}
.sh p{margin:0;color:var(--muted);font-size:17.5px;max-width:34em}
@media (max-width:860px){.sh{grid-template-columns:1fr;gap:16px}}
.dark{background:var(--dark);color:#eef0f2}
.dark .sh p,.dark .muted{color:var(--dmuted)}
.gridbg{background-image:linear-gradient(var(--dline) 1px,transparent 1px),linear-gradient(90deg,var(--dline) 1px,transparent 1px);background-size:56px 56px;background-position:center}
.round-top{border-radius:48px 48px 0 0;margin-top:-48px}
.wave{display:block;width:100%;height:80px}

/* spotlight cards */
.spot{position:relative;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s;transform-style:preserve-3d}
.spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(420px 260px at var(--mx,50%) var(--my,50%),rgba(225,38,28,.10),transparent 60%)}
.spot:hover{box-shadow:0 30px 70px -28px rgba(15,18,22,.3);border-color:color-mix(in srgb,var(--red) 35%,var(--line))}
.spot:hover::before{opacity:1}
.dark .spot{background:var(--dark2);border-color:var(--dline)}
.dark .spot::before{background:radial-gradient(420px 260px at var(--mx,50%) var(--my,50%),rgba(255,74,61,.22),transparent 60%)}

/* bento */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(150px,auto);gap:16px}
.bento .spot{display:flex;flex-direction:column}
.b-a{grid-column:span 7;grid-row:span 3}.b-b{grid-column:span 5;grid-row:span 3}
.b-c{grid-column:span 4;grid-row:span 3}.b-d{grid-column:span 4;grid-row:span 3}.b-e{grid-column:span 4;grid-row:span 3}
.bento .im{flex:1;min-height:200px;background:var(--stage);display:grid;place-items:center;overflow:hidden}
.bento .im img{width:100%;height:100%;object-fit:contain;padding:14px;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.bento .spot:hover .im img{transform:scale(1.05)}
.bento .tx{padding:22px 24px 24px;display:flex;justify-content:space-between;gap:16px;align-items:flex-end}
.bento h3{margin:0 0 4px;font-size:22px;font-stretch:112%;line-height:1.1}
.bento p{margin:0;font-size:14.5px;color:var(--muted)}
.go{flex:none;width:44px;height:44px;border-radius:50%;background:var(--soft);display:grid;place-items:center;transition:background .3s,transform .5s var(--ease)}
.spot:hover .go{background:var(--red);transform:rotate(-45deg)}
.spot:hover .go svg{stroke:#fff}
.go svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:2}
@media (max-width:960px){.bento{grid-template-columns:1fr 1fr}.bento>*{grid-column:span 1!important;grid-row:auto!important}}
@media (max-width:600px){.bento{grid-template-columns:1fr}}

/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pc{display:flex;flex-direction:column}
.pc .im{aspect-ratio:4/3;background:var(--stage);overflow:hidden;position:relative}
.pc .im img{width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:multiply;transition:transform .9s var(--ease)}
.pc:hover .im img{transform:scale(1.06) translateY(-4px)}
.pc .tx{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column;gap:6px}
.pc h3{margin:0;font-size:18px;font-stretch:108%;line-height:1.2}
.pc p{margin:0;font-size:14.5px;color:var(--muted);flex:1}
.pc .more{margin-top:10px;font-size:14px;font-weight:620;display:flex;align-items:center;gap:8px;color:var(--red)}
.pc .more svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .4s var(--ease)}
.pc:hover .more svg{transform:translateX(5px)}
@media (max-width:1100px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pgrid{grid-template-columns:1fr}}

/* interactive line */
.linebox{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px;align-items:stretch}
.linebox .stage{position:relative;background:#fafafa;border-radius:var(--r);overflow:hidden}
.linebox .stage img{mix-blend-mode:multiply}
.hs{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;background:#fff;color:#15181c;font:700 14px "Archivo",sans-serif;box-shadow:0 0 0 2px var(--red),0 6px 18px rgba(0,0,0,.2);display:grid;place-items:center;transition:transform .3s var(--ease),background .3s}
.hs:hover{transform:translate(-50%,-50%) scale(1.15)}
.hs[aria-pressed="true"]{background:var(--red);color:#fff}
.hs::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--red);opacity:0;animation:ping 2.4s infinite}
@keyframes ping{0%{transform:scale(.8);opacity:.7}80%,100%{transform:scale(1.6);opacity:0}}
.steps-list{display:flex;flex-direction:column;gap:6px}
.steps-list button{all:unset;cursor:pointer;display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid var(--dline);transition:background .3s,border-color .3s}
.steps-list button:hover{background:var(--dark2)}
.steps-list button[aria-pressed="true"]{background:var(--dark2);border-color:var(--red)}
.steps-list .n{font-style:normal;color:#fff;width:28px;height:28px;border-radius:50%;background:var(--dline);display:grid;place-items:center;font-weight:700;font-size:13px}
.steps-list button[aria-pressed="true"] .n{background:var(--red)}
.steps-list b{display:block;font-size:15.5px}
.steps-list span{display:block;font-size:13.5px;color:var(--dmuted);max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.steps-list button[aria-pressed="true"] span{max-height:80px;margin-top:4px}
.steps-list button:focus-visible{outline:3px solid #2f6bff}
@media (max-width:960px){.linebox{grid-template-columns:1fr}}

/* method sinuous */
.method{position:relative}
.method svg.path{position:absolute;left:0;right:0;top:34px;width:100%;height:120px;overflow:visible}
.method svg.path path{fill:none;stroke:var(--grey);stroke-width:2}
.method svg.path path.on{stroke:var(--red);stroke-width:3;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 2.4s var(--ease)}
.method.in svg.path path.on{stroke-dashoffset:0}
.msteps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.msteps .dot{width:68px;height:68px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:grid;place-items:center;font-weight:780;font-stretch:120%;font-size:24px;margin-bottom:22px;transition:border-color .4s,background .4s,color .4s}
.method.in .msteps>div .dot{border-color:var(--red)}
.msteps>div:hover .dot{background:var(--red);color:#fff}
.msteps h3{margin:0 0 6px;font-size:19px;font-stretch:110%}
.msteps p{margin:0;font-size:14.5px;color:var(--muted)}
.msteps>div:nth-child(even){margin-top:56px}
@media (max-width:900px){.method svg.path{display:none}.msteps{grid-template-columns:1fr 1fr}.msteps>div:nth-child(even){margin-top:0}}
@media (max-width:520px){.msteps{grid-template-columns:1fr}}

/* split / lists */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.acc{display:flex;flex-direction:column;gap:12px}
.acc a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 26px}
.acc h3{margin:0 0 4px;font-size:21px;font-stretch:112%}
.acc p{margin:0;font-size:15px;color:var(--muted)}
.simcard{padding:38px;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:30px;background:var(--dark)!important;color:#fff;border-color:var(--dline)!important}
.simcard h3{font-size:clamp(28px,3vw,40px);line-height:1.02;font-stretch:118%;margin:0 0 14px}
.simcard p{color:#c2c9d1;margin:0}
.wire{position:relative;height:220px;border-radius:18px;overflow:hidden;background:#0b0e11}
.wire svg{width:100%;height:100%}
.wire .scan{position:absolute;top:0;bottom:0;width:120px;background:linear-gradient(90deg,transparent,rgba(255,74,61,.35),transparent);animation:scan 3.6s var(--ease) infinite}
@keyframes scan{from{left:-120px}to{left:100%}}

/* service */
.svc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.svc a{padding:24px 22px;display:flex;flex-direction:column;gap:10px;min-height:230px}
.svc .ic{width:46px;height:46px;border-radius:14px;background:var(--soft);display:grid;place-items:center;transition:background .3s,transform .5s var(--ease)}
.svc .ic svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:1.8}
.svc a:hover .ic{background:var(--red);transform:rotate(-8deg)}
.svc a:hover .ic svg{stroke:#fff}
.svc h3{margin:6px 0 0;font-size:18px;font-stretch:110%}
.svc p{margin:0;font-size:14px;color:var(--muted)}
@media (max-width:1100px){.svc{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.svc{grid-template-columns:1fr}}

/* news */
.news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.news article{padding:26px;display:flex;flex-direction:column;gap:10px;min-height:240px}
.news small{color:var(--muted);font-size:13px}
.news h3{margin:0;font-size:21px;font-stretch:110%;line-height:1.2}
.news p{margin:0;color:var(--muted);font-size:15px;flex:1}
@media (max-width:860px){.news{grid-template-columns:1fr}}

/* cta */
.ctab{border-radius:40px;background:var(--red);color:#fff;padding:70px 56px;position:relative;overflow:hidden;display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:space-between}
.ctab::before{content:"";position:absolute;width:600px;height:600px;right:-160px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 65%);animation:float 9s ease-in-out infinite}
@keyframes float{50%{transform:translate(-60px,40px)}}
.ctab h2{position:relative;margin:0;font-stretch:118%;font-size:clamp(30px,4vw,54px);line-height:1;max-width:14em;letter-spacing:-.02em}
.ctab .btn{position:relative}
@media (max-width:600px){.ctab{padding:44px 26px;border-radius:28px}}

/* page hero */
.phero{padding:140px 0 70px;position:relative;overflow:hidden}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);margin:0 0 22px}
.crumb a:hover{color:var(--ink)}
.crumb i{font-style:normal;opacity:.5}
.phero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:44px;align-items:center;position:relative;z-index:1}
.phero h1{font-size:clamp(36px,5vw,68px)}
.phero .tilt img{aspect-ratio:4/3;object-fit:contain;padding:18px}
.phero .tilt.svgi img{mix-blend-mode:normal}
@media (max-width:960px){.phero-grid{grid-template-columns:1fr}}

/* sticky subnav */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 86px);z-index:30;margin:-30px 0 0}
.subnav .wrap{display:flex;gap:4px;padding:6px;border-radius:999px;background:color-mix(in srgb,var(--paper) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);width:max-content;max-width:calc(100% - 40px);overflow-x:auto;scrollbar-width:none}
.subnav a{padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .3s,color .3s}
.subnav a.on{background:var(--ink);color:var(--paper)}
.problem{font-size:clamp(24px,2.8vw,38px);line-height:1.22;font-stretch:108%;font-weight:560;max-width:28em;margin:0;letter-spacing:-.01em}
.flowsteps{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.flowsteps .spot{padding:24px}
.flowsteps .n{font-size:48px;font-weight:800;font-stretch:125%;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--red);margin-bottom:22px}
.flowsteps p{margin:0;font-size:15.5px}
@media (max-width:900px){.flowsteps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.flowsteps{grid-template-columns:1fr}}
.ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ben .spot{padding:30px}
.ben h3{margin:18px 0 8px;font-size:22px;font-stretch:112%}
.ben p{margin:0;color:var(--dmuted)}
.ben .bi{width:52px;height:52px;border-radius:16px;background:rgba(225,38,28,.14);display:grid;place-items:center}
.ben .bi svg{width:24px;height:24px;stroke:var(--red2);fill:none;stroke-width:1.8}
@media (max-width:860px){.ben{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{padding:12px 18px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-weight:600;font-size:15px;transition:background .3s,color .3s,transform .4s var(--ease)}
.chips span:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}
.spec{width:100%;border-collapse:collapse;font-size:15.5px}
.spec td{padding:16px 0;border-bottom:1px solid var(--line)}
.spec td:last-child{text-align:right;color:var(--muted)}
.rel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.rel>.pc{flex:0 0 min(320px,80%);scroll-snap-align:start}
.box{padding:34px}
.todo{background:#fff7d6;color:#5b4a00;border-radius:16px;padding:14px 18px;font-size:14.5px;margin-top:22px}

/* forms */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px}
form label{display:grid;gap:6px;font-size:14px;font-weight:600}
form .full{grid-column:1/-1}
input,select,textarea{font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:14px;width:100%;transition:border-color .3s,box-shadow .3s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(225,38,28,.12)}
textarea{min-height:130px;resize:vertical}
.ok{grid-column:1/-1;padding:14px 16px;background:var(--soft);border-radius:14px;display:none;font-size:14.5px}
@media (max-width:900px){.contact{grid-template-columns:1fr}form{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:0}
.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}
.urltable{width:100%;border-collapse:collapse;font-size:14px}
.urltable th,.urltable td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.urltable th{font-size:13px;color:var(--muted)}
.urltable code{font-size:13px;word-break:break-all}
.urltable .new{color:var(--red);font-weight:700;font-size:12px}
.tw{overflow-x:auto}

/* footer */
footer{background:var(--dark);color:#d9dde2;padding:90px 0 40px;margin-top:110px;border-radius:48px 48px 0 0;position:relative;overflow:hidden}
footer .big{font-weight:800;font-stretch:125%;font-size:clamp(70px,16vw,240px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px #2c333c;margin-top:60px;user-select:none;transition:-webkit-text-stroke-color .5s}
footer:hover .big{-webkit-text-stroke-color:var(--red)}
.fgrid{display:grid;grid-template-columns:minmax(0,4fr) repeat(4,minmax(0,2fr));gap:30px}
.fgrid h4{margin:0 0 14px;font-size:13px;color:#7f8892;font-weight:600}
.fgrid a{display:block;padding:5px 0;font-size:15px;color:#d9dde2;transition:color .2s,transform .3s var(--ease)}
.fgrid a:hover{color:#fff;transform:translateX(4px)}
.fl{background:#fff;padding:6px 10px;display:inline-block;border-radius:10px}
.fl img{height:46px;width:auto;mix-blend-mode:multiply}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid #262c34;font-size:13.5px;color:#7f8892}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}

/* tools */
.seo{position:fixed;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:40;background:#15181c;color:#e9ecef;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace;border-radius:16px;padding:14px 18px;display:none;grid-template-columns:auto 1fr;gap:3px 14px;max-width:900px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.seo.on{display:grid}
.seo b{color:#ff7a72;font-weight:600}
.tools{position:fixed;left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:41;display:flex;gap:8px}
.tools button,.tools span{background:#15181c;color:#fff;border:0;font:600 12px "Archivo",sans-serif;padding:10px 14px;border-radius:999px;cursor:pointer}
.tools span{background:rgba(21,24,28,.75);cursor:default}
.cursor{position:fixed;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--red);pointer-events:none;z-index:70;mix-blend-mode:multiply;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s;opacity:0}
.cursor.big{width:54px;height:54px;opacity:.25!important}
@media (hover:none){.cursor{display:none}}

.mlink span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:1060px){.nav-shell .cta-top{display:none}}

/* video-like hero */
.vhero{position:relative;min-height:max(640px,100svh);display:flex;align-items:flex-end;overflow:hidden;background:#0f1216;color:#fff;padding:0}
.vhero .bgv{position:absolute;inset:0;overflow:hidden}
.vhero .bgv img{max-width:none;position:absolute;right:-4%;top:50%;width:min(1400px,92%);transform-origin:60% 50%;transform:translateY(-50%) scale(1.04);animation:kb 26s ease-in-out infinite alternate;filter:saturate(1.05) contrast(1.04)}
.vhero .bgv::before{content:"";position:absolute;inset:0;background:#f4f4f3}
.vhero .bgv::after{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(15,18,22,.94) 0%,rgba(15,18,22,.82) 30%,rgba(15,18,22,.35) 58%,rgba(15,18,22,.05) 80%),
 linear-gradient(0deg,rgba(15,18,22,.85) 0%,rgba(15,18,22,0) 38%)}
.vhero .sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.10) 50%,transparent 60%);background-size:250% 100%;animation:sweep 9s ease-in-out infinite;mix-blend-mode:screen;pointer-events:none}
@keyframes kb{from{transform:translateY(-50%) scale(1.04) translateX(0)}to{transform:translateY(-52%) scale(1.16) translateX(-3%)}}
@keyframes sweep{0%,30%{background-position:120% 0}70%,100%{background-position:-20% 0}}
.vhero .wrap{position:relative;z-index:2;padding:170px 0 64px}
.vhero h1{color:#fff;max-width:11em;animation:fadeup 1.2s var(--ease) both}
.vhero .lead{color:#c9cfd6;animation:fadeup 1.2s .15s var(--ease) both}
.vhero .ctas{animation:fadeup 1.2s .3s var(--ease) both}
.vhero .pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#dfe3e8;backdrop-filter:blur(8px)}
.vhero .stats{margin-top:56px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.vhero .stats span{color:#aab2bb}
.vhero .btn.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.vhero .btn.ghost .ar{background:rgba(255,255,255,.14)}
.vhero .live{position:absolute;right:20px;bottom:24px;z-index:2;display:flex;align-items:center;gap:8px;font-size:12.5px;color:#cfd5db;background:rgba(15,18,22,.55);backdrop-filter:blur(8px);padding:8px 12px;border-radius:999px}
.vhero .live i{width:8px;height:8px;border-radius:50%;background:var(--red2)}
@keyframes fadeup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width:860px){.vhero .bgv img{width:175%;right:-45%;top:24%}.vhero .bgv::after{background:linear-gradient(0deg,rgba(15,18,22,.97) 0%,rgba(15,18,22,.9) 45%,rgba(15,18,22,.3) 66%,rgba(15,18,22,0) 82%)}.vhero .wrap{padding-top:300px}}

.athumb{width:120px;height:90px;object-fit:contain;background:var(--stage);border-radius:16px;flex:none;mix-blend-mode:multiply}
@media (max-width:520px){.athumb{width:84px;height:64px}}
.phero .tilt img[src*="P15"]{mix-blend-mode:normal}

.phero .tilt.full img{padding:0;object-fit:cover;mix-blend-mode:normal}

/* lingue */
.lang{position:relative;margin-left:8px}
.lang-btn{display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;transition:background .25s}
.lang-btn:hover,.lang.open .lang-btn{background:var(--soft)}
.lang-btn b{font-weight:650}
.lang .chev{width:10px;height:10px;transition:transform .3s var(--ease)}
.lang.open .chev{transform:rotate(180deg)}
.flag{width:24px;height:16px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.lang-pop{position:absolute;right:0;top:calc(100% + 10px);width:250px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(15,18,22,.18);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:2px;
 opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .35s var(--ease),visibility .25s;z-index:60}
.lang.open .lang-pop{opacity:1;visibility:visible;transform:none}
.lang-pop button{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.lang-pop button:hover{background:var(--soft)}
.lang-pop button[aria-checked="true"]{background:var(--soft);font-weight:650}
.lang-pop p{grid-column:1/-1;margin:6px 8px 4px;font-size:12px;color:var(--muted)}
@media (max-width:1060px){.lang{margin-left:auto;margin-right:8px}.burger{margin-left:0}}
@media (max-width:420px){.lang-btn b{display:none}}
.dflags{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:24px}
.dflags button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:12px;font-weight:650}
.dflags button.on{border-color:var(--red)}
#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;background:#15181c;color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;z-index:80;transition:opacity .3s,transform .4s var(--ease);pointer-events:none;max-width:calc(100% - 40px);text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* animazioni */
.animbox{position:relative;border-radius:var(--r);overflow:hidden;background:#0b0e11;border:1px solid #232a32;box-shadow:0 40px 80px -40px rgba(15,18,22,.5);margin-bottom:16px}
.animbox canvas{display:block;width:100%;aspect-ratio:16/9}
.ahud{position:absolute;left:16px;top:14px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:#c7cdd4;background:rgba(11,14,17,.7);padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--red2);box-shadow:0 0 0 0 rgba(255,74,61,.6);animation:ld 1.6s infinite}
@keyframes ld{70%{box-shadow:0 0 0 8px rgba(255,74,61,0)}100%{box-shadow:0 0 0 0 rgba(255,74,61,0)}}
.aplay{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;border:1px solid #2c343d;background:rgba(11,14,17,.75);color:#fff;font-size:12px;cursor:pointer;backdrop-filter:blur(6px)}
.aplay:hover{background:var(--red);border-color:var(--red)}
.fstep{all:unset;box-sizing:border-box;cursor:pointer;display:block;position:relative;padding:24px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
.fstep:focus-visible{outline:3px solid #2f6bff;outline-offset:3px}
.fstep .n{font-size:48px;font-weight:800;font-stretch:125%;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--grey);margin-bottom:22px;transition:-webkit-text-stroke-color .3s,color .3s}
.fstep p{margin:0;font-size:15.5px}
.fstep .bar{position:absolute;left:24px;right:24px;bottom:14px;height:3px;background:var(--soft);border-radius:3px;overflow:hidden}
.fstep .bar b{position:absolute;inset:0;background:var(--red);transform:scaleX(0);transform-origin:left}
.fstep.on{border-color:var(--red);box-shadow:0 20px 50px -25px rgba(225,38,28,.45);transform:translateY(-4px)}
.fstep.on .n{-webkit-text-stroke-color:var(--red);color:rgba(225,38,28,.08)}
.fstep.on .bar b{animation:barfill 2.2s linear forwards}
@keyframes barfill{to{transform:scaleX(1)}}
.sc{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}
.sc-tabs{display:flex;flex-direction:column;gap:4px;max-height:640px;overflow-y:auto;padding-right:6px;scrollbar-width:thin}
.sc-tabs button{all:unset;cursor:pointer;display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:8px 10px;border-radius:14px;border:1px solid transparent;color:#cfd5db;font-size:14.5px;font-weight:550;transition:background .25s,border-color .25s}
.sc-tabs button:hover{background:#171b21}
.sc-tabs button[aria-selected="true"]{background:#171b21;border-color:var(--red);color:#fff}
.sc-tabs .th{width:52px;height:40px;border-radius:9px;background:#f6f7f8 center/cover no-repeat}
.sc-tabs button:focus-visible{outline:3px solid #2f6bff}
.sc-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.sc-steps button{all:unset;cursor:pointer;display:grid;grid-template-columns:26px 1fr;gap:10px;padding:12px;border-radius:14px;border:1px solid #232a32;color:#9aa3ad;font-size:13.5px;line-height:1.35;transition:border-color .3s,color .3s,background .3s}
.sc-steps button em{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#232a32;color:#fff;font-weight:700;font-size:12px}
.sc-steps button.on{border-color:var(--red);color:#fff;background:#171b21}
.sc-steps button.on em{background:var(--red)}
.dark .btn.ghost{background:#171b21;color:#fff;border-color:#2c343d}
@media (max-width:980px){.sc{grid-template-columns:1fr}.sc-tabs{flex-direction:row;overflow-x:auto;max-height:none;padding-bottom:6px}.sc-tabs button{grid-template-columns:40px auto;white-space:nowrap}.sc-tabs .th{width:40px;height:30px}.sc-steps{grid-template-columns:1fr 1fr}}
.lb-light .steps-list button{border-color:var(--line);color:var(--ink)}
.lb-light .steps-list button:hover,.lb-light .steps-list button[aria-pressed="true"]{background:var(--paper)}
.lb-light .steps-list button[aria-pressed="true"]{border-color:var(--red)}
.lb-light .steps-list span{color:var(--muted)}
.lb-light .steps-list .n{background:var(--soft);color:var(--ink)}
.lb-light .steps-list button[aria-pressed="true"] .n{background:var(--red);color:#fff}

/* ===== menu v2 ===== */
.mnav{gap:4px}
.mnav .it{position:static;display:flex;align-items:center;border-radius:12px;transition:background .2s}
.mnav .it:hover,.mnav .it.open{background:var(--soft)}
.mnav .tl{display:flex;align-items:center;height:42px;padding:0 4px 0 14px;font-size:15px;font-weight:600;color:var(--ink);border-radius:12px}
.mnav .tl.solo{padding:0 14px}
.mnav .tc{display:grid;place-items:center;width:30px;height:42px;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:10px;padding:0 8px 0 2px}
.mnav .tc:hover{color:var(--ink)}
.mnav .it.open .chev{transform:rotate(180deg)}
.mnav .it.cur .tl{color:var(--red)}
.mnav .it.cur::after{content:"";position:absolute;width:0;height:0}
.mnav .it.cur{box-shadow:inset 0 -2px 0 var(--red)}
.mega{top:calc(100% + 12px)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.mega.mp{grid-template-columns:240px minmax(0,1fr);padding:14px;gap:14px}
.rail{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--bg);border-radius:18px}
.rail [role=tab]{all:unset;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 14px;border-radius:14px;font-weight:650;font-size:15px;color:var(--ink);transition:background .2s}
.rail [role=tab] small{grid-column:1;font-weight:500;font-size:12.5px;color:var(--muted);margin-top:2px}
.rail [role=tab] .chev{grid-column:2;grid-row:1/span 2;width:10px;height:10px;transform:rotate(-90deg);opacity:.4;transition:opacity .2s,transform .3s var(--ease)}
.rail [role=tab][aria-selected=true]{background:var(--paper);box-shadow:0 6px 18px rgba(15,18,22,.08)}
.rail [role=tab][aria-selected=true] .chev{opacity:1;color:var(--red);transform:rotate(-90deg) translateY(3px)}
.rail [role=tab]:focus-visible{outline:3px solid #2f6bff}
.rail-all{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:14px;font-weight:650;font-size:14.5px;color:#fff;background:var(--ink)}
.rail-all .ar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16)}
.panes{min-height:330px}
.pane{display:none;animation:paneIn .35s var(--ease)}
.pane.on{display:block}
@keyframes paneIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.pane-h{display:flex;justify-content:space-between;align-items:baseline;padding:6px 6px 12px}
.pane-h b{font-size:17px;font-stretch:110%}
.pane-h a{font-size:13.5px;font-weight:600;color:var(--red)}
.pgr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pgr.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.mcard{display:flex;flex-direction:column;gap:4px;padding:8px 8px 12px;border-radius:16px;border:1px solid transparent;transition:background .2s,border-color .2s,transform .35s var(--ease)}
.mcard:hover,.mcard:focus-visible{background:var(--bg);border-color:var(--line);transform:translateY(-2px)}
.mcard .mi{display:block;aspect-ratio:4/3;border-radius:12px;background:#f6f7f8;overflow:hidden;margin-bottom:6px}
.mcard .mi img{width:100%;height:100%;object-fit:contain;padding:6px;mix-blend-mode:multiply;transition:transform .6s var(--ease)}
.mcard:hover .mi img{transform:scale(1.06)}
.mcard b{font-size:14.5px;line-height:1.25;padding:0 4px}
.mcard>span:last-child{font-size:12.5px;color:var(--muted);line-height:1.35;padding:0 4px}
.mega.mc{grid-template-columns:minmax(0,1fr) 280px;padding:14px;gap:14px}
.mega.ms{grid-template-columns:minmax(0,1fr) 280px;padding:14px;gap:14px}
.slist{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start}
.srow{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:12px;border-radius:14px;transition:background .2s}
.srow:hover,.srow:focus-visible{background:var(--bg)}
.srow .ic{width:42px;height:42px;border-radius:12px;background:var(--soft);display:grid;place-items:center;transition:background .25s}
.srow .ic svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:1.8}
.srow:hover .ic{background:var(--red)}.srow:hover .ic svg{stroke:#fff}
.srow b{display:block;font-size:14.5px}
.srow small{display:block;font-size:12.5px;color:var(--muted);line-height:1.35}
.mega.mini{left:auto;right:auto;width:280px;padding:8px;display:grid;gap:2px;margin-left:-10px}
.mnav .it[data-id=az]{position:relative}
.mnav .it[data-id=az] .mega.mini{left:0}
.scrim{position:fixed;inset:0;top:0;background:rgba(15,18,22,.28);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:-1}
body.mega-open .scrim{opacity:1;visibility:visible}
@media (max-width:1240px){.pgr,.pgr.four{grid-template-columns:repeat(3,minmax(0,1fr))}.mega.mc,.mega.ms{grid-template-columns:1fr}.mega.mc .mfeat,.mega.ms .mfeat{display:none}}
/* drawer v2 */
.drawer{padding-left:20px;padding-right:20px}
.dsec{padding:18px 0;border-bottom:1px solid var(--line)}
.dhead{display:flex;justify-content:space-between;align-items:baseline;font-size:22px;font-weight:700;font-stretch:110%;margin-bottom:10px}
.dhead span{font-size:14px;font-weight:600;color:var(--red);font-stretch:100%}
.drawer details{border:0;border-radius:14px;background:var(--bg);margin-top:8px}
.drawer details summary{font-size:16px;font-weight:650;padding:14px 16px;font-stretch:100%}
.drawer details summary small{margin-left:8px;font-size:12px;color:var(--muted);font-weight:600;margin-right:auto}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 12px}
.dsec>.dgrid{padding:0}
.dgrid a{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-size:13.5px;font-weight:600;line-height:1.25}
.dgrid .th{display:block;width:100%;aspect-ratio:4/3;border-radius:8px;background:#f6f7f8 center/contain no-repeat}
.dlinks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dlinks a{padding:12px 14px;border-radius:12px;background:var(--bg);font-weight:600;font-size:15px}
.drawer a.cur{border-color:var(--red);color:var(--red)}
.dcta{position:sticky;bottom:0;padding:16px 0 4px;background:linear-gradient(transparent,var(--paper) 30%)}
.dcta .btn{width:100%;justify-content:center}
.drawer .dflags{margin-top:0}
.mnav>.it>.tc{padding:0 10px 0 0;width:30px;height:42px;background:none}
.mnav>.it>.tc:hover{background:none}
.mnav>.it>.tl{padding:0 6px 0 14px}
.mnav>.it>.tl.solo{padding:0 14px}
.mnav .it.open .rail .chev,.rail .chev{transform:rotate(-90deg)}
.mnav .it.open .rail [aria-selected=true] .chev{transform:rotate(-90deg) translateY(3px)}
.drawer .dgrid a{color:var(--ink);padding:8px;font-size:13px;display:flex;overflow-wrap:anywhere;hyphens:auto}
.drawer details summary small{align-self:center;background:var(--paper);border-radius:999px;padding:2px 8px}
.mega.mini .srow{padding:8px 10px;grid-template-columns:34px 1fr}
.mega.mini .srow .ic{width:34px;height:34px;border-radius:10px}
.mega.mini .srow .ic svg{width:17px;height:17px}
/* pagina prodotto v2 */
.hl{list-style:none;padding:0;margin:-8px 0 30px;display:flex;flex-wrap:wrap;gap:8px}
.hl li{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:14px;font-weight:600}
.hl svg{width:16px;height:16px;fill:none;stroke:var(--red);stroke-width:2.2}
.kstrip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px;border-radius:22px;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.kstrip>div{padding:18px 22px;border-left:1px solid var(--line)}
.kstrip>div:first-child{border-left:0}
.kstrip small{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px}
.kstrip b{font-size:15.5px;line-height:1.3}
@media (max-width:860px){.kstrip{grid-template-columns:1fr 1fr}.kstrip>div:nth-child(3){border-left:0}.kstrip>div:nth-child(n+3){border-top:1px solid var(--line)}}
.ps{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ps .box{display:flex;flex-direction:column;gap:16px}
.ps .problem{font-size:clamp(20px,2vw,27px)}
.tagk{display:inline-flex;align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:650;color:var(--muted)}
.solution{background:var(--dark)!important;color:#fff;border-color:var(--dline)!important}
.solution .tagk{background:rgba(225,38,28,.18);color:#ff8a82}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--red2);margin-top:auto}
.lnk svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .4s var(--ease)}
.lnk:hover svg{transform:translateX(4px)}
@media (max-width:860px){.ps{grid-template-columns:1fr}}
.confg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.conf{padding:28px}
.conf .cn{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-weight:800;font-stretch:120%;font-size:20px;transition:background .3s}
.conf:hover .cn{background:var(--red);color:#fff}
.conf h3{margin:18px 0 8px;font-size:20px;font-stretch:110%}
.conf p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:860px){.confg{grid-template-columns:1fr}}
.h3{margin:0 0 6px;font-size:24px;font-stretch:112%}
.doc{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding:20px 22px}
.doc b{display:block;font-size:16px}.doc span{font-size:13.5px;color:var(--muted)}
.why{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:0;border-radius:28px;background:var(--dark);color:#fff;overflow:hidden}
.why>div{padding:30px 26px;border-left:1px solid var(--dline)}
.why>div:first-child{border-left:0;background:var(--red)}
.why h3{margin:0 0 8px;font-size:26px;font-stretch:115%}
.why p{margin:0;color:#ffe0dd}
.why b{display:block;font-size:16.5px;margin-bottom:6px}
.why span{font-size:14px;color:var(--dmuted)}
@media (max-width:900px){.why{grid-template-columns:1fr}.why>div{border-left:0;border-top:1px solid var(--dline)}}
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{border-radius:18px;background:var(--paper);border:1px solid var(--line);overflow:hidden;transition:border-color .3s}
.faq details[open]{border-color:var(--red)}
.faq summary{list-style:none;cursor:pointer;padding:20px 22px;font-weight:650;font-size:16.5px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:22px;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0;padding:0 22px 20px;color:var(--muted)}
.stickycta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:42;display:none;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;border-radius:999px;background:rgba(21,24,28,.92);backdrop-filter:blur(10px);color:#fff;font-weight:650;font-size:14px}
.stickycta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){.stickycta{display:flex}.tools{display:none}}
/* ===== header v3: industriale a due livelli ===== */
header.top{top:env(safe-area-inset-top,0px);left:0;right:0}
.topbar{background:#0f1216;color:#aab2bb;font-size:13px;height:38px;overflow:visible;transition:height .4s var(--ease),opacity .3s,background .4s;border-bottom:1px solid transparent}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:20px}
.tb-r{display:flex;align-items:center;gap:22px}
.tb-r>a{color:#cfd5db;transition:color .2s}.tb-r>a:hover{color:#fff}
.topbar .lang{margin:0}
.topbar .lang-btn{height:28px;padding:0 10px;border-radius:8px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff;font-size:13px}
.topbar .lang-btn:hover,.topbar .lang.open .lang-btn{background:rgba(255,255,255,.12)}
.topbar .flag{width:20px;height:13px}
header.top.small .topbar{height:0;opacity:0;pointer-events:none}
.mainbar{background:var(--paper);border-bottom:1px solid var(--line);transition:background .4s,border-color .4s,box-shadow .4s}
header.top.small .mainbar{box-shadow:0 10px 30px rgba(15,18,22,.08)}
.nav-shell{height:84px;padding:0;border-radius:0;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
header.top.small .nav-shell{height:68px}
.logo{background:none;padding:0;margin-right:28px;border-radius:0;position:relative}
.logo img{height:54px;width:auto;mix-blend-mode:normal}
header.top.small .logo img{height:44px}
.logo .lg-w{position:absolute;left:0;top:0;opacity:0;transition:opacity .3s}
.logo .lg-d{transition:opacity .3s}
.mnav{gap:6px}
.mnav .it,.mnav .it:hover,.mnav .it.open{background:none;box-shadow:none}
.mnav>.it>.tl{position:relative;height:84px;padding:0 4px 0 12px;font-size:16px;font-weight:600;letter-spacing:-.005em;transition:color .2s,height .4s var(--ease)}
.mnav>.it>.tl.solo{padding:0 12px}
header.top.small .mnav>.it>.tl{height:68px}
.mnav>.it>.tl::after{content:"";position:absolute;left:12px;right:4px;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.mnav>.it>.tl.solo::after{right:12px}
.mnav .it:hover>.tl::after,.mnav .it.open>.tl::after,.mnav .it.cur>.tl::after{transform:scaleX(1)}
.mnav .it.cur>.tl{color:var(--ink)}
.mnav .it.cur{box-shadow:none}
.mnav>.it>.tc{color:var(--muted)}
.cta-top{border-radius:10px;height:46px}
.mega{top:100%;left:0;right:0;border-radius:0 0 28px 28px;border-top:0;padding-left:max(20px,calc((100vw - 1280px)/2))!important;padding-right:max(20px,calc((100vw - 1280px)/2))!important;padding-top:22px!important;padding-bottom:26px!important;transform:translateY(-6px);box-shadow:0 40px 80px rgba(15,18,22,.18)}
.mega::before{top:-2px;height:2px}
.mega.mini{left:0;right:auto;top:100%;border-radius:0 0 18px 18px;padding:8px!important;width:280px;margin-left:0}
.scrim{top:0}
/* stato trasparente sopra l'hero video della home */
body.hdr-dark .topbar{background:transparent;border-bottom-color:rgba(255,255,255,.12)}
body.hdr-dark .mainbar{background:transparent;border-bottom-color:rgba(255,255,255,.12)}
body.hdr-dark .mnav>.it>.tl,body.hdr-dark .mnav>.it>.tc{color:#fff}
body.hdr-dark .logo .lg-d{opacity:0}
body.hdr-dark .logo .lg-w{opacity:1}
body.hdr-dark .burger{background:rgba(255,255,255,.12)}
body.hdr-dark .burger i{background:#fff}
body.hdr-dark.mega-open .mainbar{background:var(--paper)}
body.hdr-dark.mega-open .mnav>.it>.tl,body.hdr-dark.mega-open .mnav>.it>.tc{color:var(--ink)}
body.hdr-dark.mega-open .logo .lg-d{opacity:1}
body.hdr-dark.mega-open .logo .lg-w{opacity:0}
.flogo{height:56px;width:auto}
.hero,.phero{padding-top:180px}
.vhero .wrap{padding-top:200px}
@media (max-width:1060px){.topbar{display:none}.nav-shell{height:70px}.logo img{height:44px}.mnav{display:none}}
@media (max-width:1060px){header.top .nav-shell .lang{display:none}}
.subnav{top:calc(env(safe-area-inset-top,0px) + 78px)}
.vhero::after{content:"";position:absolute;left:0;right:0;top:0;height:240px;background:linear-gradient(180deg,rgba(15,18,22,.82) 0%,rgba(15,18,22,.45) 55%,rgba(15,18,22,0) 100%);pointer-events:none;z-index:1}
.mnav>.it>.tl,.mnav>.it>.tl:hover,.mnav>.it>.tc,.mnav>.it>.tc:hover,.mnav>.it.open>.tc{background:none!important;border-radius:0}
.mnav .it:hover>.tl,.mnav .it.open>.tl{color:var(--red)}
body.hdr-dark:not(.mega-open) .mnav .it:hover>.tl{color:#fff}
@media (max-width:1060px){.nav-shell .burger{margin-left:auto}}
/* ===== header integrato (nessuna fascia separata) ===== */
.mainbar{background:transparent;border-bottom:0;box-shadow:none;transition:background .4s,box-shadow .4s,backdrop-filter .4s}
header.top.small .mainbar{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 1px 0 color-mix(in srgb,var(--line) 70%,transparent)}
body.hdr-dark .mainbar{background:transparent;border-bottom:0}
body.mega-open .mainbar,body.hdr-dark.mega-open .mainbar{background:var(--paper);box-shadow:none}
.nav-shell .lang{margin-left:14px}
.nav-shell .lang-btn{height:40px;background:transparent;border-color:transparent}
.nav-shell .lang-btn:hover,.nav-shell .lang.open .lang-btn{background:color-mix(in srgb,var(--ink) 6%,transparent)}
body.hdr-dark:not(.mega-open) .nav-shell .lang-btn{color:#fff}
body.hdr-dark:not(.mega-open) .nav-shell .lang-btn:hover{background:rgba(255,255,255,.12)}
.nav-shell .cta-top{margin-left:6px}
.hero,.phero{padding-top:150px}
.vhero .wrap{padding-top:170px}
@media (max-width:1060px){.nav-shell .lang{display:block;margin-left:auto;margin-right:6px}.nav-shell .burger{margin-left:0}.nav-shell .lang-btn b{display:none}}
/* logo più grande */
.nav-shell{height:100px}
.logo img{height:76px}
.mnav>.it>.tl{height:100px}
header.top.small .nav-shell{height:76px}
header.top.small .logo img{height:58px}
header.top.small .mnav>.it>.tl{height:76px}
.hero,.phero{padding-top:170px}
.vhero .wrap{padding-top:190px}
.subnav{top:calc(env(safe-area-inset-top,0px) + 86px)}
@media (max-width:1060px){.nav-shell{height:80px}.logo img{height:60px}header.top.small .nav-shell{height:68px}header.top.small .logo img{height:50px}}
.flogo{height:72px}
/* tour a scorrimento */
.tour{position:relative;padding:0;background:#f3f3f2}
.tour-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.tour-stage{position:absolute;inset:0;background:#f3f3f2;overflow:hidden}
.tour-img{--w:min(100vw,calc(100svh * 1.3));position:absolute;left:calc(50% - var(--w)/2);top:calc(50% - var(--w)*.3923);width:var(--w);will-change:transform;transition:transform .12s linear}
.tour-img img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.tour-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(243,243,242,.95) 0%,rgba(243,243,242,.75) 26%,rgba(243,243,242,0) 46%),linear-gradient(0deg,rgba(243,243,242,.9) 0%,rgba(243,243,242,0) 22%)}
.tour-ui{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;gap:40px}
.tour-cap{max-width:430px}
.tour-cap.swap>*{animation:capIn .55s var(--ease) both}
.tour-cap.swap>*:nth-child(2){animation-delay:.04s}.tour-cap.swap>*:nth-child(3){animation-delay:.08s}.tour-cap.swap>*:nth-child(4){animation-delay:.12s}
@keyframes capIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tour-k{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--red)}
.tour-k::before{content:"";width:28px;height:2px;background:var(--red)}
.tour-n{font-size:15px;font-weight:700;color:#7d858e;margin:22px 0 10px;font-variant-numeric:tabular-nums}
.tour-cap h2{margin:0 0 14px;font-size:clamp(34px,4.4vw,60px);line-height:1;font-stretch:118%;font-weight:760;letter-spacing:-.02em;color:#15181c}
.tour-cap p{margin:0;font-size:18px;color:#4f565e;max-width:26em}
.tour-prog{display:flex;flex-direction:column;gap:2px;max-width:300px}
.tour-prog button{all:unset;cursor:pointer;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:5px 0;color:#7d858e;font-size:13.5px;font-weight:600;transition:color .3s}
.tour-prog i{height:3px;border-radius:3px;background:#d3d7db;transition:background .3s,width .3s;width:18px}
.tour-prog button.done i{background:#15181c}
.tour-prog button.on{color:#15181c}
.tour-prog button.on i{background:var(--red);width:28px}
.tour-prog button:hover{color:#15181c}
.tour-prog button:focus-visible{outline:3px solid #2f6bff}
.tour-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#4f565e;transition:opacity .4s;z-index:2}
.tour-hint svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(4px)}}
@media (max-width:900px){.tour-stage::after{background:linear-gradient(0deg,rgba(243,243,242,.98) 0%,rgba(243,243,242,.9) 34%,rgba(243,243,242,0) 58%)}.tour-ui{justify-content:flex-end;padding-bottom:40px;gap:18px}.tour-prog{display:none}.tour-cap h2{font-size:32px}.tour-cap p{font-size:16px}.tour-img{--w:130vw}}
.tour.static{height:auto!important}.tour.static .tour-sticky{position:relative;height:auto;min-height:100svh}
/* hero animato */
.ahero{position:relative;min-height:max(680px,100svh);display:flex;align-items:center;background:#0b0e11;color:#fff;overflow:hidden;padding:150px 0 70px}
.ahero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#141920 1px,transparent 1px),linear-gradient(90deg,#141920 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(ellipse 80% 70% at 65% 50%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 65% 50%,#000 30%,transparent 80%)}
.ahero-glow{position:absolute;width:900px;height:900px;right:-200px;top:50%;transform:translateY(-50%);background:radial-gradient(circle,rgba(225,38,28,.16),transparent 60%);pointer-events:none}
.ahero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;width:min(1400px,100% - 40px)}
.ahero h1{color:#fff;font-size:clamp(40px,4.8vw,70px);animation:fadeup 1.1s var(--ease) both}
.ahero .lead{color:#b9c0c8;animation:fadeup 1.1s .12s var(--ease) both}
.ahero .ctas{animation:fadeup 1.1s .24s var(--ease) both}
.ahero .pill{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#dfe3e8}
.ahero .btn.ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.ahero .btn.ghost .ar{background:rgba(255,255,255,.12)}
.ahero .stats{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.ahero .stats span{color:#9aa3ad}
.ahero-anim{position:relative;animation:fadeup 1.3s .2s var(--ease) both}
.ahero-frame{position:relative;mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 58%,transparent 100%)}
.ahero-frame canvas{display:block;width:100%;aspect-ratio:16/9}
.ahero-frame.fade{animation:hf .8s var(--ease)}
@keyframes hf{from{opacity:.2;filter:blur(6px)}to{opacity:1;filter:none}}
.ahero-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;padding:0 6%}
.ahero-meta a{display:inline-flex;align-items:center;gap:10px;font-weight:650;font-size:15px;color:#fff;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:background .3s}
.ahero-meta a:hover{background:var(--red);border-color:var(--red)}
.ahero-meta a svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.hm-dots{display:flex;gap:6px}
.hm-dots button{width:8px;height:8px;border-radius:999px;border:0;background:#3a424c;cursor:pointer;padding:0;transition:width .35s var(--ease),background .3s}
.hm-dots button.on{width:26px;background:var(--red)}
@media (max-width:960px){.ahero-grid{grid-template-columns:1fr}.ahero{padding-top:120px}.ahero-meta{padding:0}.hm-dots{display:none}}
/* selezione macchine */
.sc2-h{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;margin:0 0 16px}
.sc2-h em{font-style:normal;width:30px;height:30px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-size:14px}
.sc2-h small{font-size:14px;font-weight:500;color:var(--dmuted);margin-left:4px}
.sc2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:44px}
.sc2-cards button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:8px 8px 12px;border-radius:18px;background:#14181e;border:2px solid #232a32;transition:border-color .25s,transform .35s var(--ease),background .25s}
.sc2-cards button:hover{border-color:#4a525c;transform:translateY(-4px)}
.sc2-cards button[aria-selected=true]{border-color:var(--red);background:#1b1f26}
.sc2-cards button:focus-visible{outline:3px solid #2f6bff;outline-offset:2px}
.sc2-cards .ci{position:relative;display:block;aspect-ratio:4/3;border-radius:12px;background:#f4f5f6;overflow:hidden}
.sc2-cards .ci img{width:100%;height:100%;object-fit:contain;padding:6px;mix-blend-mode:multiply;transition:transform .6s var(--ease)}
.sc2-cards button:hover .ci img{transform:scale(1.07)}
.cplay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,14,17,.0);transition:background .3s}
.cplay svg{width:42px;height:42px;padding:11px;border-radius:50%;background:var(--red);fill:#fff;opacity:0;transform:scale(.7);transition:opacity .3s,transform .35s var(--ease);box-shadow:0 8px 20px rgba(225,38,28,.4)}
.sc2-cards button:hover .cplay{background:rgba(11,14,17,.25)}
.sc2-cards button:hover .cplay svg{opacity:1;transform:none}
.cnow{position:absolute;left:8px;top:8px;display:none;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700}
.cnow::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.4s infinite}
.sc2-cards button[aria-selected=true] .cnow{display:inline-flex}
.sc2-cards button[aria-selected=true] .cplay svg{opacity:0}
.sc2-cards .cn{font-size:14px;font-weight:650;line-height:1.25;color:#e6e9ec;padding:0 4px}
@media (max-width:700px){.sc2-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-right:-20px;padding-right:20px}.sc2-cards button{flex:0 0 160px;scroll-snap-align:start}}
/* contatti */
.chero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:44px;align-items:center;position:relative;z-index:1}
.quick{padding:28px;display:flex;flex-direction:column;gap:6px}
.quick>b{font-size:20px;font-stretch:110%;margin-bottom:8px}
.ql{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;padding:12px;border-radius:16px;transition:background .2s}
.ql:hover{background:var(--bg)}
.qi{width:46px;height:46px;border-radius:14px;background:var(--soft);display:grid;place-items:center}
.qi svg,.dept .ic svg{width:21px;height:21px;fill:none;stroke:var(--red);stroke-width:1.8}
.ql small{display:block;font-size:12.5px;color:var(--muted)}
.ql span{font-weight:650}
.dept{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dept>div{padding:26px;display:flex;flex-direction:column;gap:8px}
.dept .ic{width:48px;height:48px;border-radius:14px;background:var(--soft);display:grid;place-items:center;margin-bottom:8px}
.dept h3{margin:0;font-size:20px;font-stretch:110%}
.dept p{margin:0 0 6px;color:var(--muted);font-size:15px;flex:1}
.dept a{font-weight:650;color:var(--red)}
.dept .tel{font-size:14px;color:var(--muted)}
.cform{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px;align-items:start}
.next{list-style:none;padding:0;margin:0;counter-reset:n;display:flex;flex-direction:column;gap:18px}
.next li{counter-increment:n;display:grid;grid-template-columns:40px 1fr;gap:4px 14px}
.next li::before{content:counter(n);grid-row:span 2;width:40px;height:40px;border-radius:50%;border:2px solid var(--red);color:var(--red);display:grid;place-items:center;font-weight:800}
.next b{font-size:17px}.next span{color:var(--muted);font-size:15px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{display:block;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-block;padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:14.5px;transition:all .2s}
.seg input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.seg input:focus-visible+span{outline:3px solid #2f6bff}
.chk{display:flex!important;align-items:center;gap:10px;font-weight:500!important}
.chk input{width:18px;height:18px;accent-color:var(--red)}
.sede{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-radius:32px;overflow:hidden;background:var(--dark);color:#fff}
.sede-tx{padding:44px}
.sede-tx .k{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--red2)}
.sede-tx .k::before{content:"";width:28px;height:2px;background:var(--red2)}
.sede-tx h2{font-size:clamp(28px,3vw,42px);font-stretch:115%;line-height:1.05;margin:14px 0 12px}
.sede-tx p{color:#b9c0c8;margin:0 0 22px}
.sede .kv dt{color:#8b949e}
.sede-map{min-height:360px;background:#0f1318}
.sede-map svg{width:100%;height:100%;display:block}
@media (max-width:960px){.chero-grid,.cform,.sede{grid-template-columns:1fr}.dept{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.dept{grid-template-columns:1fr}.sede-tx{padding:28px}}
.ahero-grid{width:min(1280px,100% - 40px)}
.ahero h1{font-size:clamp(38px,4.3vw,62px)}
/* contatti v2 */
.qa{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px}
.qa-it{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 24px}
.qa-it .qi{margin-bottom:10px}
.qa-it b{font-size:18px;font-stretch:108%}
.qa-it>span:not(.qi){font-size:14px;color:var(--muted)}
.qa-it .go{position:absolute;right:18px;top:18px;width:36px;height:36px}
@media (max-width:900px){.qa{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.qa{grid-template-columns:1fr}}
.wz-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start}
.wz-side{position:sticky;top:120px}
.wz-steps{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:6px}
.wz-steps li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:12px;border-radius:16px;cursor:default;transition:background .3s}
.wz-steps li.on{background:var(--paper);box-shadow:0 10px 30px -18px rgba(15,18,22,.3)}
.wz-steps li.done{cursor:pointer}
.wz-steps em{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:2px solid var(--line);color:var(--muted);transition:all .3s}
.wz-steps li.on em{border-color:var(--red);background:var(--red);color:#fff}
.wz-steps li.done em{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.wz-steps b{display:block;font-size:16px}.wz-steps small{color:var(--muted);font-size:13.5px}
.wz-promise{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:16px;background:var(--soft);font-size:14px;color:var(--muted)}
.wz-promise svg{flex:none;width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:2.2}
.wz{padding:0!important;display:block!important;overflow:hidden}
.wz-bar{height:4px;background:var(--soft)}.wz-bar i{display:block;height:100%;width:33.3%;background:var(--red);transition:width .5s var(--ease)}
.wz-p{display:none;border:0;margin:0;padding:30px 30px 10px}
.wz-p.on{display:block;animation:paneIn .45s var(--ease)}
.wz-p legend{font-size:24px;font-weight:720;font-stretch:112%;margin-bottom:20px;padding:0}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.tile{position:relative;display:flex!important;flex-direction:column;gap:4px!important;padding:16px;border-radius:18px;border:2px solid var(--line);cursor:pointer;transition:border-color .25s,background .25s,transform .3s var(--ease)}
.tile:hover{transform:translateY(-2px);border-color:#c4cad1}
.tile input{position:absolute;opacity:0}
.tile:has(input:checked){border-color:var(--red);background:rgba(225,38,28,.04)}
.tile:has(input:focus-visible){outline:3px solid #2f6bff}
.tile .ti{width:42px;height:42px;border-radius:12px;background:var(--soft);display:grid;place-items:center;margin-bottom:8px}
.tile .ti svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:1.8}
.tile b{font-size:15.5px}.tile small{font-size:13px;color:var(--muted);font-weight:500}
@media (max-width:760px){.tiles{grid-template-columns:1fr 1fr}}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.g2 label,.fl-l{display:grid;gap:7px;font-size:14px;font-weight:600}
.fl-l{margin-bottom:18px}
@media (max-width:600px){.g2{grid-template-columns:1fr}}
output{color:var(--red);font-weight:800}
input[type=range]{padding:0;border:0;background:none;accent-color:var(--red);height:24px}
.chips.sel label{cursor:pointer}
.chips.sel input{position:absolute;opacity:0}
.chips.sel span{display:inline-block}
.chips.sel input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chips.sel input:focus-visible+span{outline:3px solid #2f6bff}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px;border:2px dashed var(--line);border-radius:18px;text-align:center;cursor:pointer;margin-bottom:18px;transition:border-color .25s,background .25s}
.drop:hover,.drop.over{border-color:var(--red);background:rgba(225,38,28,.04)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop svg{width:30px;height:30px;stroke:var(--red);fill:none;stroke-width:1.8}
.drop small{color:var(--muted);font-weight:500}
.drop ul{list-style:none;padding:0;margin:6px 0 0;font-size:13.5px;color:var(--ink)}
.sum{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:16px;background:var(--bg);margin:6px 0 18px;font-size:14px;color:var(--muted)}
.sum b{color:var(--ink);font-size:14.5px}
.err{color:var(--red);font-weight:600;font-size:14px;min-height:1em;margin:8px 0 0}
.wz-nav{display:flex;align-items:center;gap:14px;padding:18px 30px 26px}
.wz-cnt{margin-left:auto;margin-right:6px;font-size:13.5px;color:var(--muted)}

.wz-done{padding:40px 30px;animation:paneIn .5s var(--ease)}
.wz-done .dn{width:60px;height:60px;border-radius:50%;background:var(--ok,#1f9d55);display:grid;place-items:center;margin-bottom:16px;background:#1f9d55}
.wz-done .dn svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:2.5}
.wz-done h3{font-size:28px;margin:0 0 8px;font-stretch:112%}
.wz-done .next{margin:24px 0}
@media (max-width:960px){.wz-wrap{grid-template-columns:1fr}.wz-side{position:static}}
.call{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;padding:40px;border-radius:32px;background:var(--paper);border:1px solid var(--line)}
.call-tx .k{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--red)}
.call-tx .k::before{content:"";width:28px;height:2px;background:var(--red)}
.call-tx h2{font-size:clamp(26px,2.8vw,38px);font-stretch:115%;line-height:1.05;margin:14px 0 10px}
.call-tx p{color:var(--muted);margin:0 0 20px}
.call-sel{padding:14px 16px;border-radius:14px;background:var(--bg);font-weight:650;margin-bottom:16px;text-transform:capitalize}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}
.days button,.slots button{all:unset;cursor:pointer;text-align:center;border-radius:14px;border:1px solid var(--line);transition:all .2s}
.days button{display:flex;flex-direction:column;padding:10px 0;text-transform:capitalize}
.days small{font-size:12px;color:var(--muted)}.days b{font-size:22px;font-stretch:115%}
.days button:hover,.slots button:hover:not([disabled]){border-color:var(--ink)}
.days button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.days button.on small{color:#c9cfd6}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.slots button{padding:12px 0;font-weight:650;font-size:14.5px}
.slots button.on{background:var(--red);color:#fff;border-color:var(--red)}
.slots button[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.days button:focus-visible,.slots button:focus-visible{outline:3px solid #2f6bff}
@media (max-width:900px){.call{grid-template-columns:1fr;padding:26px}.slots{grid-template-columns:repeat(4,1fr)}}
@media (max-width:480px){.days{grid-template-columns:repeat(5,1fr)}.days b{font-size:18px}}
.dept .badge{align-self:flex-start;padding:5px 10px;border-radius:999px;background:rgba(31,157,85,.12);color:#1a7f46;font-size:12.5px;font-weight:650}
.arrive{display:grid;gap:12px;margin-top:22px}
.arrive>div{display:flex;gap:12px;align-items:center}
.arrive svg{width:22px;height:22px;stroke:var(--red2);fill:none;stroke-width:1.8;flex:none}
.arrive b{display:block;font-size:14.5px}.arrive span{font-size:13.5px;color:#9aa3ad}
[hidden]{display:none!important}
/* overlay animato sul rendering */
.tour,.tour-stage{background:#fff}
.tour-stage::after{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.8) 26%,rgba(255,255,255,0) 46%),linear-gradient(0deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 22%)}
.tour-img img{mix-blend-mode:normal}
.tour-fx{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.fl-base{stroke:rgba(225,38,28,.18);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.fl-dash{stroke:#ff4a3d;stroke-width:2;stroke-dasharray:10 30;stroke-linecap:round;opacity:.85}
.lamp{fill:#3fd07a;filter:url(#glw);animation:lampb 1.8s ease-in-out infinite}
@keyframes lampb{50%{opacity:.25}}
.ring .r1{fill:rgba(225,38,28,.12);stroke:#e1261c;stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0}
.ring .r2{fill:#e1261c;opacity:0;transition:opacity .4s}
.ring.on .r1{animation:ringp 1.8s ease-out infinite}
.ring.on .r2{opacity:1}
@keyframes ringp{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.fl-dash,.lamp{animation:none}}
/* ===== service home (diverso dal metodo) ===== */
.svb{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;border-radius:36px;overflow:hidden;background:var(--dark);color:#fff}
.svb-l{padding:48px;background:radial-gradient(500px 360px at 0% 100%,rgba(225,38,28,.35),transparent 70%);display:flex;flex-direction:column;gap:18px}
.svb-l .k,.fk{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--red2)}
.svb-l .k::before,.fk::before{content:"";width:28px;height:2px;background:var(--red2)}
.svb-l h2{margin:0;font-size:clamp(32px,3.6vw,50px);line-height:1;font-stretch:118%;letter-spacing:-.02em}
.svb-l p{margin:0;color:#b9c0c8;max-width:28em}
.svb-cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:auto;padding-top:16px}
.svb-cta .lnk{color:#fff}
.svb-r{display:flex;flex-direction:column;border-left:1px solid var(--dline)}
.svr{display:grid;grid-template-columns:44px 46px 1fr 44px;gap:14px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--dline);transition:background .3s}
.svr:last-child{border-bottom:0}
.svr:hover{background:#171b21}
.svn{font-weight:800;font-stretch:125%;font-size:15px;color:#5b6570;transition:color .3s}
.svr:hover .svn{color:var(--red2)}
.svr .ic{width:46px;height:46px;border-radius:14px;background:#1d232a;display:grid;place-items:center;transition:background .3s}
.svr .ic svg{width:21px;height:21px;stroke:var(--red2);fill:none;stroke-width:1.8}
.svr:hover .ic{background:var(--red)}.svr:hover .ic svg{stroke:#fff}
.svt b{display:block;font-size:18px;font-stretch:108%}.svt small{display:block;color:#9aa3ad;font-size:14px;margin-top:2px}
.svr .go{background:#1d232a}.svr .go svg{stroke:#fff}
.svr:hover .go{background:var(--red);transform:rotate(-45deg)}
@media (max-width:900px){.svb{grid-template-columns:1fr}.svb-r{border-left:0;border-top:1px solid var(--dline)}.svr{grid-template-columns:46px 1fr 40px;padding:18px 22px}.svn{display:none}.svb-l{padding:32px}}

/* ===== mega Servizi ===== */
.mega.ms2{grid-template-columns:minmax(0,1fr) 300px;padding-top:22px!important;gap:18px}
.svtiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.svtile{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 18px 22px;border-radius:20px;background:var(--bg);border:1px solid transparent;transition:background .3s,border-color .3s,transform .35s var(--ease)}
.svtile:hover,.svtile:focus-visible{background:var(--paper);border-color:var(--line);transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(15,18,22,.35)}
.svtile .ic{width:48px;height:48px;border-radius:14px;background:var(--paper);display:grid;place-items:center;margin-bottom:10px;transition:background .3s,transform .4s var(--ease)}
.svtile .ic svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:1.8}
.svtile:hover .ic{background:var(--red);transform:rotate(-8deg)}.svtile:hover .ic svg{stroke:#fff}
.svtile b{font-size:15.5px}.svtile small{font-size:12.5px;color:var(--muted);line-height:1.4}
.svtile .arr{position:absolute;right:16px;top:20px;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.svtile .arr svg{width:15px;height:15px;stroke:var(--red);fill:none;stroke-width:2}
.svtile:hover .arr{opacity:1;transform:none}
.mfeat.urgent{background:linear-gradient(160deg,#1a1f26,#0f1216)}
.mfeat.urgent::before{background:radial-gradient(300px 200px at 100% 0%,rgba(225,38,28,.55),transparent 65%)}
.ub{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:650;margin-bottom:auto}
@media (max-width:1240px){.svtiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== mega Azienda ===== */
.mnav .it[data-id=az]{position:static}
.mega.maz{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:14px;padding-top:22px!important}
.aztile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:250px;border-radius:22px;overflow:hidden;padding:24px;color:#fff;background:#0f1216}
.aztile.big{background:#f4f5f6 var(--bg) center 40%/120% auto no-repeat;transition:background-size 1s var(--ease)}
.aztile.big:hover{background-size:130% auto}
.azov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,18,22,.92) 0%,rgba(15,18,22,.35) 55%,rgba(15,18,22,0) 100%)}
.aztx{position:relative;display:flex;flex-direction:column;gap:6px}
.aztile small{font-size:12.5px;font-weight:650;color:var(--red2)}
.aztile b{font-size:21px;line-height:1.15;font-stretch:110%;max-width:16em}
.aztile .lnk{color:#fff;margin-top:8px;font-size:14px}
.azcol{display:flex;flex-direction:column;gap:6px}
.azrow{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;padding:14px;border-radius:18px;background:var(--bg);border:1px solid transparent;flex:1;transition:background .25s,border-color .25s,transform .35s var(--ease)}
.azrow:hover,.azrow:focus-visible{background:var(--paper);border-color:var(--line);transform:translateX(4px)}
.azrow .ic{width:46px;height:46px;border-radius:14px;background:var(--paper);display:grid;place-items:center;transition:background .3s}
.azrow .ic svg{width:21px;height:21px;stroke:var(--red);fill:none;stroke-width:1.8}
.azrow:hover .ic{background:var(--red)}.azrow:hover .ic svg{stroke:#fff}
.azrow b{display:block;font-size:15px}.azrow small{display:block;font-size:12.5px;color:var(--muted);line-height:1.35}
.aztile.ct{justify-content:space-between;gap:10px}
.aztile.ct b{font-size:18px}
.azmap{display:block;margin:auto 0}
.azmap svg{width:100%;height:auto}
@media (max-width:1240px){.mega.maz{grid-template-columns:1fr 1fr}.aztile.ct{display:none}}

/* ===== pagina prodotti ===== */
.pfbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px);z-index:30;margin-top:-20px}
.pfin{display:flex;align-items:center;gap:12px;padding:8px;border-radius:999px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 14px 40px -24px rgba(15,18,22,.35)}
.pfchips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.pfchips button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;font-weight:650;font-size:14.5px;white-space:nowrap;color:var(--muted);transition:background .25s,color .25s}
.pfchips button em{font-style:normal;font-size:12px;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--soft);color:var(--ink)}
.pfchips button:hover{color:var(--ink)}
.pfchips button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.pfchips button[aria-selected=true] em{background:var(--red);color:#fff}
.pfchips button:focus-visible{outline:3px solid #2f6bff}
.pfsearch{margin-left:auto;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:999px;background:var(--bg);min-width:240px}
.pfsearch svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:2;flex:none}
.pfsearch input{border:0;background:none;padding:12px 0;font-size:15px;border-radius:0;box-shadow:none!important}
@media (max-width:760px){.pfin{flex-wrap:wrap;border-radius:22px}.pfsearch{margin-left:0;width:100%;min-width:0}}
.pguide{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 20px;border-radius:22px;background:var(--dark);color:#fff;margin-bottom:40px}
.pguide b{font-size:16px;margin-right:4px}
.pguide>span{color:#9aa3ad;font-size:14.5px;margin-right:6px}
.pguide a{padding:9px 14px;border-radius:999px;background:#1d232a;border:1px solid #2c343d;font-size:14px;font-weight:600;transition:background .25s,border-color .25s}
.pguide a:hover{background:var(--red);border-color:var(--red)}
.pcat{margin-bottom:56px}
.pcat-h{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.pcn{font-weight:800;font-stretch:125%;color:var(--red);font-size:16px}
.pcat-h h2{margin:0;font-size:clamp(24px,2.6vw,34px);font-stretch:115%;letter-spacing:-.01em}
.pcc{margin-left:auto;font-size:14px;color:var(--muted);font-weight:600}
.pfempty{padding:30px;border-radius:20px;background:var(--paper);border:1px dashed var(--line);text-align:center;color:var(--muted)}
.pfempty a{color:var(--red);font-weight:650}

/* ===== su misura ===== */
.pains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pains>div{padding:28px;border-top:3px solid var(--red)!important}
.pains h3{margin:0 0 8px;font-size:20px;font-stretch:110%}
.pains p{margin:0;color:var(--muted)}
.cusg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cusc{display:flex;flex-direction:column}
.ci2{display:block;aspect-ratio:4/3;background:var(--stage);overflow:hidden}
.ci2 img{width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:multiply;transition:transform .9s var(--ease)}
.cusc:hover .ci2 img{transform:scale(1.06)}
.ctx{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
.ctx h3{margin:0;font-size:21px;font-stretch:110%}.ctx p{margin:0;color:var(--muted);font-size:15px}
.exg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.exg>div{padding:28px}
.exn{display:block;font-size:40px;font-weight:800;font-stretch:125%;color:transparent;-webkit-text-stroke:1.4px var(--red2);line-height:1;margin-bottom:18px}
.exg h3{margin:0 0 8px;font-size:19px;font-stretch:110%}.exg p{margin:0;color:var(--dmuted);font-size:15px}
@media (max-width:900px){.pains,.cusg,.exg{grid-template-columns:1fr}}

/* ===== simulazione ===== */
.simdemo{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:20px}
.sd-in,.sd-out{padding:32px;border-radius:28px;background:#14181e;border:1px solid var(--dline)}
.sd-in{display:flex;flex-direction:column;gap:26px}
.sd-in label{display:grid;gap:12px;font-size:15px;font-weight:600;color:#dfe3e8}
.sd-in output{color:var(--red2);font-weight:800;font-size:18px}
.sd-in input[type=range]{height:28px}
.sd-note{margin:0;font-size:13px;color:#7d858e}
.sd-out{display:flex;flex-direction:column;gap:14px}
.gauge{position:relative;display:flex;flex-direction:column;align-items:center}
.gauge svg{width:100%;max-width:300px}
.gauge path{transition:stroke-dasharray .5s var(--ease),stroke .3s}
.gauge b{position:absolute;top:44%;font-size:46px;font-weight:800;font-stretch:120%}
.gauge span{margin-top:-6px;color:#9aa3ad;font-size:14px}
.sd-v{padding:14px 16px;border-radius:14px;font-weight:600;font-size:14.5px}
.sd-v.v-ok{background:rgba(63,208,122,.12);color:#6fe3a0}.sd-v.v-warn{background:rgba(242,194,48,.12);color:#f2c230}.sd-v.v-bad{background:rgba(255,74,61,.14);color:#ff8a82}
.sd-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--dline);color:#9aa3ad;font-size:14.5px}
.sd-row b{color:#fff;font-size:17px}
@media (max-width:900px){.simdemo{grid-template-columns:1fr}}
.delv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.delv>div{padding:26px}
.dn2{width:40px;height:40px;border-radius:12px;background:rgba(225,38,28,.1);display:grid;place-items:center;margin-bottom:16px}
.dn2 svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:2.4}
.delv h3{margin:0 0 6px;font-size:19px;font-stretch:110%}.delv p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:900px){.delv{grid-template-columns:1fr}}
.fst{padding:24px}
.fst .n{font-size:48px;font-weight:800;font-stretch:125%;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--red);margin-bottom:22px}
.fst p{margin:0}
.need{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:10px}
.need li{display:flex;gap:12px;align-items:flex-start}
.need svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:2.4;flex:none;margin-top:2px}

/* ===== footer v2 ===== */
footer{padding-top:0;overflow:hidden}
.fcta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:30px;padding:80px 0 56px;border-bottom:1px solid #262c34}
.fcta h2{margin:14px 0 0;font-size:clamp(36px,5vw,72px);line-height:.98;font-stretch:118%;letter-spacing:-.025em;color:#fff;max-width:12em}
.fcta-b{display:flex;flex-wrap:wrap;gap:12px}
.btn.fghost{background:transparent;color:#fff;border:1px solid #39414b}
.btn.fghost .ar{background:rgba(255,255,255,.1)}
.btn.fghost:hover{border-color:#fff}
.fgrid2{display:grid;grid-template-columns:minmax(0,3.2fr) repeat(3,minmax(0,2fr)) minmax(0,3fr);gap:34px;padding:56px 0 20px}
.fbrand .flogo{height:64px;width:auto;margin-bottom:18px}
.fbrand>p{margin:0 0 20px;color:#b9c0c8;max-width:24em}
.fcontact{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.fcontact a{display:flex;align-items:center;gap:10px;color:#d9dde2;font-size:14.5px;transition:color .2s}
.fcontact a:hover{color:#fff}
.fcontact svg{width:18px;height:18px;stroke:var(--red2);fill:none;stroke-width:1.8;flex:none}
.fsoc{display:flex;gap:8px}
.fsoc a{width:42px;height:42px;border-radius:12px;background:#171b21;border:1px solid #262c34;display:grid;place-items:center;transition:background .25s,border-color .25s,transform .35s var(--ease)}
.fsoc a:hover{background:var(--red);border-color:var(--red);transform:translateY(-3px)}
.fsoc svg{width:18px;height:18px;fill:#d9dde2}
.fgrid2 h4{margin:0 0 14px;font-size:13px;color:#7f8892;font-weight:650;letter-spacing:.01em}
.fgrid2 h4.mt{margin-top:26px}
.fgrid2>div>a{display:block;padding:5px 0;font-size:14.5px;color:#d9dde2;transition:color .2s,transform .3s var(--ease)}
.fgrid2>div>a:hover{color:#fff;transform:translateX(4px)}
.fnews{padding:24px;border-radius:22px;background:#171b21;border:1px solid #262c34;align-self:start}
.fnews p{margin:0 0 16px;color:#9aa3ad;font-size:14px}
.fnews form{display:flex;flex-direction:column;gap:10px;padding:0}
.fnews input{background:#0f1216;border-color:#2c343d;color:#fff}
.fnews .btn{justify-content:center}
footer .big{margin-top:30px;font-size:clamp(90px,19vw,300px);background:linear-gradient(90deg,#1c2229,#2a313a 40%,#e1261c 50%,#2a313a 60%,#1c2229);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0;color:transparent;animation:bigsh 9s linear infinite}
@keyframes bigsh{from{background-position:100% 0}to{background-position:-200% 0}}
footer:hover .big{-webkit-text-stroke-color:transparent}
.fbot{align-items:center}
.flinks{display:flex;gap:18px}
.flinks a{color:#7f8892;transition:color .2s}.flinks a:hover{color:#fff}
.totop{width:42px;height:42px;border-radius:50%;border:1px solid #2c343d;background:#171b21;display:grid;place-items:center;cursor:pointer;transition:background .25s}
.totop:hover{background:var(--red);border-color:var(--red)}
.totop svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
@media (max-width:1100px){.fgrid2{grid-template-columns:1fr 1fr 1fr}.fbrand,.fnews{grid-column:1/-1}}
@media (max-width:620px){.fgrid2{grid-template-columns:1fr 1fr}.fcta{padding-top:56px}}
/* griglia prodotti home uniforme e sobria */
.hgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hcard{display:flex;flex-direction:column;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:border-color .3s,box-shadow .4s var(--ease)}
.hcard:hover{border-color:#cfd4da;box-shadow:0 24px 50px -30px rgba(15,18,22,.35)}
.hi{display:block;aspect-ratio:16/11;background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.hi img{width:100%;height:100%;object-fit:contain;padding:18px 22px;transition:transform .8s var(--ease)}
.hcard:hover .hi img{transform:scale(1.03)}
.hb{display:flex;flex-direction:column;gap:6px;padding:20px 22px 22px}
.hc{font-size:12.5px;font-weight:650;color:var(--muted)}
.hb b{font-size:19px;font-stretch:108%;line-height:1.2;color:var(--ink)}
.hd{font-size:14.5px;color:var(--muted);flex:1}
.hl2{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:650;font-size:14px;color:var(--ink)}
.hl2 svg{width:14px;height:14px;stroke:var(--red);fill:none;stroke-width:2;transition:transform .35s var(--ease)}
.hcard:hover .hl2 svg{transform:translateX(4px)}
@media (max-width:960px){.hgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hgrid{grid-template-columns:1fr}}
/* niente effetti "gadget": cursore custom, alone rosso, inclinazioni */
.cursor{display:none!important}
.spot::before{background:none!important}
.spot:hover{border-color:#cfd4da}
.pc .im,.sc2-cards .ci,.mcard .mi,.dgrid .th{background-color:#fff}
.pc .im img,.mcard .mi img{mix-blend-mode:normal}
/* tour senza scroll-jacking */
.tour{height:auto!important}
.tour-sticky{position:relative;height:min(860px,92svh);min-height:620px}
.tour-prog .ovb i{width:18px}
.tour-prog .ovb{margin-bottom:6px;color:#15181c}
.tour-hint svg{display:none}
.ahero-frame{mask-image:none!important;-webkit-mask-image:none!important;border-radius:22px;overflow:hidden;box-shadow:0 50px 100px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08)}
.ahero-meta{margin-top:16px;padding:0}
.animbox{background:#eef0f2;border-color:var(--line)}
.ahud{background:rgba(21,24,28,.82)}
/* ===== servizi ===== */
.shero-grid,.jhero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.urg{padding:30px;border-radius:28px;background:linear-gradient(160deg,#1a1f26,#0f1216);color:#fff;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(15,18,22,.6)}
.urg::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(225,38,28,.5),transparent 65%)}
.urg>*{position:relative}
.urg-h{display:flex;align-items:center;gap:10px}.urg-h b{font-size:24px;font-stretch:112%}
.urg>p{color:#b9c0c8;margin:10px 0 18px}
.urg ol{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:12px}
.urg li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center}
.urg em{font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#232a32;font-weight:800;font-size:14px}
.urg li:first-child em{background:var(--red)}
.urg li b{display:block;font-size:15px}.urg li small{color:#9aa3ad;font-size:13px}
.urg-n{display:block;margin-top:14px;font-size:13px;color:#7f8892}
.svgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.svcard{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:24px;background:var(--paper);border:1px solid var(--line);transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.svcard:hover{border-color:#cfd4da;box-shadow:0 30px 60px -36px rgba(15,18,22,.35);transform:translateY(-3px)}
.svcard .ic{width:54px;height:54px;border-radius:16px;background:rgba(225,38,28,.1);display:grid;place-items:center;margin-bottom:6px;transition:background .3s}
.svcard .ic svg{width:26px;height:26px;stroke:var(--red);fill:none;stroke-width:1.7}
.svcard:hover .ic{background:var(--red)}.svcard:hover .ic svg{stroke:#fff}
.svcard .sn{position:absolute;right:26px;top:26px;font-weight:800;font-stretch:125%;font-size:30px;color:transparent;-webkit-text-stroke:1.2px var(--grey)}
.svcard h3{margin:0;font-size:23px;font-stretch:112%}
.svcard p{margin:0;color:var(--muted);font-size:15px}
.svcard ul,.plan ul,.jbody ul{list-style:none;padding:0;margin:6px 0 10px;display:flex;flex-direction:column;gap:8px}
.svcard li,.plan li,.jbody li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.svcard li svg,.plan li svg,.jbody li svg{width:18px;height:18px;stroke:var(--red);fill:none;stroke-width:2.4;flex:none;margin-top:2px}
.svcard .lnk{margin-top:auto;color:var(--ink)}
.svcard.big{grid-row:span 2;background:var(--dark);color:#fff;border-color:var(--dline)}
.svcard.big p{color:#b9c0c8}.svcard.big .lnk{color:#fff}.svcard.big .ic{background:rgba(225,38,28,.22)}.svcard.big .ic svg{stroke:var(--red2)}
.svcard.big h3{font-size:30px}.svcard.big .sn{-webkit-text-stroke-color:#3a424c}
@media (max-width:960px){.svgrid{grid-template-columns:1fr 1fr}.svcard.big{grid-row:auto;grid-column:1/-1}}
@media (max-width:600px){.svgrid{grid-template-columns:1fr}.shero-grid,.jhero-grid{grid-template-columns:1fr}}
@media (max-width:960px){.shero-grid,.jhero-grid{grid-template-columns:1fr}}
.life{position:relative;padding-top:40px}
.life-bar{position:absolute;left:4%;right:4%;top:66px;height:4px;border-radius:4px;background:#232a32}
.life-bar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--red),var(--red2));transform:scaleX(0);transform-origin:left;transition:transform 2.4s var(--ease)}
.life.in .life-bar i{transform:scaleX(1)}
.life-st{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.lst{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;opacity:.3;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.life.in .lst{opacity:1;transform:none;transition-delay:calc(var(--i)*.4s + .2s)}
.ldot{width:56px;height:56px;border-radius:50%;background:#0f1216;border:2px solid var(--red);display:grid;place-items:center;margin-bottom:10px;transition:background .3s}
.ldot svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.7}
.lst:hover .ldot{background:var(--red)}
.lst small{color:var(--red2);font-weight:700;font-size:13px}
.lst b{font-size:19px;font-stretch:110%}
.lst span{color:#9aa3ad;font-size:14px;max-width:16em}
@media (max-width:800px){.life-bar{display:none}.life-st{grid-template-columns:1fr 1fr}.lst{opacity:1;transform:none}}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:8px;padding:32px;border-radius:26px;background:var(--paper);border:1px solid var(--line)}
.plan h3{margin:0;font-size:26px;font-stretch:115%}
.plan>p{margin:0 0 6px;color:var(--muted)}
.plan .btn{margin-top:auto;justify-content:center}
.plan.hot{background:var(--dark);color:#fff;border-color:var(--red);box-shadow:0 40px 80px -40px rgba(225,38,28,.5);transform:translateY(-10px)}
.plan.hot>p{color:#b9c0c8}
.plb{position:absolute;top:-13px;left:32px;padding:5px 12px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:700}
@media (max-width:900px){.plans{grid-template-columns:1fr}.plan.hot{transform:none}}
.rvp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;align-items:center;padding:44px;border-radius:32px;background:var(--paper);border:1px solid var(--line)}
.rvp .k{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--red)}
.rvp .k::before{content:"";width:28px;height:2px;background:var(--red)}
.rvp h2{margin:14px 0 12px;font-size:clamp(28px,3vw,42px);font-stretch:115%;line-height:1.05}
.rvp-tx p{color:var(--muted);margin:0 0 22px}
.rvp-cmp{display:grid;grid-template-columns:1fr 50px 1fr;gap:12px;align-items:center}
.rvp-cmp .col{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;background:var(--bg)}
.rvp-cmp .col small{font-weight:700;color:var(--muted);margin-bottom:4px}
.rvp-cmp .col span{display:flex;gap:8px;align-items:center;font-size:14.5px;font-weight:600}
.rvp-cmp .col span.x{color:#8a9198;text-decoration:line-through}
.rvp-cmp .ok2{background:var(--dark);color:#fff}.rvp-cmp .ok2 small{color:var(--red2)}
.rvp-cmp .ok2 svg{width:16px;height:16px;stroke:var(--green,#3fd07a);stroke:#3fd07a;fill:none;stroke-width:2.6}
.arrw{width:46px;height:46px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.arrw svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
@media (max-width:900px){.rvp{grid-template-columns:1fr;padding:28px}.rvp-cmp{grid-template-columns:1fr}.arrw{transform:rotate(90deg);justify-self:center}}
/* ===== lavora con noi ===== */
.jvis{position:relative;border-radius:28px;background:#fff;border:1px solid var(--line);padding:18px}
.jvis img{width:100%;border-radius:18px}
.jtag{position:absolute;display:flex;flex-direction:column;padding:12px 16px;border-radius:16px;background:var(--dark);color:#fff;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);animation:float 6s ease-in-out infinite}
.jtag b{font-size:20px;font-stretch:115%}.jtag span{font-size:12.5px;color:#9aa3ad}
.jtag.t1{left:-22px;bottom:30px}.jtag.t2{right:-16px;top:26px;background:var(--red);animation-delay:-3s}.jtag.t2 span{color:#ffe0dd}
@media (max-width:600px){.jtag.t1{left:8px}.jtag.t2{right:8px}}
.why4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.why4>div{padding:26px}.why4 .qi{margin-bottom:16px}
.why4 h3{margin:0 0 6px;font-size:19px;font-stretch:110%}.why4 p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:900px){.why4{grid-template-columns:1fr 1fr}}@media (max-width:520px){.why4{grid-template-columns:1fr}}
.jfil{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.jfil button{all:unset;cursor:pointer;padding:10px 16px;border-radius:999px;border:1px solid #2c343d;color:#cfd5db;font-weight:600;font-size:14px;transition:all .2s}
.jfil button[aria-pressed=true]{background:#fff;color:#15181c;border-color:#fff}
.jfil button:focus-visible{outline:3px solid #2f6bff}
.jobs{display:flex;flex-direction:column;gap:10px}
.job{border-radius:20px;background:#14181e;border:1px solid #232a32;overflow:hidden;transition:border-color .3s}
.job[open]{border-color:var(--red)}
.job summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto 40px;gap:20px;align-items:center;padding:22px 24px}
.job summary::-webkit-details-marker{display:none}
.jt b{display:block;font-size:20px;font-stretch:110%;color:#fff}.jt small{display:block;color:#9aa3ad;font-size:14px;margin-top:4px}
.jm{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.jm em{font-style:normal;padding:6px 10px;border-radius:999px;background:#1d232a;color:#cfd5db;font-size:12.5px;font-weight:600}
.jx{width:40px;height:40px;border-radius:50%;background:#1d232a;display:grid;place-items:center;color:#fff;font-size:22px;transition:transform .3s var(--ease),background .3s}
.job[open] .jx{transform:rotate(45deg);background:var(--red)}
.jbody{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;padding:4px 24px 26px;color:#dfe3e8}
.jbody h4{margin:0 0 6px;font-size:14px;color:#9aa3ad}
.jcta{align-self:end}
@media (max-width:800px){.job summary{grid-template-columns:1fr 40px}.jm{grid-column:1;justify-content:flex-start}.jx{grid-row:1;grid-column:2}.jbody{grid-template-columns:1fr}}
.jform-w{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px;align-items:start}
.jcontact{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.jcontact span{display:flex;gap:10px;align-items:center;font-weight:600}
.jcontact svg{width:18px;height:18px;stroke:var(--red);fill:none;stroke-width:1.8}
.jform{display:block!important;padding:30px!important}
.jform .btn{margin-top:6px}
@media (max-width:900px){.jform-w{grid-template-columns:1fr}}
/* modulo contatti a passo unico */
.wz.one .wz-p{padding-top:28px}
.fh{margin:0 0 14px;font-size:20px;font-weight:720;font-stretch:110%}
.fh:not(:first-child){margin-top:10px}
.more{border:1px solid var(--line);border-radius:18px;margin:4px 0 18px;overflow:hidden}
.more summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:650;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+";width:26px;height:26px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--red);font-size:18px;transition:transform .3s var(--ease)}
.more[open] summary::before{transform:rotate(45deg)}
.more summary small{font-weight:500;color:var(--muted);font-size:13px}
.more-b{padding:4px 18px 4px}
.wz.one .wz-nav{border-top:1px solid var(--line)}
/* settori in home */
.sect{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
.sect-tabs{display:flex;flex-direction:column;gap:6px}
.sect-tabs button{all:unset;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;border:1px solid transparent;font-size:16px;transition:background .25s,border-color .25s}
.sect-tabs button:hover{background:var(--paper)}
.sect-tabs button[aria-selected=true]{background:var(--paper);border-color:var(--line);box-shadow:0 10px 30px -20px rgba(15,18,22,.35)}
.sect-tabs button:focus-visible{outline:3px solid #2f6bff}
.sic{width:40px;height:40px;border-radius:12px;background:var(--soft);display:grid;place-items:center;transition:background .25s}
.sic svg{width:19px;height:19px;stroke:var(--red);fill:none;stroke-width:1.8}
.sect-tabs button[aria-selected=true] .sic{background:var(--red)}.sect-tabs button[aria-selected=true] .sic svg{stroke:#fff}
.sect-panes{border-radius:28px;background:var(--paper);border:1px solid var(--line);padding:32px;min-height:420px}
.sect-p{display:none}.sect-p.on{display:flex;flex-direction:column;gap:24px;animation:paneIn .4s var(--ease)}
.sect-h small{font-weight:700;color:var(--red);font-size:13.5px}
.sect-h h3{margin:6px 0 8px;font-size:clamp(24px,2.6vw,34px);font-stretch:115%;line-height:1.1;letter-spacing:-.01em}
.sect-h p{margin:0;color:var(--muted);max-width:38em}
.sect-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.smc{display:flex;flex-direction:column;gap:6px;border-radius:18px;border:1px solid var(--line);overflow:hidden;padding-bottom:16px;transition:border-color .25s,box-shadow .35s var(--ease)}
.smc:hover{border-color:#cfd4da;box-shadow:0 20px 40px -26px rgba(15,18,22,.35)}
.smi{display:block;aspect-ratio:4/3;background:#fff;border-bottom:1px solid var(--line);margin-bottom:8px}
.smi img{width:100%;height:100%;object-fit:contain;padding:12px}
.smc b{padding:0 16px;font-size:15.5px;line-height:1.25}
.smc .lnk{padding:0 16px;font-size:13.5px;color:var(--red)}
.sect-p>.btn{align-self:flex-start}
@media (max-width:900px){.sect{grid-template-columns:1fr}.sect-tabs{flex-direction:row;overflow-x:auto;padding-bottom:6px}.sect-tabs button{flex:none}.sect-m{grid-template-columns:1fr 1fr}.sect-panes{padding:22px}}
@media (max-width:520px){.sect-m{grid-template-columns:1fr}}
.btn{white-space:nowrap}
/* carbonio */
.cfw{position:absolute;inset:0;background:
 repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 6px,transparent 6px 12px),
 repeating-linear-gradient(-45deg,rgba(0,0,0,.35) 0 6px,transparent 6px 12px),
 linear-gradient(135deg,#2b3036,#111418 60%,#22272d)}
.cfv{position:relative;display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;min-height:180px;padding:20px;border-radius:inherit;overflow:hidden;color:#fff}
.cfv b,.cfv small{position:relative}
.cfv b{font-size:22px;font-stretch:115%;line-height:1.1}
.cfv small{color:#ff8a82;font-weight:650;font-size:12.5px;margin-top:4px}
.cfv::after{content:"";position:absolute;left:-30%;top:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);animation:cfsh 5s ease-in-out infinite}
@keyframes cfsh{0%,40%{left:-40%}100%{left:120%}}
.pc .im.cf{padding:0;background:#111418!important}
.pc .im.cf .cfv{border-radius:0}
.cfhero{border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px -40px rgba(15,18,22,.5)}
.cfhero .cfv b{font-size:clamp(26px,3vw,40px)}
.mcard .mi.cfm,.dgrid .th.cfm{position:relative;overflow:hidden;background:#111418!important}
.cbstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cbstats>div{padding:26px;border-radius:22px;background:var(--paper);border:1px solid var(--line)}
.cbstats b{display:block;font-size:44px;font-weight:800;font-stretch:120%;color:var(--red);line-height:1}
.cbstats span{display:block;margin-top:8px;color:var(--muted);font-size:15px}
@media (max-width:800px){.cbstats{grid-template-columns:1fr 1fr}}
.csg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.csc{border-radius:22px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.cfv.sm2{min-height:170px;border-radius:0}
.cst{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px}
.cst small{color:var(--red);font-weight:700;font-size:12.5px}.cst h3{margin:0;font-size:20px;font-stretch:110%}.cst p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:860px){.csg{grid-template-columns:1fr}}
.clients{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;margin-top:40px;padding:24px 28px;border-radius:22px;background:var(--paper);border:1px solid var(--line)}
.clients span{font-size:13.5px;font-weight:650;color:var(--muted);margin-right:6px}
.clients b{font-size:19px;font-weight:800;font-stretch:118%;color:#a3aab2;letter-spacing:-.01em;transition:color .25s}
.clients b:hover{color:var(--ink)}
.certg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.certg h3{margin:14px 0 6px;font-size:22px;font-stretch:112%}
@media (max-width:860px){.certg{grid-template-columns:1fr}}
.urltable .keep{color:#1a7f46;font-weight:700;font-size:12px}
/* hero a tutto schermo con video di sfondo */
.vh2{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:#0b0e11;color:#fff;display:flex;align-items:flex-end;padding:0}
.vh-media{position:absolute;inset:0;overflow:hidden}
.vh-media canvas{position:absolute;left:50%;top:50%;width:max(112%,199vh);height:auto;aspect-ratio:16/9;transform:translate(-46%,-50%);display:block}
.vh-media.fade{animation:hf .9s var(--ease)}
.vh-shade{position:absolute;inset:0;pointer-events:none;background:
 linear-gradient(90deg,rgba(8,10,12,.94) 0%,rgba(8,10,12,.82) 26%,rgba(8,10,12,.45) 48%,rgba(8,10,12,0) 68%),
 linear-gradient(0deg,rgba(8,10,12,.92) 0%,rgba(8,10,12,.55) 22%,rgba(8,10,12,0) 45%),
 linear-gradient(180deg,rgba(8,10,12,.65) 0%,rgba(8,10,12,0) 22%)}
.vh-content{position:relative;z-index:2;padding-bottom:clamp(40px,8vh,90px)}
.vh2 .pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e6e9ec;backdrop-filter:blur(8px)}
.vh2 h1{font-size:clamp(40px,5.4vw,80px);max-width:11.5em;margin-bottom:22px;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.vh2 h1 .w1{color:#fff}.vh2 h1 .w2{color:var(--red2)}
.vh2 .lead{color:#d3d8de;max-width:34em;text-shadow:0 1px 20px rgba(0,0,0,.4)}
.vh2 .btn.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(8px)}
.vh2 .btn.ghost .ar{background:rgba(255,255,255,.14)}
.vh2 .stats{margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);max-width:640px}
.vh2 .stats span{color:#aab2bb}
.vh-meta{position:absolute;right:max(20px,calc((100vw - 1280px)/2));bottom:clamp(40px,8vh,90px);z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.vh-meta a{display:inline-flex;align-items:center;gap:10px;font-weight:650;font-size:14.5px;color:#fff;padding:10px 16px;border-radius:999px;background:rgba(11,14,17,.55);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);transition:background .3s}
.vh-meta a:hover{background:var(--red);border-color:var(--red)}
.vh-meta a svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.vh-down{position:absolute;left:50%;bottom:22px;z-index:2;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center}
.vh-down svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2;animation:bob 1.6s ease-in-out infinite}
@media (max-width:900px){.vh-media canvas{transform:translate(-50%,-62%)}.vh-shade{background:linear-gradient(0deg,rgba(8,10,12,.96) 0%,rgba(8,10,12,.85) 45%,rgba(8,10,12,.2) 75%,rgba(8,10,12,.5) 100%)}.vh-meta{display:none}.vh-down{display:none}.vh2 .stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.vh2{height:auto;min-height:100svh;padding-top:120px}.vh2 h1{font-size:34px}.vh2 .lead{font-size:16.5px}.vh2 .stats{margin-top:30px}.vh2 .stats b{font-size:26px}}
/* mega Servizi v3 */
.mega.ms3{grid-template-columns:280px minmax(0,1.6fr) minmax(0,1fr);gap:22px;padding-top:24px!important;padding-bottom:18px!important}
.svurg{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:22px;color:#fff;background:linear-gradient(160deg,#1c2129,#0f1216);overflow:hidden;grid-row:span 2}
.svurg::before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(225,38,28,.55),transparent 65%)}
.svurg>*{position:relative}
.svurg b{font-size:26px;font-stretch:115%;line-height:1.05;margin-top:auto}
.svurg p{margin:0;color:#b9c0c8;font-size:14px}
.svtel{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;margin:6px 0 10px}
.svtel svg{width:18px;height:18px;stroke:var(--red2);fill:none;stroke-width:1.8}
.svurg .btn{align-self:flex-start}
.ms3 h4{margin:0 0 10px;font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.02em}
.svgrid2{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.svl{display:grid;grid-template-columns:44px 1fr 18px;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;transition:background .25s}
.svl:hover,.svl:focus-visible{background:var(--bg)}
.svl .ic{width:44px;height:44px;border-radius:13px;background:rgba(225,38,28,.08);display:grid;place-items:center;transition:background .25s,transform .35s var(--ease)}
.svl .ic svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:1.8}
.svl:hover .ic{background:var(--red);transform:scale(1.06)}.svl:hover .ic svg{stroke:#fff}
.svl b{display:block;font-size:15px;line-height:1.25}
.svl small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.ar2{opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .3s var(--ease)}
.ar2 svg{width:15px;height:15px;stroke:var(--red);fill:none;stroke-width:2}
.svl:hover .ar2,.svplan:hover .ar2{opacity:1;transform:none}
.svg2{border-left:1px solid var(--line);padding-left:22px}
.svplan{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:14px 16px;border-radius:16px;background:var(--bg);border:1px dashed #cfd4da;transition:border-color .25s,background .25s}
.svplan:hover{border-color:var(--red);background:var(--paper)}
.svplan b{display:block;font-size:14.5px}.svplan small{font-size:12.5px;color:var(--muted)}
.svfoot{grid-column:2/-1;display:flex;justify-content:space-between;align-items:center;padding:12px 4px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.svfoot a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.svfoot a svg{width:14px;height:14px;stroke:var(--red);fill:none;stroke-width:2}
@media (max-width:1240px){.mega.ms3{grid-template-columns:240px 1fr}.svg2{grid-column:2;border-left:0;padding-left:0}.svgrid2{grid-template-columns:1fr}}
.tline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.tline::before{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:linear-gradient(90deg,var(--red),#2c343d)}
.tli{position:relative;padding-top:50px}
.tli::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(225,38,28,.18)}
.ty{font-weight:800;font-stretch:120%;font-size:22px;color:#fff}
.tli h3{margin:6px 0 6px;font-size:19px;font-stretch:110%}
.tli p{margin:0;color:var(--dmuted);font-size:15px}
@media (max-width:860px){.tline{grid-template-columns:1fr}.tline::before{display:none}}
.dept .tel a{color:var(--red);font-weight:650}
/* mega Azienda v2 */
.mnav .it[data-id=az]{position:static}
.mega.maz2{left:0;right:0;width:auto;grid-template-columns:300px minmax(0,1.5fr) minmax(0,1fr);gap:22px;padding-top:24px!important;padding-bottom:18px!important}
.azhero{position:relative;grid-row:span 2;min-height:300px;border-radius:22px;overflow:hidden;display:flex;align-items:flex-end;padding:22px;color:#fff;background:#f4f5f6 var(--bg) center 35%/130% auto no-repeat;transition:background-size 1s var(--ease)}
.azhero:hover{background-size:140% auto}
.azht{position:relative;display:flex;flex-direction:column;gap:6px}
.azht small{color:#ff8a82;font-weight:700;font-size:12.5px}
.azht>b{font-size:22px;font-stretch:112%;line-height:1.1}
.azst{display:flex;gap:16px;margin-top:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}
.azst em{font-style:normal;font-size:11.5px;color:#c3c9d0;display:flex;flex-direction:column}
.azst em b{font-size:16px;color:#fff;font-stretch:115%}
.maz2 h4{margin:0 0 10px;font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.02em}
.azc{display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line);padding-left:22px}
.azcl{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:center;padding:10px 8px;border-radius:14px;transition:background .25s}
.azcl:hover{background:var(--bg)}
.azcl svg{width:19px;height:19px;stroke:var(--red);fill:none;stroke-width:1.8}
.azcl b{display:block;font-size:14.5px}.azcl small{display:block;font-size:12.5px;color:var(--muted)}
.azc .btn{align-self:flex-start;margin-top:8px}
.azf .azcli{font-size:13px}
@media (max-width:1240px){.mega.maz2{grid-template-columns:240px 1fr}.azc{grid-column:2;border-left:0;padding-left:0}}
/* footer compatto */
footer{padding:56px 0 26px;margin-top:90px;border-radius:32px 32px 0 0}
.fg3{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)) minmax(0,1.4fr);gap:32px;padding-bottom:36px}
.fb3 .flogo{height:52px;width:auto;margin-bottom:14px}
.fb3 p{margin:0 0 18px;color:#aab2bb;font-size:14.5px;max-width:22em}
.fc3{display:flex;flex-direction:column;gap:2px}
.fc3 h4{margin:0 0 10px;font-size:12.5px;font-weight:700;color:#7f8892;letter-spacing:.02em}
.fc3 a,.fc3 span{padding:4px 0;font-size:14px;color:#d9dde2;transition:color .2s}
.fc3 a:hover{color:#fff}
.fct span{color:#9aa3ad;line-height:1.4}
.fct .btn{align-self:flex-start;margin-top:12px;color:#fff;padding-left:16px}
.fbot{margin-top:0;padding-top:20px;border-top:1px solid #262c34;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#7f8892}
.flinks{gap:16px}
@media (max-width:1000px){.fg3{grid-template-columns:1fr 1fr 1fr}.fb3{grid-column:1/-1}.fct{grid-column:1/-1}}
@media (max-width:560px){.fg3{grid-template-columns:1fr 1fr;gap:26px}.fbot{flex-direction:column;align-items:flex-start}}
/* footer compatto */
footer{margin-top:80px;padding:56px 0 24px;border-radius:32px 32px 0 0}
.fg3{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1.2fr)) minmax(0,1.8fr);gap:32px;padding-bottom:36px}
.fb3 .flogo{height:52px;width:auto;margin-bottom:14px}
.fb3 p{margin:0 0 18px;color:#9aa3ad;font-size:14px;max-width:22em}
.fg3 h4{margin:0 0 12px;font-size:12.5px;color:#7f8892;font-weight:700;letter-spacing:.02em}
.fg3>div>a{display:block;padding:4px 0;font-size:14px;color:#cfd5db;transition:color .2s}
.fg3>div>a:hover{color:#fff}
.fc3 a{display:flex!important;align-items:flex-start;gap:10px}
.fc3 svg{width:16px;height:16px;stroke:var(--red2);fill:none;stroke-width:1.8;flex:none;margin-top:3px}
.fsoc a{width:38px;height:38px}
.fbot{margin-top:0;padding-top:18px;font-size:13px}
@media (max-width:1000px){.fg3{grid-template-columns:1fr 1fr 1fr}.fb3,.fc3{grid-column:1/-1}}
@media (max-width:560px){.fg3{grid-template-columns:1fr 1fr}}
.jhero-grid{grid-template-columns:minmax(0,1fr)!important}.jhero h1{max-width:14em}
.marq.cl{position:relative;display:flex;align-items:center;gap:0;padding:0;mask-image:none;-webkit-mask-image:none}
.marq.cl .mq-l{position:relative;z-index:2;flex:none;align-self:stretch;display:flex;align-items:center;padding:0 28px 0 max(20px,calc((100vw - 1280px)/2));background:var(--paper);font-size:13.5px;font-weight:700;color:var(--muted);box-shadow:20px 0 30px var(--paper)}
.marq.cl>div{padding:24px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);animation-duration:40s}
.marq.cl span:not(.mq-l){font-size:clamp(20px,2.2vw,28px);font-weight:800;font-stretch:118%;color:#9aa2ab;letter-spacing:-.01em}
.marq.cl span:not(.mq-l):hover{color:var(--ink);font-stretch:118%}
@media (max-width:700px){.marq.cl .mq-l{display:none}}
.marq.cl>div.mq-v{flex:1;min-width:0;overflow:hidden;padding:24px 0;animation:none;width:auto;display:block;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marq.cl .mq-t{display:flex;gap:56px;width:max-content;animation:mq 45s linear infinite}
.marq.cl:hover .mq-t{animation-play-state:paused}
.marq.cl .mq-t span{white-space:nowrap}
/* CTA creativa */
.cta2s{padding:60px 0 0}
.cta2{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:center;padding:52px 52px 44px;border-radius:36px;overflow:hidden;color:#fff;
 background:radial-gradient(520px 380px at 100% 0%,rgba(225,38,28,.42),transparent 70%),linear-gradient(#1b2027 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,#1b2027 1px,transparent 1px) 0 0/28px 28px,#0f1216}
.cta2::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--red),var(--red2))}
.cta2-k{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:650;color:var(--red2)}
.cta2-k::before{content:"";width:28px;height:2px;background:var(--red2)}
.cta2 h2{margin:14px 0 14px;font-size:clamp(32px,4vw,56px);line-height:1;font-stretch:118%;letter-spacing:-.025em;max-width:13em}
.cta2-tx>p{margin:0 0 28px;color:#b9c0c8;font-size:17px;max-width:32em}
.cta2-b{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.cta2-tel{display:flex;align-items:center;gap:12px;padding:6px 18px 6px 6px;border-radius:999px;border:1px solid #2c343d;transition:border-color .25s,background .25s}
.cta2-tel:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.qi2{width:40px;height:40px;border-radius:50%;background:#1d232a;display:grid;place-items:center}
.qi2 svg{width:18px;height:18px;stroke:var(--red2);fill:none;stroke-width:1.8}
.cta2-tel b{display:block;font-size:15.5px}.cta2-tel small{display:block;font-size:12px;color:#9aa3ad}
.cta2-p{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px}
.cta2-p li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#cfd5db}
.cta2-p svg{width:16px;height:16px;stroke:#3fd07a;fill:none;stroke-width:2.6}
.cta2-v{position:relative}
.bp{width:100%;height:auto;display:block}
.bp .dim line{stroke:#7f8892;stroke-width:1}
.bp .dim text{fill:#cfd5db;font:700 12px Archivo,system-ui,sans-serif;letter-spacing:.04em}
.bp .dl{stroke-dasharray:4 4;animation:dimd 1.6s linear infinite}
@keyframes dimd{to{stroke-dashoffset:-16}}
.bp .scan2{animation:scan2 3.2s var(--ease) infinite;filter:drop-shadow(0 0 6px rgba(255,74,61,.8))}
@keyframes scan2{0%{transform:translateY(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateY(130px);opacity:0}}
.bp .pin2 circle:first-child{transform-box:fill-box;transform-origin:center;animation:ringp 2s ease-out infinite}
.cta2-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:700;background:rgba(15,18,22,.85);border:1px solid #2c343d;backdrop-filter:blur(6px);animation:float 6s ease-in-out infinite}
.cta2-chip svg{width:14px;height:14px;stroke:#3fd07a;fill:none;stroke-width:2.6}
.cta2-chip.c1{left:4%;top:6%}.cta2-chip.c2{right:2%;bottom:8%;animation-delay:-3s}
@media (max-width:900px){.cta2{grid-template-columns:1fr;padding:34px 26px 28px;border-radius:28px}.cta2-v{max-width:420px;margin:6px auto 0;width:100%}.cta2 h2{font-size:34px}}
@media (prefers-reduced-motion:reduce){.bp .scan2,.bp .dl,.cta2-chip{animation:none}}
/* ===== metodo interattivo ===== */
.mt2{border-radius:28px;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.mt2-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line)}
.mt2-tabs button{all:unset;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 22px 22px;border-right:1px solid var(--line);transition:background .25s}
.mt2-tabs button:last-child{border-right:0}
.mt2-tabs button:hover{background:var(--bg)}
.mt2-tabs em{font-style:normal;font-weight:800;font-stretch:125%;font-size:13px;color:var(--muted)}
.mt2-tabs b{font-size:16px;font-stretch:108%}
.mt2-tabs button[aria-selected=true]{background:var(--bg)}
.mt2-tabs button[aria-selected=true] em,.mt2-tabs button.done em{color:var(--red)}
.mbar{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}
.mbar span{display:block;height:100%;width:0;background:var(--red)}
.mt2-tabs button.done .mbar span{width:100%}
.mt2-tabs button[aria-selected=true] .mbar span{animation:mfill 5.2s linear forwards}
.mt2.man .mt2-tabs button[aria-selected=true] .mbar span{animation:none;width:100%}
@keyframes mfill{to{width:100%}}
.mt2-tabs button:focus-visible{outline:3px solid #2f6bff;outline-offset:-3px}
.mt2-p{display:none;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px;padding:34px}
.mt2-p.on{display:grid;animation:paneIn .45s var(--ease)}
.mt2-n{font-size:64px;font-weight:800;font-stretch:125%;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--red)}
.mt2-l h3{margin:10px 0 8px;font-size:clamp(24px,2.4vw,32px);font-stretch:115%}
.mt2-l p{margin:0;color:var(--muted);font-size:16.5px;max-width:30em}
.mt2-r{padding:24px;border-radius:20px;background:var(--dark);color:#fff}
.mt2-r small{display:block;font-weight:700;color:var(--red2);font-size:13px;margin-bottom:12px}
.mt2-r ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.mt2-r li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.mt2-r svg{width:18px;height:18px;stroke:#3fd07a;fill:none;stroke-width:2.6;flex:none;margin-top:2px}
@media (max-width:900px){.mt2-tabs{display:flex;overflow-x:auto}.mt2-tabs button{flex:0 0 150px}.mt2-p{grid-template-columns:1fr;padding:24px}}
.dark .mt2{background:#14181e;border-color:#232a32}.dark .mt2-tabs,.dark .mt2-tabs button{border-color:#232a32}.dark .mt2-tabs button[aria-selected=true],.dark .mt2-tabs button:hover{background:#1b2027}
/* ===== case history ===== */
.csf{margin-bottom:22px}.csf button{border-color:var(--line);color:var(--muted)}.csf button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cs2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cs2c{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.cs2c.feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.cs2v{position:relative;background:#0f1216;display:grid;place-items:center;padding:22px;min-height:220px}
.cs2tag{position:absolute;left:16px;top:16px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:700}
.csv{width:100%;max-width:360px;height:auto}
.csv .s{fill:#3a424c}.csv .d{fill:#5d646d}.csv .r{fill:#e1261c}.csv .k{fill:#c99a62}.csv .g{fill:#1d232a}.csv .dash{stroke:#5d646d;stroke-dasharray:5 6;fill:none}.csv .d2{stroke:#5d646d;stroke-width:3}.csv .t{fill:#9aa3ad;font:700 12px Archivo,system-ui,sans-serif}.csv .ar3{fill:none;stroke:#ff4a3d;stroke-width:2}
.csv .mv{animation:csmv 4s ease-in-out infinite}@keyframes csmv{0%,100%{transform:translateX(-50px)}50%{transform:translateX(50px)}}
.csv .ext{animation:csex 3s ease-in-out infinite;transform-origin:160px 97px}@keyframes csex{0%,100%{transform:scaleX(.7)}50%{transform:scaleX(1.12)}}
.csv .bend path{animation:csbd 3.4s ease-in-out infinite;transform-origin:160px 120px}@keyframes csbd{0%,100%{d:path("M80 120 H160 L240 120")}50%{d:path("M80 120 H160 L230 70")}}
.cs2b{padding:24px 26px 26px;display:flex;flex-direction:column;gap:16px}
.cs2b h3{margin:0;font-size:22px;font-stretch:112%;line-height:1.15}
.cs2g{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cs2g small{display:block;font-size:12px;font-weight:700;color:var(--red);margin-bottom:4px}.cs2g p{margin:0;color:var(--muted);font-size:14.5px}
.cs2r{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.cs2r div{padding:14px 16px;border-radius:16px;background:var(--bg)}
.cs2r b{display:block;font-size:30px;font-weight:800;font-stretch:120%;line-height:1;color:var(--ink)}
.cs2r span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.cs2c.feat .cs2b{padding:36px}.cs2c.feat h3{font-size:30px}
@media (max-width:960px){.cs2{grid-template-columns:1fr}.cs2c.feat{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.csv .mv,.csv .ext,.csv .bend path{animation:none}}
.offg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.offc{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--paper);border:1px solid var(--line);transition:border-color .25s,box-shadow .35s var(--ease)}
.offc:hover{border-color:#cfd4da;box-shadow:0 24px 50px -30px rgba(15,18,22,.35)}
.offv{background:#0f1216;padding:16px;display:grid;place-items:center;aspect-ratio:16/10}
.offb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.offb small{font-size:12px;font-weight:700;color:var(--red)}.offb h3{margin:0;font-size:17px;font-stretch:108%;line-height:1.25;flex:1}.offb .lnk{font-size:13.5px;color:var(--ink)}
@media (max-width:1000px){.offg{grid-template-columns:1fr 1fr}}@media (max-width:540px){.offg{grid-template-columns:1fr}}
/* ===== laboratorio materiali ===== */
.lab{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px}
.lab-in{padding:30px;border-radius:26px;background:#14181e;border:1px solid #232a32;display:flex;flex-direction:column;gap:26px}
.lab-in label{display:grid;gap:12px;font-weight:600;color:#dfe3e8}
.lab-in output{color:var(--red2);font-weight:800}
.lab-out{padding:30px;border-radius:26px;background:#14181e;border:1px solid #232a32;display:flex;flex-direction:column;gap:18px}
.lb-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.lb-h b{font-size:17px}.lb-h span{color:#cfd5db;font-size:14px}.lb-h em{font-style:normal;font-size:24px;font-weight:800;font-stretch:118%;color:#fff}
.lb-bar{height:14px;border-radius:999px;background:#1d232a;overflow:hidden}.lb-bar i{display:block;height:100%;border-radius:999px;transition:width .5s var(--ease)}
.lb small{display:block;margin-top:6px;color:#9aa3ad;font-size:12.5px}.lb small em{font-style:normal;color:#fff;font-weight:700}
.lab-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.lab-sum div{padding:16px;border-radius:16px;background:rgba(225,38,28,.12);border:1px solid rgba(225,38,28,.3)}
.lab-sum b{display:block;font-size:24px;font-weight:800;font-stretch:118%;color:#fff}.lab-sum span{display:block;margin-top:4px;font-size:13px;color:#cfd5db}
@media (max-width:900px){.lab{grid-template-columns:1fr}}
/* ===== certificazioni ===== */
.cert2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.isob{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;padding:34px;border-radius:28px;background:var(--dark);color:#fff}
.seal svg{width:150px;height:150px}.seal .rot{transform-origin:60px 60px;animation:spin2 30s linear infinite}
.seal text{fill:#fff;font:800 22px Archivo,system-ui,sans-serif}.seal .s2{font-size:26px;fill:#ff4a3d}
@keyframes spin2{to{transform:rotate(360deg)}}
.isob small{color:var(--red2);font-weight:700;font-size:13px}.isob h3{margin:6px 0 8px;font-size:34px;font-stretch:118%}.isob p{margin:0 0 14px;color:#b9c0c8}
.isob ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.isob li{display:flex;gap:10px;font-size:14.5px}.isob li svg{width:18px;height:18px;stroke:#3fd07a;fill:none;stroke-width:2.6}
.assoc{display:flex;flex-direction:column;gap:16px}.assoc h3{margin:14px 0 4px;font-size:21px}
@media (max-width:900px){.cert2{grid-template-columns:1fr}.isob{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.seal svg{animation:none}}
/* ===== aperture pagine per area ===== */
.pdeco{position:absolute;right:-40px;top:60px;width:min(56vw,760px);height:auto;pointer-events:none;opacity:.9;z-index:0}
.phero.v-tech .flow,.phero.v-svc .flow,.phero.v-sim .flow,.phero.v-carbon .flow{display:none}
.phero.v-tech{background:linear-gradient(#e6e9ec 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,#e6e9ec 1px,transparent 1px) 0 0/32px 32px,var(--bg)}
.dq{fill:#e1261c;font:700 13px Archivo,system-ui,sans-serif}
.dimq{animation:dimd 1.6s linear infinite}
.phero.v-svc .spin{transform-origin:440px 200px;animation:spin2 40s linear infinite}
.phero.v-sim .simp{animation:dimd 1s linear infinite}
.phero.v-carbon{background:#0f1216;color:#fff}
.phero.v-carbon .cw2{position:absolute;inset:0;width:auto;top:0;right:0;opacity:.55;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 7px,transparent 7px 14px),repeating-linear-gradient(-45deg,rgba(0,0,0,.4) 0 7px,transparent 7px 14px),radial-gradient(700px 400px at 85% 10%,rgba(225,38,28,.35),transparent 70%)}
.phero.v-carbon h1,.phero.v-carbon .crumb span,.phero.v-carbon .crumb a:hover{color:#fff}
.phero.v-carbon .lead{color:#c3c9d0}
.phero.v-carbon .crumb,.phero.v-carbon .crumb a{color:#9aa3ad}
.phero.v-carbon .pill{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#e6e9ec}
.phero.v-carbon .hl li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.phero.v-carbon .btn.ghost{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.22)}
.phero.v-carbon .kstrip{background:#14181e;border-color:#232a32}.phero.v-carbon .kstrip>div{border-color:#232a32}
.phero .wrap{position:relative;z-index:1}
@media (max-width:900px){.pdeco{opacity:.35;width:110vw;right:-30vw}}
.phero.v-carbon .btn.ghost .ar{background:rgba(255,255,255,.14)}.phero.v-carbon .btn.ghost .ar svg{stroke:#fff}
/* varianti visive CTA */
.bp .cbeam{animation:cbm 4s ease-in-out infinite}@keyframes cbm{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.bp .wtt{fill:#fff;font:800 22px Archivo,system-ui,sans-serif}
.bp .hb{stroke-dasharray:640;stroke-dashoffset:640;animation:hbd 3.2s linear infinite;filter:drop-shadow(0 0 6px rgba(63,208,122,.6))}@keyframes hbd{to{stroke-dashoffset:0}}
.bp .blink{animation:lampb 1.6s ease-in-out infinite}
.bp .st{fill:#cfd5db;font:700 13px Archivo,system-ui,sans-serif}.bp .st2{fill:#cfd5db;font:700 12.5px Archivo,system-ui,sans-serif}
.bp .big2{fill:#fff;font:800 22px Archivo,system-ui,sans-serif}
.bp .stp{fill:#e1261c;font:800 15px Archivo,system-ui,sans-serif;letter-spacing:.1em}
.bp .stamp{transform-origin:242px 253px;animation:stmp 3.4s ease-in-out infinite}@keyframes stmp{0%,20%{transform:scale(1.6);opacity:0}30%,85%{transform:scale(1);opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.bp .cbeam,.bp .hb,.bp .stamp{animation:none}.bp .hb{stroke-dashoffset:0}}
.cta2-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.cta2-chips .cta2-chip{position:static;animation:none}
/* Perché EXON v2 */
.why2{position:relative;border-radius:32px;overflow:hidden;padding:44px;color:#fff;background:radial-gradient(500px 300px at 0% 0%,rgba(225,38,28,.45),transparent 70%),linear-gradient(#1b2027 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,#1b2027 1px,transparent 1px) 0 0/28px 28px,#0f1216}
.why2-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:end;margin-bottom:34px}
.why2 h2{margin:12px 0 0;font-size:clamp(28px,3.2vw,44px);line-height:1.02;font-stretch:118%;letter-spacing:-.02em}
.why2-flow{display:flex;align-items:center;flex-wrap:wrap;gap:0;row-gap:10px}
.wf{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#171b21;border:1px solid #2c343d;font-size:13.5px;font-weight:650;white-space:nowrap}
.wf i{font-style:normal;color:var(--red2);font-weight:800;font-size:12px}
.wl{flex:1;min-width:14px;height:2px;background:linear-gradient(90deg,var(--red),var(--red2));position:relative;overflow:hidden}
.wl::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff,transparent);transform:translateX(-100%);animation:wls 2.4s ease-in-out infinite}
@keyframes wls{to{transform:translateX(100%)}}
.why2-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wc{position:relative;padding:26px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid #232a32;overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.wc:hover{border-color:var(--red);transform:translateY(-3px)}
.wn{position:absolute;right:18px;top:10px;font-size:56px;font-weight:800;font-stretch:125%;color:transparent;-webkit-text-stroke:1px #2f363e}
.wi{width:48px;height:48px;border-radius:14px;background:var(--red);display:grid;place-items:center;margin-bottom:18px}
.wi svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2}
.wc h3{margin:0 0 6px;font-size:19px;font-stretch:110%}.wc p{margin:0;color:#aab2bb;font-size:14.5px}
@media (max-width:900px){.why2{padding:28px 22px;border-radius:26px}.why2-h{grid-template-columns:1fr;gap:20px}.why2-g{grid-template-columns:1fr}.wl{min-width:10px}}
/* griglia correlati responsive */
.pgrid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.pgrid.g3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pgrid.g3{grid-template-columns:1fr}}
