/* Layout: dark "control room" grid — full-bleed sections on a 12-col grid, thin teal rules, mono HUD labels; one bold moment per section. Single dark look by choice. */
:root{
  --ink:#080B0D;          /* page ground */
  --panel:#0E1316;        /* raised surfaces */
  --rule:#1B2428;         /* hairlines */
  --teal:#00758D;         /* Argar brand teal (fills) */
  --teal-hi:#45B8CC;      /* teal for text/lines on dark */
  --grey:#707271;         /* Argar brand grey */
  --fg:#E6E9E9;
  --muted:#93A0A4;
  --heat:#FF6B2C;         /* used only in the flame test */
  --f-display:'Archivo','Arial Narrow',Arial,sans-serif;
  --f-body:'Instrument Sans','Helvetica Neue',Arial,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --gut:clamp(16px,4vw,56px);
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal-hi);outline-offset:3px}
.wrap{padding-inline:var(--gut)}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-hi);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--teal-hi)}
h1,h2,h3{font-family:var(--f-display);font-stretch:125%;font-weight:800;letter-spacing:-.01em;line-height:.98;margin:0;text-wrap:balance;text-transform:uppercase}
h2{font-size:clamp(34px,5.2vw,76px)}
h3{font-size:clamp(20px,2vw,26px);font-stretch:112%;font-weight:700}
p{margin:0}
.lead{font-size:clamp(17px,1.4vw,20px);color:#C3CBCD;max-width:58ch}
.btn{display:inline-flex;align-items:center;gap:12px;height:50px;padding:0 22px;border:1px solid var(--teal-hi);color:var(--fg);font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;background:transparent;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--teal-hi);color:var(--ink)}
.btn.solid{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.solid:hover{background:var(--teal-hi);border-color:var(--teal-hi);color:var(--ink)}
.ph-note{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:#6E7B80}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(8,11,13,.86);backdrop-filter:blur(10px);border-color:var(--rule)}
.nav-in{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo svg{height:38px;width:auto;display:block}
.nav-links{display:flex;gap:28px;font-size:14px;font-weight:500}
.nav-links a{color:#C9D1D3;position:relative;padding-block:6px}
.nav-links a:hover{color:#fff}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--teal-hi);transition:right .25s}
.nav-links a:hover::after,.nav-links a.cur::after{right:0}
.nav-links a.cur{color:#fff}
.nav-r{display:flex;align-items:center;gap:18px}
.lang{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.lang b{color:var(--fg);font-weight:500}
.burger{display:none;width:44px;height:44px;border:1px solid var(--rule);background:transparent;color:var(--fg);cursor:pointer}
.mnav{display:none}
@media (max-width:1080px){.nav-links{display:none}.burger{display:inline-flex;align-items:center;justify-content:center}.nav-r .btn{display:none}
  .mnav.open{display:flex;flex-direction:column;gap:4px;padding-block:8px 20px;background:rgba(8,11,13,.97);border-bottom:1px solid var(--rule)}
  .mnav a{padding:12px 0;border-bottom:1px solid var(--rule);font-family:var(--f-display);font-stretch:118%;font-weight:700;text-transform:uppercase;font-size:20px}}

/* HERO */
.hero{position:relative;min-height:max(640px,100svh);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-bottom:1px solid var(--rule)}
#knit{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,13,.92) 0%,rgba(8,11,13,.55) 45%,rgba(8,11,13,.1) 100%);pointer-events:none;z-index:1}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(0deg,var(--ink) 8%,transparent);pointer-events:none;z-index:1}
.hud{position:absolute;z-index:2;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:#7FA9B2;text-transform:uppercase;display:flex;flex-direction:column;gap:4px}
.hud.tr{top:110px;right:var(--gut);text-align:right}
.hud .v{color:var(--teal-hi)}
.hero-c{position:relative;z-index:3;padding-block:120px 0;display:flex;flex-direction:column;gap:24px}
.hero h1{font-size:clamp(36px,4.6vw,68px);max-width:16ch}
.hero-claim{font-family:var(--f-mono);font-size:clamp(14px,1.2vw,17px);letter-spacing:.14em;text-transform:uppercase;color:#C9D1D3}
.hero h1 .t{color:var(--teal-hi)}
.hero-sub{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-end;justify-content:space-between}
.sectors{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);margin-top:36px}
.sector{display:flex;flex-direction:column;gap:10px;padding:26px 28px 30px 0;border-right:1px solid var(--rule);position:relative;transition:background .25s}
.sector+.sector{padding-left:28px}
.sector:last-child{border-right:0}
.sector:hover{background:linear-gradient(180deg,rgba(0,117,141,.16),transparent)}
.sector .row{display:flex;justify-content:space-between;align-items:center}
.sector h3{font-size:clamp(22px,2.4vw,34px)}
.sector p{font-size:14px;color:var(--muted);max-width:36ch}
.sector .arr{width:36px;height:36px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;transition:all .25s}
.sector:hover .arr{background:var(--teal-hi);border-color:var(--teal-hi);color:var(--ink);transform:translate(4px,-4px)}
@media (max-width:760px){.sectors{grid-template-columns:1fr}.sector,.sector+.sector{padding:20px 0;border-right:0;border-bottom:1px solid var(--rule)}.hud.tr{display:none}}

/* SHOWREEL */
.reel{position:relative;aspect-ratio:21/9;max-width:100%;overflow:hidden;background:#0B0F11;border-bottom:1px solid var(--rule)}
@media (max-width:760px){.reel{aspect-ratio:4/5}}
.scene{position:absolute;inset:0;opacity:0;display:flex;align-items:center;justify-content:center;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px);animation:fade 20s infinite,kb 20s infinite}
.scene span{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:#8B979B;text-align:center;padding:0 24px}
.s1{background-color:#1D221B}.s2{background-color:#2A1D16;animation-delay:4s}.s3{background-color:#181D22;animation-delay:8s}.s4{background-color:#14262B;animation-delay:12s}.s5{background-color:#241F1B;animation-delay:16s}
.reel-ui{position:absolute;inset:auto var(--gut) 28px var(--gut);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;z-index:2}
.reel-tags{position:relative;height:20px;flex:1}
.reel-tags b{position:absolute;left:0;top:0;opacity:0;font-family:var(--f-mono);font-weight:500;font-size:12px;letter-spacing:.14em;color:var(--teal-hi);animation:fade 20s infinite;white-space:nowrap}
.reel-tags b:nth-child(2){animation-delay:4s}.reel-tags b:nth-child(3){animation-delay:8s}.reel-tags b:nth-child(4){animation-delay:12s}.reel-tags b:nth-child(5){animation-delay:16s}
.bars{display:grid;grid-template-columns:repeat(5,40px);gap:6px}
.bars i{height:2px;background:rgba(230,233,233,.2);overflow:hidden;display:block}
.bars i::after{content:"";display:block;height:2px;width:0;background:var(--fg);animation:fill 20s linear infinite}
.bars i:nth-child(2)::after{animation-delay:4s}.bars i:nth-child(3)::after{animation-delay:8s}.bars i:nth-child(4)::after{animation-delay:12s}.bars i:nth-child(5)::after{animation-delay:16s}
.reel.paused .scene,.reel.paused .reel-tags b,.reel.paused .bars i::after{animation-play-state:paused}
.pp{width:44px;height:44px;border:1px solid rgba(230,233,233,.5);background:rgba(8,11,13,.4);color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center}
.reel-label{position:absolute;top:24px;left:var(--gut);z-index:2}
@keyframes fade{0%{opacity:0}3%{opacity:1}20%{opacity:1}23%{opacity:0}100%{opacity:0}}
@keyframes kb{0%{transform:scale(1)}23%{transform:scale(1.07)}100%{transform:scale(1.07)}}
@keyframes fill{0%{width:0}20%{width:100%}20.01%{width:0}100%{width:0}}

/* SECTIONS */
section.blk{padding-block:clamp(80px,11vw,150px);border-bottom:1px solid var(--rule)}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 64px;margin-bottom:clamp(40px,6vw,72px)}
.head>div{display:flex;flex-direction:column;gap:20px;min-width:0}

/* PRODUZIONE */
.prod{align-items:start}
.prod-l{grid-column:span 6;display:flex;flex-direction:column;gap:28px;min-width:0}
.prod-r{grid-column:7 / span 6;position:relative;aspect-ratio:1520/1400;max-width:100%}
#machine3{width:100%;height:100%;display:block}
.prod-r svg{width:100%;height:100%;display:block}
.spin{transform-origin:300px 300px;animation:rot 30s linear infinite}
.spin.rev{animation-duration:46s;animation-direction:reverse}
@keyframes rot{to{transform:rotate(360deg)}}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}
.spec{padding:20px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:4px}
.spec:nth-child(odd){padding-right:20px;border-right:1px solid var(--rule)}
.spec:nth-child(even){padding-left:20px}
.spec b{font-family:var(--f-display);font-stretch:118%;font-size:36px;font-weight:800;font-variant-numeric:tabular-nums}
.spec span{font-size:14px;color:var(--muted)}
.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(48px,6vw,80px)}
.photo{aspect-ratio:4/3;max-width:100%;margin:0;position:relative;overflow:hidden;border:1px solid var(--rule);background:#10161A}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.photo::after,.lab-photo::after{content:"";position:absolute;right:12px;bottom:12px;width:30px;height:25px;background:url(../img/mark.svg) center/contain no-repeat;z-index:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.lab-photo::after{width:24px;height:20px;right:8px;bottom:8px}
.photo figcaption{padding-right:56px}
.photo:hover img{transform:scale(1.04)}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(0deg,rgba(8,11,13,.85),transparent);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#C9D1D3}
.scene img,.scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,11,13,.75),rgba(8,11,13,.1) 50%)}
.lab-photo{position:absolute;right:20px;top:78px;width:min(22%,220px);aspect-ratio:3/4;border:1px solid var(--rule);overflow:hidden;z-index:2;margin:0;background:#10161A}
.lab-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lab-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;background:linear-gradient(0deg,rgba(8,11,13,.9),transparent);font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#C9D1D3}
@media (max-width:760px){.lab-photo{display:none}}
.qc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:40px}
@media (max-width:900px){.qc{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.pic{display:flex;flex-direction:column;gap:12px;padding:20px;border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:transparent;color:var(--fg);text-align:left;cursor:pointer;font:inherit;transition:background .2s;min-width:0}
.pic:hover{background:rgba(0,117,141,.12)}
.pic img{width:100%;max-width:120px;aspect-ratio:1;object-fit:contain;display:block}
.pic b{font-family:var(--f-display);font-stretch:112%;font-size:16px;text-transform:uppercase}
.pic span{font-size:13px;color:var(--muted)}
.pic em{font-style:normal;font-family:var(--f-mono);font-size:11px;color:var(--teal-hi);margin-top:auto}
.card .picts{display:flex;gap:6px;flex-wrap:wrap}
.card .picts img{width:38px;height:38px;object-fit:contain;border:1px solid var(--rule);padding:3px;background:#0A0E10}
@media (max-width:900px){.prod-l,.prod-r{grid-column:1 / -1}.prod-r{max-width:520px;width:100%;justify-self:center}.photos{grid-template-columns:1fr}}

/* LAYERS (sticky) */
.layers{height:320vh;position:relative;border-bottom:1px solid var(--rule)}
.layers-stick{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;overflow:hidden}
.ly-txt{grid-column:span 5;display:flex;flex-direction:column;gap:28px;min-width:0;padding-top:76px}
.steps{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.step{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--rule);opacity:.38;transition:opacity .35s}
.step.on{opacity:1}
.step .n{font-family:var(--f-mono);font-size:12px;color:var(--teal-hi);padding-top:5px}
.step h3{font-size:20px}
.step p{font-size:14px;color:var(--muted);margin-top:6px}
.ly-vis{grid-column:7 / span 6;height:min(78svh,640px);position:relative;perspective:1600px;min-width:0}
.stack{position:absolute;left:57%;top:50%;width:min(310px,58%);aspect-ratio:1;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-38deg)}
.plane{position:absolute;inset:0;border:1px solid rgba(69,184,204,.45);background-size:cover;transition:border-color .3s,box-shadow .3s}
.plane.on{border-color:var(--teal-hi);box-shadow:0 0 0 1px var(--teal-hi),0 0 60px rgba(69,184,204,.25)}
.ly-lbl{position:absolute;left:0;top:0;transform:translateY(-50%);display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;pointer-events:none;transition:color .3s}
#cycleCv{position:absolute;top:0;bottom:0;left:calc(var(--gut)*-1);right:calc(var(--gut)*-1);width:calc(100% + var(--gut)*2);height:100%;display:block;z-index:0;pointer-events:none}
#tecnologia .ly-txt,#tecnologia .ly-vis{position:relative;z-index:1}
@media (max-width:900px){#cycleCv{top:auto;height:440px}}
.nv-steps .step{opacity:1}
#novita{height:240vh}
.ly-lbl b{font-weight:500}.ly-lbl i{display:block;height:1px;background:currentColor;opacity:.6;width:20px}
.ly-lbl i::after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:currentColor;margin:-2px 0 0 auto}
@media (max-width:900px){.ly-lbl,.readout{display:none}}
.ly-lbl.on{color:var(--teal-hi)}
.readout{position:absolute;left:0;bottom:24px;font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.readout b{color:var(--teal-hi);font-weight:500}
@media (max-width:900px){.layers{height:auto}.layers-stick{position:relative;height:auto;grid-template-columns:1fr;padding-block:90px}.ly-txt,.ly-vis{grid-column:1 / -1}.ly-txt{padding-top:0}.ly-vis{height:420px}.step{opacity:1}}

/* CATALOGO */
#v-prodotti{padding-top:76px}
.cat-hero{padding-block:clamp(48px,7vw,96px) 40px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:28px}
.cat-hero h1{font-size:clamp(40px,6vw,92px)}
.crumbs{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.06em}
.crumbs a:hover{color:var(--teal-hi)}
.search{display:flex;align-items:center;gap:12px;border:1px solid var(--rule);background:var(--panel);height:58px;padding:0 18px;max-width:760px}
.search input{flex:1;min-width:0;background:transparent;border:0;color:var(--fg);font:inherit;font-size:16px;height:100%}
.search input:focus{outline:none}
.search:focus-within{border-color:var(--teal-hi)}
.sec-tabs{display:flex;flex-wrap:wrap;gap:8px}
.sec-tabs button{height:44px;padding:0 18px;border:1px solid var(--rule);background:transparent;color:#C9D1D3;font-family:var(--f-display);font-stretch:115%;font-weight:700;text-transform:uppercase;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px}
.sec-tabs button em{font-style:normal;font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted)}
.sec-tabs button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.sec-tabs button[aria-pressed="true"] em{color:#CFEAF0}
.pnote{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--muted)}
.pnote svg{flex:none;color:var(--teal-hi)}
.pnote b{color:#DCE3E5;font-weight:600;text-decoration:underline;text-decoration-color:var(--teal-hi);text-decoration-thickness:1.5px;text-underline-offset:4px}
.pantone{display:flex;align-items:center;gap:14px;align-self:flex-start;max-width:760px;padding:14px 18px;border:1px solid var(--teal-hi);border-left-width:4px;background:rgba(0,117,141,.14);font-size:15px;color:#DCE3E5}
.pantone svg{flex:none;color:var(--teal-hi)}
.pantone b{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:var(--teal-hi);text-decoration-thickness:2px;text-underline-offset:5px}
.pantone{font-size:16px!important;line-height:1.55}
.pantone u{text-decoration-color:var(--teal-hi);text-decoration-thickness:2px;text-underline-offset:4px;color:#fff;font-weight:600}
.demo{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:#C9A86A;border:1px dashed #6B5A3A;padding:8px 12px;align-self:flex-start}
.cat{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;padding-block:40px 120px}
.filters{display:flex;flex-direction:column;gap:6px;position:sticky;top:96px;align-self:start;max-height:calc(100svh - 110px);overflow:auto;padding-right:6px}
.filters details{border-bottom:1px solid var(--rule)}
.filters summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C9D1D3}
.filters summary::-webkit-details-marker{display:none}
.filters summary::after{content:"+";color:var(--muted)}
.filters details[open] summary::after{content:"–"}
.opts{display:flex;flex-direction:column;gap:2px;padding-bottom:14px}
.opt{display:flex;align-items:center;gap:10px;font-size:14px;color:#C3CBCD;min-height:32px;cursor:pointer}
.opt input{appearance:none;width:16px;height:16px;border:1px solid #3A474C;margin:0;display:grid;place-content:center;flex:none;cursor:pointer}
.opt input:checked{background:var(--teal-hi);border-color:var(--teal-hi)}
.opt input:checked::after{content:"";width:8px;height:5px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg) translate(1px,-1px)}
.opt small{margin-left:auto;font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.range{display:flex;flex-direction:column;gap:10px;padding-bottom:16px}
.range .vals{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:12px;color:var(--teal-hi)}
.range input{width:100%;accent-color:#45B8CC}
.toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--rule);font-size:14px;cursor:pointer}
.toggle input{appearance:none;width:40px;height:22px;border-radius:11px;background:#1E282C;position:relative;cursor:pointer;margin:0}
.toggle input::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#93A0A4;transition:left .2s}
.toggle input:checked{background:var(--teal)}
.toggle input:checked::after{left:21px;background:#fff}
.res-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.res-bar .count{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.res-bar .count b{color:var(--fg);font-weight:500}
.res-bar select{height:40px;background:var(--panel);border:1px solid var(--rule);color:var(--fg);font:inherit;font-size:14px;padding:0 10px}
.active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.active button{height:30px;padding:0 10px;border:1px solid var(--teal);background:rgba(0,117,141,.15);color:#CFEAF0;font-family:var(--f-mono);font-size:11px;cursor:pointer}
.active button.clr{border-color:var(--rule);background:transparent;color:var(--muted)}
.grid-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--panel);transition:border-color .2s,transform .2s;min-width:0}
.card:hover{border-color:#2F5A63;transform:translateY(-2px)}
.card .img{aspect-ratio:4/3;max-width:100%;background-size:cover;background-position:center;position:relative;border-bottom:1px solid var(--rule)}
.card .new{position:absolute;left:10px;top:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;padding:4px 8px;background:var(--teal-hi);color:var(--ink);font-weight:500}
.card .sw{position:absolute;right:10px;bottom:10px;display:flex;gap:4px}
.card .sw i{width:14px;height:14px;border:1px solid rgba(255,255,255,.35);display:block}
.card .bd{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .code{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--teal-hi);display:flex;justify-content:space-between}
.card h3{font-size:19px;font-stretch:112%}
.card .meta{font-size:13px;color:var(--muted)}
.card .chips{margin-top:2px}
.card .ft{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--rule)}
.cmp{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--muted);cursor:pointer;min-height:36px}
.cmp input{accent-color:#45B8CC;width:16px;height:16px;margin:0}
.more{height:36px;padding:0 12px;border:1px solid var(--rule);background:transparent;color:var(--fg);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.more:hover{border-color:var(--teal-hi);color:var(--teal-hi)}
.empty{grid-column:1 / -1;border:1px dashed var(--rule);padding:40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.custom{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:28px;border:1px solid var(--teal);background:linear-gradient(90deg,rgba(0,117,141,.18),transparent 70%);margin-top:8px}
.custom h3{font-size:clamp(20px,2.2vw,28px)}
.cbar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:16px;padding:10px 10px 10px 18px;background:#0F1A1D;border:1px solid var(--teal);box-shadow:0 12px 40px rgba(0,0,0,.5);max-width:calc(100% - 32px)}
.cbar span{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em}
@media (max-width:900px){.cat{grid-template-columns:1fr}.filters{position:relative;top:0;max-height:none}.filters-wrap{border:1px solid var(--rule);padding:0 14px}}
.filters-wrap>summary{display:none}
@media (min-width:901px){.filters-wrap:not([open])>.filters{display:flex}}
@media (max-width:900px){.filters-wrap>summary{display:flex;list-style:none;justify-content:space-between;padding:14px 0;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}}

/* DRAWER */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,100%);background:#0B1012;border-left:1px solid var(--rule);z-index:61;overflow:auto;display:flex;flex-direction:column}
.dr-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 24px 14px;background:rgba(11,16,18,.95);border-bottom:1px solid var(--rule)}
.x{width:44px;height:44px;border:1px solid var(--rule);background:transparent;color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center}
.dr-img{aspect-ratio:16/9;max-width:100%;background-size:cover;background-position:center;position:relative}
.dr-img .zoom{position:absolute;right:16px;bottom:16px;font-family:var(--f-mono);font-size:11px;color:#E6E9E9;background:rgba(8,11,13,.7);padding:6px 10px;letter-spacing:.06em}
.dr-bd{padding:28px 24px 40px;display:flex;flex-direction:column;gap:28px}
.dr-bd h2{font-size:clamp(28px,4vw,44px)}
.colors{display:flex;flex-wrap:wrap;gap:10px}
.colors button{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 6px;border:1px solid var(--rule);background:transparent;color:#C3CBCD;font:inherit;font-size:13px;cursor:pointer}
.colors button i{width:24px;height:24px;display:block;border:1px solid rgba(255,255,255,.25)}
.colors button[aria-pressed="true"]{border-color:var(--teal-hi);color:#fff}
.specs-t{width:100%;border-collapse:collapse;font-size:14px}
.specs-t th{text-align:left;font-family:var(--f-mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);width:40%;vertical-align:top}
.specs-t td{padding:12px 0;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}
.specs-t .ph{color:#C9A86A}
.dr-sec{display:flex;flex-direction:column;gap:12px}
.dr-sec>.mono{color:var(--teal-hi)}
.dr-cta{display:flex;flex-wrap:wrap;gap:10px}
.perf{display:flex;flex-wrap:wrap;gap:6px}
.perf span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;padding:6px 10px;background:rgba(0,117,141,.16);color:#CFEAF0}
.cmp-t{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.cmp-t th,.cmp-t td{padding:12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.cmp-t thead th{font-family:var(--f-display);font-stretch:112%;font-size:16px;text-transform:uppercase}
.cmp-t tbody th{font-family:var(--f-mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);width:160px}

/* SETTORI BOX */
.sbox{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1200px){.sbox{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sb{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--panel);transition:border-color .25s,transform .25s;min-width:0;overflow:hidden}
.sb:hover{border-color:var(--teal-hi);transform:translateY(-4px)}
.sb-img{aspect-ratio:16/10;max-width:100%;background-size:cover;background-position:center;position:relative;border-bottom:1px solid var(--rule);transition:transform .6s}
.sb:hover .sb-img{transform:scale(1.04)}
.sb-img{overflow:hidden}.sb-img img{width:100%;height:100%;object-fit:cover;display:block}
.sb-img.stock{display:flex;align-items:flex-end;padding:16px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 1px,transparent 1px 16px)}
.sb-img.stock span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:#9AA4A8}
.st-dif{background-color:#20261C}.st-pro{background-color:#2B1C14}.st-wor{background-color:#2A2410}
.sb-bd{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1;position:relative;background:var(--panel)}
.sb-top{display:flex;justify-content:space-between;align-items:center}
.sb .code{font-family:var(--f-mono);font-size:12px;color:var(--teal-hi);letter-spacing:.1em}
.sb h3{font-size:clamp(28px,2.8vw,40px);font-stretch:125%;font-weight:800}
.sb p{font-size:15px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;padding:5px 9px;border:1px solid var(--rule);color:#B9C3C6}
.sb-pics{display:flex;gap:6px;flex-wrap:wrap}
.sb-pics img{width:44px;height:44px;object-fit:contain;border:1px solid var(--rule);padding:3px;background:#0A0E10}
.sb-go{margin-top:auto;padding-top:16px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg)}
.sb:hover .sb-go{color:var(--teal-hi)}
@media (max-width:900px){.sbox{grid-template-columns:1fr}}
/* R&D */
.rd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rdc{display:flex;flex-direction:column;gap:14px;padding:28px 24px;border:1px solid var(--rule);background:var(--panel);color:var(--fg);text-align:left;font:inherit;cursor:pointer;transition:border-color .25s,background .25s,transform .25s;min-width:0;min-height:260px}
.rdc svg{color:var(--teal-hi)}
.rdc h3{font-size:22px}
.rdc p{font-size:15px;color:var(--muted)}
.rd-go{margin-top:auto;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-hi)}
.rdc:hover{border-color:var(--teal-hi);background:rgba(0,117,141,.12);transform:translateY(-4px)}
.rd-cta{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:32px;border:1px solid var(--teal);background:linear-gradient(90deg,rgba(0,117,141,.22),rgba(0,117,141,.04))}
.rd-cta h3{font-size:clamp(24px,2.6vw,36px)}
@media (max-width:1000px){.rd{grid-template-columns:repeat(2,minmax(0,1fr))}.rdc{aspect-ratio:auto}}
@media (max-width:520px){.rd{grid-template-columns:1fr}}
/* CERT CUBES */
.cubes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cube{aspect-ratio:1;max-width:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:22px;border:1px solid var(--rule);background:var(--panel);position:relative;transition:border-color .25s,transform .25s;min-width:0}
.cube .seal{position:absolute;top:20px;left:20px;width:46px;height:46px;color:var(--teal-hi)}
.cube b{font-family:var(--f-display);font-stretch:118%;font-size:clamp(20px,2vw,28px);font-weight:800}
.cube .dl{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.cube:hover{border-color:var(--teal-hi);transform:translateY(-4px)}
.cube:hover .dl{color:var(--teal-hi)}
.cube.soon{border-style:dashed;border-color:var(--teal)}
.cube.soon .dl{color:var(--teal-hi)}
/* FIERE BOX */
.fairs{margin-top:clamp(80px,9vw,130px)}
.fbox{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px) / 3.2);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#2A3A40 transparent}
.fbox>.fc{scroll-snap-align:start}
.fc.soon{border-style:dashed;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 14px),#0A0F12}
.fc.soon::before{display:none}
.fc.soon .fc-date b{color:#3A474C}
.fc.soon .fc-date span{color:var(--muted)}
.fc.soon h3{color:#7C888C}
.fbar{display:flex;align-items:center;gap:14px}
.fnav{display:flex;gap:8px}.fnav button{width:40px;height:40px;border:1px solid var(--rule);background:transparent;color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center}.fnav button:hover{border-color:var(--teal-hi);color:var(--teal-hi)}
.fc{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--rule);background:var(--panel);position:relative;min-width:0}
.fc.next{border-color:var(--teal-hi)}
.fc{padding-top:48px;background-size:cover;background-position:center;min-height:420px;overflow:hidden;isolation:isolate}
.fc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,11,13,.25) 0%,rgba(8,11,13,.78) 45%,rgba(8,11,13,.96) 100%)}
.kv-ff{background-color:#1E2A1C;background-image:radial-gradient(ellipse at 80% 0%,rgba(140,170,90,.55),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 18px)}
.kv-aa{background-color:#2B2112;background-image:radial-gradient(ellipse at 80% 0%,rgba(242,160,30,.55),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 18px)}
.kv-mp{background-color:#141E2E;background-image:radial-gradient(ellipse at 80% 0%,rgba(60,110,200,.6),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 18px)}
.kv-note{position:absolute;left:28px;top:12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:rgba(230,233,233,.55)}
.fc-date{display:flex;flex-direction:column;gap:2px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--rule)}
.fc-date b{font-family:var(--f-display);font-stretch:125%;font-weight:800;font-size:clamp(44px,4.6vw,68px);line-height:1;font-variant-numeric:tabular-nums}
.fc-date span{font-family:var(--f-mono);font-size:13px;letter-spacing:.12em;color:var(--teal-hi)}
.fc .tag{position:absolute;top:28px;right:28px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--teal-hi);color:var(--teal-hi)}
.fc h3{font-size:clamp(24px,2.4vw,32px)}
.fc .w{font-size:14px;color:var(--muted)}
.fc-loc{font-size:14px;color:#C3CBCD;margin-bottom:8px}
.fc .btn{margin-top:auto;align-self:flex-start}
@media (max-width:1000px){.cubes,.fbox{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cube{flex:0 0 46%;scroll-snap-align:start}.fc{flex:0 0 78%;scroll-snap-align:start}.fbox{grid-auto-columns:78%}}
@media (max-width:520px){.cube{flex-basis:62%}.fc{flex-basis:86%}}

/* VIDEO BLOCKS */
.vblk{position:relative;margin-top:clamp(48px,6vw,80px);border:1px solid var(--rule);overflow:hidden;aspect-ratio:21/9;max-width:100%;background:#0B0F11}
.vblk video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vblk::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,11,13,.82) 0%,rgba(8,11,13,.35) 45%,transparent 70%),linear-gradient(0deg,rgba(8,11,13,.6),transparent 40%);pointer-events:none}
.vblk::after{content:"";position:absolute;right:16px;bottom:16px;width:34px;height:28px;background:url(../img/mark.svg) center/contain no-repeat;z-index:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.vblk .vcap{position:absolute;left:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,40px);z-index:2;display:flex;flex-direction:column;gap:12px;max-width:440px}
.vblk .vcap h3{font-size:clamp(24px,2.6vw,38px)}
.vblk .vcap p{font-size:15px;color:#C9D1D3}
.vblk .vpp{position:absolute;right:62px;bottom:14px;z-index:2;width:36px;height:36px;border:1px solid rgba(230,233,233,.5);background:rgba(8,11,13,.5);color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center}
@media (max-width:760px){.vblk{aspect-ratio:4/5}.vblk::before{background:linear-gradient(0deg,rgba(8,11,13,.92) 10%,transparent 60%)}}
/* STORIA BTN */
.story-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--rule);background:transparent;color:#C9D1D3;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.story-btn:hover{border-color:var(--teal-hi);color:var(--teal-hi)}
@media (max-width:1180px){.nav-r .story-btn{display:none}}
/* STORIA OVERLAY */
.story{position:fixed;inset:0;z-index:80;background:#06090B;display:flex;flex-direction:column;overflow:hidden}
.story[hidden]{display:none!important}
.st-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(18px + env(safe-area-inset-top,0px)) var(--gut) 18px;border-bottom:1px solid var(--rule)}
.st-top h2{font-size:clamp(22px,2.4vw,32px)}
.st-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:0}
.st-line{position:relative;padding:28px var(--gut) 20px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--rule)}
.st-track{position:relative;display:flex;gap:0;min-width:max-content;padding-top:10px}
.st-track::before{content:"";position:absolute;left:0;right:0;top:31px;height:1px;background:var(--rule)}
.st-prog{position:absolute;left:0;top:30px;height:3px;background:var(--teal-hi);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.st-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:150px;background:transparent;border:0;color:var(--muted);cursor:pointer;font:inherit;padding:0}
.st-node i{width:18px;height:18px;border-radius:50%;border:2px solid #3A474C;background:#06090B;transition:all .3s;position:relative;z-index:1;margin-top:13px}
.st-node b{font-family:var(--f-display);font-stretch:118%;font-weight:800;font-size:22px;color:#6E7B80;transition:color .3s}
.st-node span{font-size:12px;text-align:center;max-width:130px;line-height:1.3}
.st-node.done i{border-color:var(--teal);background:var(--teal)}
.st-node.on i{border-color:var(--teal-hi);background:var(--teal-hi);box-shadow:0 0 0 6px rgba(69,184,204,.18)}
.st-node.on b{color:#fff}.st-node.on span{color:#C9D1D3}
.st-node:hover b{color:#C9D1D3}
.st-detail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;padding:clamp(28px,4vw,56px) var(--gut);overflow:auto;min-height:0}
.st-txt{grid-column:span 5;display:flex;flex-direction:column;gap:18px;min-width:0}
.st-year{font-family:var(--f-display);font-stretch:125%;font-weight:800;font-size:clamp(64px,9vw,140px);line-height:.9;color:var(--teal-hi)}
.st-txt h3{font-size:clamp(26px,3vw,42px)}
.st-txt p{color:#C3CBCD;font-size:17px;max-width:52ch}
.st-nav{display:flex;gap:10px;margin-top:8px}
.st-vis{grid-column:7 / -1;min-width:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);background:#0B1013;min-height:320px;position:relative;overflow:hidden}
.st-vis .ph-v{font-family:var(--f-mono);font-size:12px;color:#6E7B80;text-align:center;padding:20px}
.st-vis img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.grp{width:100%;padding:28px;display:flex;flex-direction:column;align-items:center;gap:22px}
.grp .gh{padding:10px 18px;border:1px solid var(--teal-hi);font-family:var(--f-display);font-stretch:118%;font-weight:800;text-transform:uppercase;font-size:18px}
.grp .gk{width:1px;height:22px;background:var(--rule)}
.grp .gr{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;position:relative}
.grp .gr span{padding:8px 12px;border:1px solid var(--rule);font-size:13px;color:#93A0A4;background:#0E1316}
.grp .gr span.me{border-color:var(--teal-hi);color:#fff;background:rgba(0,117,141,.35);font-weight:600}
.grp small{font-family:var(--f-mono);font-size:11px;color:#6E7B80;letter-spacing:.06em;text-align:center}
@media (max-width:900px){.st-txt,.st-vis{grid-column:1 / -1}.st-vis{min-height:240px}}
/* POLICY */
.pol{position:fixed;inset:0;z-index:81;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:calc(30px + env(safe-area-inset-top,0px)) 16px 30px}
.pol[hidden]{display:none!important}
.pol-box{width:min(820px,100%);background:#0B1012;border:1px solid var(--rule)}
.pol-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--rule);background:#0B1012}
.pol-tabs{display:flex;gap:6px}
.pol-tabs button{height:34px;padding:0 12px;border:1px solid var(--rule);background:transparent;color:#C9D1D3;font-family:var(--f-mono);font-size:12px;cursor:pointer}
.pol-tabs button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.pol-bd{padding:28px clamp(20px,4vw,44px) 36px;display:flex;flex-direction:column;gap:14px;font-size:15px;line-height:1.65;color:#C3CBCD}
.pol-bd h3{font-size:clamp(22px,2.6vw,30px);color:#fff}
.pol-bd ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.pol-bd .meta2{font-family:var(--f-mono);font-size:11px;color:#6E7B80;letter-spacing:.06em}
.cube.pol-c b{font-size:clamp(18px,1.6vw,22px)}
.cube.pol-c{border-color:var(--teal);background:linear-gradient(160deg,rgba(0,117,141,.22),var(--panel) 70%);cursor:pointer;text-align:left;font:inherit;color:var(--fg)}

/* CTA */
.cta{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.cta-l{grid-column:span 5;display:flex;flex-direction:column;gap:22px;min-width:0}
form.req{grid-column:7 / span 6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld.w{grid-column:1 / -1}
.fld label{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fld input,.fld select,.fld textarea{height:50px;padding:0 14px;background:var(--panel);border:1px solid var(--rule);color:var(--fg);font:inherit;font-size:15px;border-radius:0;width:100%}
.fld textarea{height:auto;padding:12px 14px;resize:vertical}
.fld input::placeholder,.fld textarea::placeholder{color:#5F6C70}
.form-end{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.req{color:var(--heat)}
.err{grid-column:1 / -1;font-family:var(--f-mono);font-size:12px;color:var(--heat);letter-spacing:.04em}
.fld input.bad{border-color:var(--heat)}
.sent{grid-column:1 / -1;font-family:var(--f-mono);font-size:12px;color:var(--teal-hi);letter-spacing:.06em}
@media (max-width:900px){.cta-l,form.req{grid-column:1 / -1}}
@media (max-width:520px){form.req{grid-template-columns:1fr}}

footer{padding-block:56px 40px;display:flex;flex-direction:column;gap:40px}
.ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.ft-links{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:10px 56px;font-size:14px;color:#C3CBCD}
.ft-links .mono{margin-bottom:6px}
.ft-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--rule);padding-top:20px;font-size:13px;color:var(--muted)}
@media (max-width:600px){.ft-links{grid-template-columns:1fr 1fr}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene,.reel-tags b,.bars i::after,.spin{animation:none}.s1,.reel-tags b:first-child{opacity:1}}

/* settori in hero: card con foto */
.sectors{gap:14px;border-top:0}
.sector,.sector+.sector{padding:22px 22px 24px;border:1px solid rgba(255,255,255,.10);border-right:1px solid rgba(255,255,255,.10);min-height:250px;justify-content:flex-end;overflow:hidden;isolation:isolate;background:#080B0D}
.sector .row{position:absolute;top:20px;left:22px;right:22px}
.sec-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:grayscale(.55) contrast(1.05) brightness(.8);opacity:.6;transform:scale(1.04);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s,opacity .5s}
.sector::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,11,13,.25) 0%,rgba(8,11,13,.35) 40%,rgba(8,11,13,.92) 100%)}
.sector::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--teal-hi);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.sector:hover{background:#080B0D}
.sector:hover .sec-bg,.sector:focus-visible .sec-bg{filter:none;opacity:.85;transform:scale(1.1)}
.sector:hover::after,.sector:focus-visible::after{transform:scaleX(1)}
.sector p{color:rgba(237,240,241,.75)}
.sector .arr{background:rgba(8,11,13,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-color:rgba(255,255,255,.18)}
@media (max-width:1100px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.sectors{grid-template-columns:1fr;gap:10px}.sector,.sector+.sector{min-height:170px;padding:18px;border:1px solid rgba(255,255,255,.10)}.sector .row{top:16px;left:18px;right:18px}}
@media (prefers-reduced-motion:reduce){.sec-bg{transition:none}}

/* richiesta + R&D unificati */
.picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.picks>.mono{grid-column:1 / -1;margin-bottom:2px}
.pick{display:grid;grid-template-columns:22px 1fr;column-gap:12px;row-gap:2px;align-items:center;text-align:left;padding:14px 14px;border:1px solid var(--rule);background:var(--panel);color:var(--fg);font:inherit;cursor:pointer;transition:border-color .2s,background .2s;min-width:0}
.pick svg{grid-row:span 2;color:var(--teal-hi)}
.pick b{font-size:15px;font-weight:600}
.pick span{font-size:12.5px;color:var(--muted);line-height:1.35}
.pick:hover{border-color:var(--teal-hi)}
.pick[aria-pressed="true"]{border-color:var(--teal-hi);background:rgba(0,117,141,.18)}
.pick:last-child{grid-column:1 / -1}
@media (max-width:520px){.picks{grid-template-columns:1fr}.pick:last-child{grid-column:auto}}

.rings{display:flex;gap:clamp(14px,2vw,26px);flex-wrap:wrap}
.ring{position:relative;width:clamp(78px,7vw,96px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:rgba(8,11,13,.45);stroke:rgba(255,255,255,.16);stroke-width:2}
.ring .rf{fill:none;stroke:var(--teal-hi);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1)}
.ring.on .rf{stroke-dashoffset:calc(100 - var(--p))}
.ring b{position:relative;font-family:var(--f-display);font-weight:800;font-size:clamp(17px,1.6vw,22px);line-height:1}
.ring span{position:relative;font-family:var(--f-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#C9D1D3;margin-top:4px;line-height:1.25}
.ring em{display:block;font-style:normal;color:var(--muted)}
.rnote{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:rgba(201,209,211,.6)}
@media (prefers-reduced-motion:reduce){.ring .rf{transition:none}}
form.req{align-content:start;align-self:start}
@media (max-width:760px){.rnote{max-width:calc(100% - 100px)}.vblk .vcap{bottom:16px}}

/* hero: bandiera */
.ey-it{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.mii{position:relative;display:inline-block}
.itflag{position:absolute;left:0;right:0;top:calc(100% + 2px);display:flex;height:2px}
.itflag i{flex:1}
.itflag i:nth-child(1){background:#009246}
.itflag i:nth-child(2){background:#F4F5F0}
.itflag i:nth-child(3){background:#CE2B37}
/* certificazioni: medaglie */
.seals{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:clamp(28px,4vw,56px) clamp(8px,2vw,32px);border:1px solid var(--rule);background:radial-gradient(ellipse at 50% 50%,rgba(0,117,141,.16),transparent 70%),#0A0F12;overflow:hidden}
.seals::before{content:"";position:absolute;left:50%;top:50%;width:min(1200px,140%);aspect-ratio:1;transform:translate(-50%,-50%);border:1px dashed rgba(69,184,204,.12);border-radius:50%;animation:spin 90s linear infinite;pointer-events:none}
.seal{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:var(--fg);font:inherit;cursor:default;padding:0;min-width:0}
button.seal{cursor:pointer}
.seal svg{width:min(190px,100%);height:auto;aspect-ratio:1;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.seal:hover svg,.seal:focus-visible svg{transform:scale(1.05)}
.s-o{fill:none;stroke:#45B8CC;stroke-opacity:.45;stroke-width:1.5}
.s-i{fill:#071419;stroke:#45B8CC;stroke-width:2}
.s-r{font-family:var(--f-mono);font-size:13.5px;letter-spacing:3.2px;fill:#8A9A9F}
.s-t1,.s-t2{font-family:var(--f-display);font-stretch:118%;font-weight:800;font-size:38px}
.s-t1{fill:#E8F1F3}.s-t2{fill:#F2661F}
.seal .spin{transform-origin:120px 120px;animation:spin 26s linear infinite}
.seal:hover .spin{animation-duration:8s}
@keyframes spin{to{transform:rotate(360deg)}}
.s-l{font-family:var(--f-display);font-stretch:118%;font-weight:800;text-transform:uppercase;font-size:18px;margin-top:6px}
.s-d{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
button.seal .s-d{color:var(--teal-hi)}
@media (max-width:900px){.seals{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}}
/* storia: stabilimento 3D */
.st-txt{grid-column:span 4}
.st-vis{grid-column:5 / -1;min-height:420px;background:radial-gradient(ellipse at 50% 60%,rgba(0,117,141,.14),transparent 70%),#080D10}
#campus{position:absolute;inset:0}
#campus canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
#campus canvas:active{cursor:grabbing}
.cpins{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cpin{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;padding-bottom:18px;opacity:0;transition:opacity .4s;white-space:nowrap}
.cpin::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:16px;background:var(--teal-hi)}
.cpin b{font-family:var(--f-display);font-stretch:112%;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.02em;color:#fff;background:rgba(8,13,16,.78);padding:3px 7px;border:1px solid rgba(69,184,204,.45)}
.cpin span{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-hi);margin-top:3px;background:rgba(8,13,16,.6);padding:1px 4px}
.cpin.show{opacity:1}.cpin.show.dim{opacity:.4}.cpin.dim span{display:none}.cpin.dim b{font-size:10px;padding:2px 5px;color:#9AA4A8}
.cpin[data-k="new7"] b{border-color:#F2661F}.cpin[data-k="new7"]::after{background:#F2661F}.cpin[data-k="new7"] span{color:#F2661F}
.st-ov{position:absolute;right:16px;top:16px;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s;pointer-events:none}
.st-ov.show{opacity:1;transform:none}
.st-ov.s svg{width:clamp(110px,12vw,150px);height:auto}
.st-ov.s .spin{transform-origin:120px 120px;animation:spin 20s linear infinite}
.st-ov.g{left:16px;right:16px;top:auto;bottom:44px}
.st-ov.g .grp{background:rgba(8,13,16,.82);border:1px solid var(--rule);padding:18px;gap:14px}
.st-hint{position:absolute;left:14px;bottom:12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6E7B80;pointer-events:none}
@media (max-width:900px){.st-txt,.st-vis{grid-column:1 / -1}.st-vis{min-height:340px;order:-1}.cpin span{display:none}.cpin b{font-size:10.5px;padding:2px 5px}}
@media (prefers-reduced-motion:reduce){.seal .spin,.seals::before,.st-ov.s .spin{animation:none}}
.ring b small{font-size:.6em;vertical-align:.25em;margin-right:1px}
.nv-art{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--teal);border-left:3px solid #F2661F;background:linear-gradient(90deg,rgba(242,102,31,.10),transparent 70%)}
.nv-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.nv-art b{font-family:var(--f-display);font-stretch:118%;font-weight:800;text-transform:uppercase;font-size:20px}
#novita .ly-txt{gap:16px}#novita .step{padding:10px 0}#novita h2{font-size:clamp(30px,4vw,60px)}
.nv-comp{font-size:13px;color:#C3CBCD}.nv-note{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}

/* ===== Multipagina ===== */
html{scroll-padding-top:84px}
.pg>.blk:first-child{padding-top:calc(76px + clamp(48px,7vw,96px))}
.as-h2{font-size:clamp(34px,5.2vw,76px)}
#novita .as-h2{font-size:clamp(30px,4vw,60px)}
.rdc{text-decoration:none}
/* sezioni sticky: mai tagliate se il contenuto supera l'altezza dello schermo */
.layers-stick{height:auto;min-height:100svh}
/* News: carosello Tech & Project */
.nbox{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#2A3A40 transparent}
.nc{scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--panel);min-width:0;transition:border-color .25s,transform .25s}
.nc:hover,.nc:focus-visible{border-color:var(--teal-hi);transform:translateY(-4px)}
.nc-img{position:relative;aspect-ratio:16/10;background-color:#10161A;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px);background-size:cover;background-position:center;border-bottom:1px solid var(--rule)}
.nc-n{position:absolute;left:12px;top:12px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;padding:4px 8px;background:rgba(8,11,13,.75);color:var(--teal-hi)}
.nc-bd{display:flex;flex-direction:column;gap:10px;padding:18px;flex:1}
.nc .code{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-hi)}
.nc h3{font-size:clamp(19px,1.6vw,22px)}
.nc .meta{font-size:14px;color:var(--muted)}
.nc-go{margin-top:auto;padding-top:12px;border-top:1px solid var(--rule);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg)}
.nc:hover .nc-go{color:var(--teal-hi)}
.dr-txt{display:flex;flex-direction:column;gap:14px;font-size:16px;color:#C3CBCD;line-height:1.65}
.dr-txt ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.dr-img.news{aspect-ratio:16/10;background-color:#10161A;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px)}
@media (max-width:1100px){.nbox{grid-auto-columns:calc((100% - 32px) / 2.4)}}
@media (max-width:640px){.nbox{grid-auto-columns:84%}}
/* Company (pagina Produzione) */
.co{align-items:start}
.co-h{font-size:clamp(26px,5.2vw,76px)}
.co-l{grid-column:span 5;display:flex;flex-direction:column;gap:22px;min-width:0}
.co-r{grid-column:7 / span 6;display:flex;flex-direction:column;gap:16px;min-width:0;padding-top:4px}
.co-r p,.co-p{font-size:15px;color:#C3CBCD;max-width:62ch}
.co-docs{display:flex;flex-wrap:wrap;gap:10px}
.co-svc{display:flex;flex-direction:column;gap:28px;margin-top:clamp(56px,7vw,96px)}
.co-svc>h3{font-size:clamp(24px,2.6vw,36px);max-width:22ch}
.rd.rd3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rdc.static{cursor:default;min-height:0}
.rdc.static:hover{transform:none;background:var(--panel)}
@media (max-width:900px){.co-l,.co-r{grid-column:1 / -1}.rd.rd3{grid-template-columns:1fr}}
/* Menu: sottomenu in hover */
.nav-links{gap:clamp(14px,1.55vw,28px)}
.nav-links a{white-space:nowrap}
@media (max-width:1520px){.nav-r .story-btn{display:none}}
.nav-r .btn,.nav-r .lang,.story-btn{white-space:nowrap}
@media (max-width:1180px){.nav-links{font-size:13px}}
.nav-dd{position:relative;display:flex;align-items:center}
.nav-dd>a{display:inline-flex;align-items:center;gap:6px}
.nav-dd>a svg{opacity:.6;transition:transform .2s}
.nav-dd:hover>a svg,.nav-dd:focus-within>a svg{transform:rotate(180deg)}
.dd{position:absolute;top:100%;left:-18px;min-width:200px;padding-top:14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60}
.dd-in{display:flex;flex-direction:column;background:rgba(8,11,13,.97);border:1px solid var(--rule);border-top:2px solid var(--teal-hi);backdrop-filter:blur(10px)}
.nav-dd:hover .dd,.nav-dd:focus-within .dd{opacity:1;visibility:visible;transform:none}
.nav-links .dd a{padding:12px 18px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C9D1D3}
.nav-links .dd a::after{display:none}
.nav-links .dd a:hover{color:var(--teal-hi);background:rgba(0,117,141,.12)}
.mnav a.sub{font-family:var(--f-mono);font-stretch:100%;font-weight:400;font-size:13px;letter-spacing:.1em;padding-left:18px;color:var(--muted)}
/* Storia nella pagina Company */
.story.inline{position:relative;inset:auto;z-index:1;height:min(100svh,900px);min-height:660px;border-bottom:1px solid var(--rule);scroll-margin-top:76px}
.story.inline .st-top{padding-top:32px}
@media (max-width:900px){.story.inline{height:auto;min-height:0}}
/* Fiere passate + pagina fiera */
.pc .nc-img{aspect-ratio:16/9}
.pc-date{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.pc-date b{font-family:var(--f-display);font-stretch:125%;font-weight:800;font-size:clamp(30px,2.6vw,40px);line-height:1;font-variant-numeric:tabular-nums}
.pc-date span{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-hi)}
.fair-g{align-items:start;margin-top:28px}
.fair-l{grid-column:span 5;display:flex;flex-direction:column;gap:26px;min-width:0}
.fair-l h1{font-size:clamp(26px,5.2vw,76px);overflow-wrap:break-word}
.fair-l .fc-date{border-bottom:0;padding-bottom:0;margin:0}
.fair-img{grid-column:7 / -1;margin:0;border:1px solid var(--rule);background:#10161A;position:sticky;top:100px}
.fair-img img{width:100%;height:auto;display:block}
.fair-nav{display:flex;justify-content:space-between;gap:16px;margin-top:clamp(56px,7vw,96px);padding-top:22px;border-top:1px solid var(--rule)}
.fair-nav a{display:flex;flex-direction:column;gap:6px;max-width:48%}
.fair-nav a span{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fair-nav a b{font-family:var(--f-display);font-stretch:112%;font-size:clamp(18px,1.8vw,24px);text-transform:uppercase;transition:color .2s}
.fair-nav a:hover b{color:var(--teal-hi)}
.fair-nav .nx{text-align:right;margin-left:auto}
@media (max-width:900px){.fair-l,.fair-img{grid-column:1 / -1}.fair-img{position:relative;top:0;order:-1}}
/* Produzione: testo, numeri e navigazione */
.prod-nav{display:flex;flex-wrap:wrap;gap:10px}
.prod-jump{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.prod-jump a{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule);font-family:var(--f-display);font-stretch:112%;font-weight:700;text-transform:uppercase;font-size:15px;color:#C9D1D3;transition:color .2s,padding .2s}
.prod-jump a span{font-family:var(--f-mono);font-weight:400;font-size:11px;color:var(--teal-hi);letter-spacing:.1em}
.prod-jump a:hover{color:#fff;padding-left:6px}
#maglificio,#foto-produzione{scroll-margin-top:96px}
@media (min-width:901px){.prod-r{position:sticky;top:96px}}
/* Contatti */
.ct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid var(--rule);background:var(--panel);color:var(--fg);min-width:0;transition:border-color .25s,transform .25s,background .25s}
.ct svg{color:var(--teal-hi);margin-bottom:6px}
.ct b{font-family:var(--f-display);font-stretch:112%;font-weight:800;font-size:clamp(19px,1.7vw,24px);line-height:1.15;overflow-wrap:anywhere}
.ct-sub{font-size:14px;color:var(--muted)}
.ct-go{margin-top:auto;padding-top:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-hi)}
.ct:hover{border-color:var(--teal-hi);transform:translateY(-4px);background:rgba(0,117,141,.12)}
.ct-hi{border-color:var(--teal);background:linear-gradient(160deg,rgba(0,117,141,.22),var(--panel) 70%)}
.ct-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}
.ct-bar .mono{margin-right:auto}
@media (max-width:1100px){.ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ct-grid{grid-template-columns:1fr}.ct-bar .mono{width:100%}}
#richiesta{scroll-margin-top:76px}
@media (min-width:901px){.pg>.layers:first-child .ly-txt{padding-top:120px}}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
form.req{position:relative}
form.req button[type=submit][disabled]{opacity:.6;cursor:wait}
#contatti>.crumbs{display:block;margin-bottom:28px}
/* Responsive: titoli lunghi e piccoli schermi */
@media (hover:none){.st-txt>.mono{display:none}}
@media (max-width:900px){.st-detail{grid-template-columns:minmax(0,1fr);gap:24px}}
.mnav.open{max-height:calc(100svh - 76px);overflow-y:auto;overscroll-behavior:contain}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.legal a,.ct b,.ft-legal a{overflow-wrap:anywhere}
@media (max-width:520px){
  h2,.as-h2,.co-h,.fair-l h1{font-size:clamp(23px,7.3vw,40px)}
  .cat-hero h1{font-size:clamp(28px,9vw,44px)}
  .bars{display:none}
  .reel-tags b{font-size:11px;letter-spacing:.08em}
  .fc-date b{font-size:clamp(36px,11vw,52px)}
  .btn{padding:0 16px}
  .fair-nav{flex-direction:column;gap:18px}
  .rdc{min-height:0}
  .hero-c .eyebrow{display:block;line-height:1.7}
  .hero-c .eyebrow::before{display:inline-block;vertical-align:middle;margin-right:10px}
  .fair-nav a{max-width:100%}
  .fair-nav .nx{text-align:left;margin-left:0}
}
.fair-nav a b{overflow-wrap:anywhere}
/* Pittogrammi: carosello */
.pic-bar{justify-content:flex-end;margin:-28px 0 20px}
.pic-car{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100% / 6);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#2A3A40 transparent;padding-bottom:0}
.pic-car .pic{scroll-snap-align:start}
@media (max-width:1100px){.pic-car{grid-auto-columns:calc(100% / 4)}}
@media (max-width:760px){.pic-car{grid-auto-columns:calc(100% / 2.2)}.pic-bar{margin-top:0}}
/* Footer legale */
.ft-legal{font-size:13px;color:var(--muted);line-height:1.7;max-width:110ch}
.ft-legal b{color:#C3CBCD;font-weight:600}
.ft-b{align-items:center}
.ft-b nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.ft-b nav a,.ft-b nav button{color:#C3CBCD;font:inherit;font-size:13px;background:none;border:0;padding:0;cursor:pointer}
.ft-b nav a:hover,.ft-b nav button:hover{color:var(--teal-hi)}
/* Pagine legali */
.legal{display:flex;flex-direction:column;gap:18px;max-width:920px}
.legal h2{font-size:clamp(20px,2vw,26px);font-stretch:112%;margin-top:28px}
.legal h3{font-size:17px;font-stretch:105%;margin-top:6px;color:#DCE3E5}
.legal p,.legal li{font-size:16px;line-height:1.7;color:#C3CBCD}
.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.legal a{color:var(--teal-hi);text-decoration:underline;text-underline-offset:3px}
.legal strong{color:#E6E9E9}
.legal code{font-family:var(--f-mono);font-size:13px;color:var(--teal-hi)}
.legal .tbl{overflow-x:auto}
.legal .specs-t{min-width:560px}
.legal .specs-t thead th{color:var(--teal-hi)}
.legal .specs-t td{padding-right:16px;color:#C3CBCD;vertical-align:top}
.legal .dr-cta{margin-top:4px}
.req-note{grid-column:1 / -1;font-size:12.5px;color:var(--muted)}
.req-note a{color:var(--teal-hi);text-decoration:underline;text-underline-offset:3px}
/* Banner cookie */
.ck{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:95;display:flex;justify-content:center;pointer-events:none}
.ck-in{pointer-events:auto;position:relative;width:min(1000px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:end;padding:22px 24px;background:#0B1012;border:1px solid var(--teal);border-top:3px solid var(--teal-hi);box-shadow:0 18px 60px rgba(0,0,0,.6);max-height:calc(100svh - 32px);overflow:auto}
.ck-txt{display:flex;flex-direction:column;gap:10px;padding-right:44px;min-width:0}
.ck-txt p{font-size:14px;line-height:1.6;color:#C3CBCD;max-width:72ch}
.ck-txt a{color:var(--teal-hi);text-decoration:underline;text-underline-offset:3px}
.ck-opts{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--rule)}
.ck-t span{display:flex;flex-direction:column;gap:2px;padding-right:12px}
.ck-t small{font-size:12px;color:var(--muted)}
.ck-t input:disabled{opacity:.55;cursor:not-allowed}
.ck-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ck-btns .btn{height:44px;padding:0 18px;font-size:12px;justify-content:center}
.ck-x{position:absolute;top:12px;right:12px;width:36px;height:36px}
@media (max-width:760px){.ck-in{grid-template-columns:1fr;padding:20px 18px}.ck-opts{grid-template-columns:1fr}.ck-btns{justify-content:stretch}.ck-btns .btn{flex:1 1 40%}}

/* Company (prototipo "Argar – Company") */
.story.inline{position:relative;inset:auto;z-index:auto;background:transparent;overflow:visible;display:flex;border-bottom:1px solid var(--rule)}
.story.inline .st-top{padding-top:clamp(36px,5vw,64px);border-bottom:0}
.story.inline .st-top h1{font-size:clamp(40px,6vw,88px);line-height:.95}
.story.inline .x{display:none}
.story.inline .st-detail{overflow:visible}
.story.inline .st-vis{min-height:clamp(380px,46vw,560px)}
.co-who{display:flex;flex-direction:column;gap:clamp(32px,4.5vw,56px)}
.co-who-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:start}
.co-who-l{grid-column:span 4;display:flex;flex-direction:column;gap:18px;position:sticky;top:110px}
.co-who-l h2{font-size:clamp(44px,6vw,92px)}
.co-btns{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:10px}
.co-who-txt{grid-column:6/-1;display:flex;flex-direction:column;gap:20px}
.co-who-txt p{color:#D5DBDC;font-size:clamp(17px,1.35vw,19px);line-height:1.65;max-width:62ch}
.co-sub{margin-top:8px}
.co-off i{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--rule)}
.co-off svg{width:28px;height:28px;fill:none;stroke:var(--teal-hi);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.co-off b{font-family:var(--f-display);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:-.01em}
.co-off span{color:#C3CBCD;font-size:15px;line-height:1.5;max-width:30ch}
.co-offer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.co-off{border:1px solid var(--rule);background:linear-gradient(180deg,var(--panel),var(--ink));padding:26px 22px 28px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s,transform .25s}
.co-off:hover{border-color:var(--teal-hi);transform:translateY(-4px)}
.co-cert{display:flex;flex-direction:column;gap:clamp(28px,4vw,48px);align-items:flex-start}
.co-cert h2{font-size:clamp(34px,4.6vw,68px)}
.medals{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,40px)}
.medal{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;opacity:0;transform:translateY(24px) scale(.94);transition:opacity .7s var(--d),transform .7s var(--d)}
.co-cert.seen .medal{opacity:1;transform:none}
.medal svg{width:min(100%,220px);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.5));transition:transform .4s}
.medal:hover svg{transform:translateY(-6px) rotate(-4deg)}
.m-o{fill:none;stroke:var(--teal-hi);stroke-width:2}
.m-b{stroke:#1B4A55;stroke-width:1}
.m-i{fill:none;stroke:rgba(69,184,204,.45);stroke-width:1.5;stroke-dasharray:3 5}
.m-spin{transform-origin:120px 120px;animation:spin 28s linear infinite}
.m-r{font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;fill:#7FA9B2}
.m-t1{font-family:var(--f-display);font-stretch:118%;font-weight:800;font-size:30px;fill:#fff}
.m-t2{font-family:var(--f-display);font-stretch:118%;font-weight:800;font-size:40px;fill:var(--teal-hi)}
.medal figcaption{display:flex;flex-direction:column;gap:4px}
.medal figcaption b{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:18px}
.medal figcaption span{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);letter-spacing:.03em}
.co-map{position:relative;border-bottom:1px solid var(--rule);overflow:hidden;background:radial-gradient(ellipse at 50% 70%,rgba(0,117,141,.16),transparent 65%),#06090B;display:flex;flex-direction:column}
.co-map-txt{position:relative;z-index:2;padding-block:clamp(70px,9vw,120px) 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:end}
.co-map-txt>div:first-child{grid-column:span 6}.co-map-r{grid-column:7/-1;display:flex;flex-direction:column;gap:18px}
.co-map-txt h2{font-size:clamp(34px,4.6vw,68px)}
.co-seg{display:flex;flex-wrap:wrap;gap:8px}
.co-seg span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);padding:7px 10px;color:#C9D1D3;background:rgba(8,11,13,.7)}
.co-map-vis{position:relative;height:clamp(520px,58vw,820px);margin-top:-20px}
#euMap{position:absolute;inset:0}#euMap canvas{display:block;width:100%!important;height:100%!important}
#euPins{position:absolute;inset:0;pointer-events:none}
.eu-pin{position:absolute;left:0;top:0;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap;padding:5px 9px;background:rgba(0,117,141,.45);border:1px solid var(--teal-hi);opacity:0;transition:opacity .4s}
.eu-pin.show{opacity:1}
@media (max-width:900px){
 .co-who-l,.co-who-txt{grid-column:1/-1;position:static}
 .co-btns{flex-direction:row;flex-wrap:wrap}
 .co-offer{grid-template-columns:1fr 1fr}
 .medals{grid-template-columns:1fr 1fr}
 .co-map-txt>div:first-child,.co-map-r{grid-column:1/-1}
 .co-map-vis{height:440px;margin-top:0}
 .eu-pin{font-size:9.5px;padding:3px 6px}
}
@media (max-width:520px){.co-offer{grid-template-columns:1fr}}
.co-who-l h2,.co-cert h2,.co-map-txt h2{hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal}
.co-who-l h2{font-size:clamp(44px,4.8vw,84px)}
@media (max-width:900px){.co-who-l h2{font-size:clamp(40px,12vw,72px)}.co-cert h2,.co-map-txt h2{font-size:clamp(24px,7vw,44px)}}
.story.inline{height:auto;min-height:0;flex-direction:column}
.story.inline.first{padding-top:76px}

/* Ciclo fibra -> capo: animazione automatica, sezione non più scroll-driven */
#tecnologia{height:auto}
#tecnologia .layers-stick{position:relative;top:0!important;height:auto;min-height:min(100svh,860px)}
/* Laboratorio: elenco prove */
.lab-tests{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:clamp(28px,3.5vw,44px)}
.lab-tests .mono{margin-right:8px;color:var(--teal-hi)}
.lab-tests [role=listitem]{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--rule);color:#C9D1D3;background:var(--panel)}
.lab-tests .more-t{border-style:dashed;border-color:var(--teal);color:var(--teal-hi);background:transparent}
@media (max-width:520px){.lab-tests .mono{width:100%}}

/* ===== STILE MORBIDO: bottoni a pillola, card arrotondate (form richiesta escluso) ===== */
:root{--r-s:12px;--r-m:18px;--r-l:24px;--pill:999px;
 --btn-grad:linear-gradient(180deg,#1593AA 0%,#00758D 55%,#006579 100%);
 --btn-glow:0 8px 22px -8px rgba(0,180,210,.55),inset 0 1px 0 rgba(255,255,255,.22)}

/* --- bottoni --- */
.btn{border-radius:var(--pill);height:48px;padding:0 26px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;background:rgba(69,184,204,.06)}
.btn:hover{transform:translateY(-2px);background:rgba(69,184,204,.16);box-shadow:0 10px 24px -12px rgba(69,184,204,.6)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.solid{background:var(--btn-grad);border-color:transparent;box-shadow:var(--btn-glow)}
.btn.solid:hover{background:linear-gradient(180deg,#22A9C1 0%,#0A8AA2 55%,#00758D 100%);box-shadow:0 14px 30px -10px rgba(0,190,220,.7),inset 0 1px 0 rgba(255,255,255,.28)}
.btn:disabled{opacity:.4;transform:none;box-shadow:none}
.story-btn{border-radius:var(--pill);padding:0 16px}
.burger,.x{border-radius:50%}
.lang{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--rule);border-radius:var(--pill)}
.nav-links a{padding:8px 14px;border-radius:var(--pill);transition:background .2s,color .2s}
.nav-links a:hover{background:rgba(69,184,204,.1)}
.nav-links a.cur{background:rgba(69,184,204,.14);color:var(--teal-hi)}
.nav-links a.cur::after,.nav-links a::after{display:none!important}
.mnav a{border-radius:var(--r-s)}

/* --- settori in home --- */
.sector{border-radius:var(--r-l);overflow:hidden;isolation:isolate;transition:transform .3s,box-shadow .3s}
.sector:hover{transform:translateY(-6px);box-shadow:0 22px 40px -20px rgba(0,0,0,.8),0 0 0 1px rgba(69,184,204,.45)}
.sector .sec-bg{transition:transform .6s}
.sector:hover .sec-bg{transform:scale(1.06)}
.sector .arr{border-radius:50%}

/* --- catalogo --- */
.sec-tabs{gap:10px}
.sec-tabs button{border-radius:var(--pill);padding:0 20px;transition:background .2s,border-color .2s,transform .2s}
.sec-tabs button:hover{border-color:var(--teal-hi);transform:translateY(-1px)}
.sec-tabs button[aria-pressed="true"]{background:var(--btn-grad);border-color:transparent;box-shadow:var(--btn-glow)}
.sec-tabs button em{background:rgba(255,255,255,.08);padding:2px 7px;border-radius:var(--pill)}
.search{border-radius:var(--pill);padding:0 22px}
.res-bar select{border-radius:var(--pill);padding:0 16px}
.filters-wrap{border-radius:var(--r-m)}
.opt input{border-radius:5px}
.card{border-radius:var(--r-m);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 36px -20px rgba(0,0,0,.85),0 0 0 1px rgba(69,184,204,.35)}
.card .sw i{border-radius:50%;width:15px;height:15px}
.chips>*,.card .chips>*{border-radius:var(--pill)!important}
.cmp input{border-radius:4px}
.cbar{border-radius:var(--pill);padding:8px 8px 8px 22px;box-shadow:0 18px 40px -12px rgba(0,0,0,.8)}

/* --- scheda articolo (drawer) --- */
.drawer{border-radius:var(--r-l) 0 0 var(--r-l)}
.dr-img{border-radius:var(--r-m);overflow:hidden}

/* --- novità compound --- */
.nv-art{border-radius:var(--r-m)}

/* --- foto e video --- */
.photo,.lab-photo{border-radius:var(--r-m)}
.photo img{transition:transform .6s}
.photo:hover img{transform:scale(1.05)}
.vblk{border-radius:var(--r-l)}
.vblk .vpp{border-radius:50%}
.st-vis{border-radius:var(--r-l)}
.st-node i{box-shadow:0 0 0 0 rgba(69,184,204,0)}

/* --- pittogrammi norme --- */
.pic-grid{gap:12px;border:0}
.pic{border:1px solid var(--rule)!important;border-radius:var(--r-m);background:var(--panel);transition:transform .2s,border-color .2s,background .2s}
.pic:hover{transform:translateY(-3px);border-color:var(--teal-hi)!important}

/* --- fiere --- */
.fc{border-radius:var(--r-l);overflow:hidden}
.fc .tag{border-radius:var(--pill)}

/* --- richiesta: SOLO "Da dove parti?" diventa cliccabile, campi del form invariati --- */
.pick{border-radius:var(--r-m);padding:16px 18px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.pick:hover{transform:translateY(-2px);background:rgba(69,184,204,.08)}
.pick[aria-pressed="true"]{background:linear-gradient(180deg,rgba(21,147,170,.35),rgba(0,117,141,.18));border-color:var(--teal-hi);box-shadow:0 10px 26px -14px rgba(0,190,220,.7)}

/* --- pagine: schede "Scopri Argar" e Company --- */
.ex-grid{gap:14px;background:transparent;border:0}
.ex{border:1px solid var(--rule);border-radius:var(--r-l);transition:transform .25s,border-color .25s,background .25s}
.ex:hover{transform:translateY(-4px);border-color:var(--teal-hi)}
.ex i{width:40px;height:40px;border-radius:50%;border:1px solid var(--teal);display:grid;place-items:center;transition:background .2s,color .2s}
.ex:hover i{background:var(--teal-hi);color:var(--ink)}
.co-off{border-radius:var(--r-l)}
.co-off i{border-radius:50%;border-color:var(--teal)}
.co-seg span{border-radius:var(--pill)}
.eu-pin{border-radius:var(--pill)}
.pol-tabs button{border-radius:var(--pill)}
.nav-r{gap:10px}
.nav-r .btn,.story-btn,.lang{white-space:nowrap;flex-shrink:0}
.nav-r .btn{height:42px;padding:0 20px}
.story-btn{height:38px}
.lang{height:38px;padding:0 12px}
.nav-links{gap:2px}
.nav-links a{padding:8px 11px}
@media (max-width:1320px){.story-btn{display:none!important}}

/* ===== STILE MORBIDO: adattamento alle classi del sito multipagina ===== */
/* card "Argar Technology" in home (al posto di .ex) */
.rdc{border-radius:var(--r-l);transition:transform .25s,border-color .25s,background .25s,box-shadow .25s}
.rdc:hover{box-shadow:0 20px 36px -20px rgba(0,0,0,.85),0 0 0 1px rgba(69,184,204,.35)}
.rdc svg{transition:transform .25s}
.rdc:hover svg{transform:scale(1.08)}
.rd-cta,.custom{border-radius:var(--r-l)}
/* caroselli Tech & Project e fiere passate */
.nc{border-radius:var(--r-m);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.nc:hover,.nc:focus-visible{box-shadow:0 20px 36px -20px rgba(0,0,0,.85),0 0 0 1px rgba(69,184,204,.35)}
.nc-img{transition:transform .6s}
.nc:hover .nc-img{transform:scale(1.04)}
.nc-n{border-radius:var(--pill)}
.fnav button{border-radius:50%;transition:border-color .2s,color .2s,background .2s}
.fnav button:hover{background:rgba(69,184,204,.1)}
/* pagine di dettaglio (fiere e Tech & Project) */
.fair-img{border-radius:var(--r-l);overflow:hidden}
.fair-nav a{padding:14px 18px;border:1px solid var(--rule);border-radius:var(--r-m);transition:border-color .2s,transform .2s}
.fair-nav a:hover{border-color:var(--teal-hi);transform:translateY(-2px)}
/* contatti */
.ct{border-radius:var(--r-l)}
.ct:hover{box-shadow:0 20px 36px -20px rgba(0,0,0,.85),0 0 0 1px rgba(69,184,204,.35)}
/* produzione: navigazione interna */
.prod-jump a{border-radius:var(--r-s);padding-inline:10px;transition:background .2s,padding .2s,color .2s}
.prod-jump a:hover{background:rgba(69,184,204,.08);padding-left:16px}
/* laboratorio: elenco prove */
.lab-tests [role=listitem]{border-radius:var(--pill)}
/* scheda articolo: chip prestazioni, colori, filtri attivi */
.perf span,.colors button,.active button{border-radius:var(--pill)}
.colors button i{border-radius:50%}
.more{border-radius:var(--pill);transition:border-color .2s,color .2s,background .2s}
.more:hover{background:rgba(69,184,204,.08)}
/* banner cookie */
.ck-in{border-radius:var(--r-l)}
.ck-opts{border-radius:var(--r-m)}
/* scheda prodotto: l'anteprima del tessuto non deve essere schiacciata dal pannello */
.drawer>*{flex-shrink:0}
.dr-img{flex:none;width:100%}
/* nota colori in rosso */
.pnote,.pnote b{color:#FF5A4E}
.pnote svg{color:#FF5A4E}
.pnote b{text-decoration-color:#FF5A4E}

.pnote .pn-ok{color:var(--muted)}
/* header più grande su desktop */
@media (min-width:1081px){
 .nav-in{height:clamp(80px,6vw,96px)}
 .logo svg{height:clamp(44px,3.3vw,58px)}
 .nav-links{font-size:clamp(13.5px,.98vw,16px);gap:clamp(2px,.35vw,6px)}
 .nav-links a{padding:9px clamp(9px,.8vw,15px)}
 .nav-r .btn{height:clamp(44px,3.2vw,50px);font-size:clamp(12px,.85vw,14px)}
}
@media (min-width:1081px) and (max-width:1279px){.nav-links{font-size:13.5px}.nav-links a{padding:8px 8px}.logo svg{height:40px}}

/* key visual ufficiali nelle card fiere: banner intero, stessa altezza, loghi mai tagliati */
.fc-kv{margin:-48px -28px 6px;height:132px;display:flex;align-items:center;justify-content:center;padding:10px 14px;flex:none}
.fc-kv img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.fc-kv.kv-w{background:#fff}
.fc-kv.kv-k{background:#000;padding:0}
.fc .fc-kv~.tag{top:146px}
