nav a.active{color:var(--text)}
nav a.active:not(.btn){box-shadow:inset 0 -2px 0 var(--accent)}
.lang{font-weight:600;color:var(--accent2)!important}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:8px 12px;font-size:20px;cursor:pointer}
.page-hero{position:relative;padding:120px 0 90px;background:linear-gradient(90deg,rgba(18,19,21,.96),rgba(18,19,21,.6));background-position:center;background-size:cover;background-repeat:no-repeat;border-bottom:6px solid var(--accent)}
.page-hero h1{font-size:clamp(46px,7vw,92px);font-weight:800}
.page-hero p{max-width:640px;margin-top:20px;color:#cfd2d6;font-size:19px}
.prose{max-width:820px}
.prose h2{font-size:clamp(30px,3.6vw,44px);margin:56px 0 16px}
.prose h3{font-size:24px;margin:32px 0 10px}
.prose p,.prose li{color:#c3c7cc;margin-top:14px}
.prose ul{padding-left:22px}
.prose a{color:var(--accent2);text-decoration:underline}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.split p{color:#c3c7cc;margin-top:16px}
.machines{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.machine{background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}
.machine img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f2f2f2}
.machine div{padding:22px 24px}
.machine h3{font-size:28px}
.machine h3 small{display:block;font:500 13px Inter,sans-serif;letter-spacing:.1em;color:var(--accent2);margin-top:4px}
.machine ul{list-style:none;margin-top:12px}
.machine li{padding:8px 0;border-top:1px solid var(--line);font-size:15px;color:#c3c7cc}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:var(--panel);border:1px solid var(--line)}
.step img{width:100%;aspect-ratio:4/3;object-fit:cover}
.step div{padding:22px 24px}
.step i{font:800 34px/1 'Barlow Condensed',sans-serif;color:var(--accent);font-style:normal}
.step h3{font-size:26px;margin:6px 0 8px}
.step p{color:#c3c7cc;font-size:15px}
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sectors div{background:var(--bg2);padding:30px 24px}
.sectors h3{font-size:24px;margin-bottom:8px}
.sectors p{color:var(--muted);font-size:15px}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}
.form label{display:block;font-size:14px;color:var(--muted);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.06em}
.form input,.form textarea{width:100%;padding:14px 16px;background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.form textarea{min-height:160px;resize:vertical}
.form .check{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px}
.form .check input{width:auto;margin-top:4px}
.form .check a{color:var(--accent2);text-decoration:underline}
.form .hp{position:absolute;left:-9999px}
.form button{margin-top:24px;cursor:pointer;border:0}
.notice{padding:16px 20px;margin-bottom:20px;border-left:5px solid var(--accent);background:var(--panel)}
.notice.ok{border-color:#3fb950}
.info-box{background:var(--panel);border:1px solid var(--line);padding:32px}
.info-box h3{font-size:26px;margin:22px 0 6px}
.info-box h3:first-child{margin-top:0}
.info-box p,.info-box a{color:#c3c7cc}
.map{margin-top:24px;aspect-ratio:4/3;background:var(--bg2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}
.map iframe{width:100%;height:100%;border:0}
.map button{cursor:pointer}
.table-wrap{overflow-x:auto;margin-top:24px}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:720px}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--panel);font-weight:600}
td.n{text-align:right;white-space:nowrap}
.video{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
.video video{width:100%;height:100%}
.home-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.home-links a{display:block;background:var(--panel);border:1px solid var(--line);transition:.25s}
.home-links a:hover{border-color:var(--accent);transform:translateY(-3px)}
.home-links img{width:100%;aspect-ratio:16/10;object-fit:cover}
.home-links div{padding:22px 24px}
.home-links h3{font-size:28px}
.home-links p{color:var(--muted);font-size:15px;margin-top:6px}
.home-links span{display:inline-block;margin-top:12px;color:var(--accent2);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:1000px){
  .burger{display:block}
  nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;gap:0;padding:10px 24px 24px;border-bottom:1px solid var(--line)}
  nav.open{display:flex}
  nav a{padding:12px 0;width:100%}
  nav a.active:not(.btn){box-shadow:none;color:var(--accent2)}
  .machines,.steps,.home-links{grid-template-columns:repeat(2,1fr)}
  .sectors{grid-template-columns:repeat(2,1fr)}
  .split,.contact-grid{grid-template-columns:1fr;gap:36px}
  .about{grid-template-columns:1fr;gap:40px}
  .fgrid{grid-template-columns:1fr 1fr}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .wrap{padding:0 16px}
  .machines,.steps,.home-links,.sectors,.fgrid{grid-template-columns:1fr}
  section{padding:70px 0}
  .page-hero{padding:80px 0 60px}
  .interview{padding:24px}
  .stat{padding:28px 12px}
}
.bar img,footer img{width:auto}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.why .cards .card{overflow:hidden;cursor:default}
.why .cards .card img{transition:transform .8s ease,filter .5s}
.why .cards .card:not(.active) img{filter:grayscale(.75) brightness(.7)}
.why .cards .card.active{background:var(--panel)}
.why .cards .card.active img{transform:scale(1.07)}
.why .cards .card.active::after{transform:scaleX(1);transition:transform 4s linear}
.why .cards .card i{transition:color .4s,transform .4s;display:inline-block}
.why .cards .card.active i{color:var(--accent2);transform:scale(1.25);transform-origin:left}
.why .cards .card h3{transition:color .4s}
.why .cards .card.active h3{color:#fff}
.partners{background:var(--bg2)}
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.logos div{background:#fff;height:110px;padding:18px 22px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:transform .3s,box-shadow .3s}
.logos div:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.logos img{max-height:62px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .3s,opacity .3s}
.logos div:hover img{filter:none;opacity:1}
@media(max-width:1000px){.logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.logos{grid-template-columns:repeat(2,1fr)}.logos div{height:90px}}
a.cta-band{display:block;color:#fff;transition:filter .3s}a.cta-band:hover{filter:brightness(1.1)}a.cta-band .btn{font-size:28px;padding:10px 26px;transition:transform .3s}a.cta-band:hover .btn{transform:translateX(8px)}
.process.js{display:block;position:relative}
.p-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative;z-index:1}
.p-nav button{background:none;border:0;color:var(--muted);cursor:pointer;text-align:center;padding:0 4px 18px;font:inherit;display:flex;flex-direction:column;align-items:center;gap:10px}
.p-nav b{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 24px 'Barlow Condensed',sans-serif;border:2px solid var(--line);background:var(--bg);color:var(--muted);transition:.35s}
.p-nav span{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:color .35s}
.p-nav button:hover b{border-color:var(--accent)}
.p-nav button.done b{border-color:var(--accent);color:var(--accent)}
.p-nav button.active b{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.12);box-shadow:0 0 0 8px rgba(250,0,0,.18)}
.p-nav button.active span{color:var(--text)}
.p-bar{position:absolute;top:29px;left:calc(100%/12);right:calc(100%/12);height:2px;background:var(--line)}
.p-bar span{display:block;height:100%;width:0;background:var(--accent);transition:width .6s ease}
.p-stage{margin-top:34px;position:relative}
.process.js .step{display:none;grid-template-columns:1.25fr 1fr;background:var(--panel);border:1px solid var(--line);overflow:hidden}
.process.js .step.active{display:grid;animation:pIn .6s ease}
.process.js .step img{aspect-ratio:auto;height:100%;min-height:380px;animation:pZoom 6s ease forwards}
.process.js .step>div{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;position:relative}
.process.js .step i{font-size:120px;line-height:.8;color:transparent;-webkit-text-stroke:2px var(--accent);opacity:.9}
.process.js .step h3{font-size:clamp(34px,3.6vw,52px);margin:18px 0 14px}
.process.js .step p{font-size:17px;line-height:1.7}
.p-arrows{position:absolute;right:20px;bottom:20px;display:flex;gap:8px}
.p-arrow{width:46px;height:46px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:20px;cursor:pointer;transition:.2s}
.p-arrow:hover{background:var(--accent);border-color:var(--accent)}
@keyframes pIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes pZoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@media(max-width:900px){
  .p-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:4px;padding-bottom:4px}
  .p-nav button{flex:0 0 110px;scroll-snap-align:center}
  .p-bar{display:none}
  .process.js .step.active{grid-template-columns:1fr}
  .process.js .step img{min-height:0;aspect-ratio:4/3}
  .process.js .step>div{padding:28px 24px 84px}
  .process.js .step i{font-size:80px}
}
@media(prefers-reduced-motion:reduce){.process.js .step.active,.process.js .step img{animation:none}}
.panels{display:flex;gap:10px;height:440px}
.panel{flex:1;position:relative;overflow:hidden;background-size:cover;background-position:center;border:1px solid var(--line);cursor:pointer;transition:flex .7s cubic-bezier(.2,.8,.2,1),filter .4s;filter:grayscale(.7)}
.panel.open{flex:3.2;filter:none}
.panel b{position:absolute;top:22px;left:24px;font:800 46px/1 'Barlow Condensed',sans-serif;color:transparent;-webkit-text-stroke:1.5px #fff;opacity:.85}
.panel>div{position:absolute;left:0;right:0;bottom:0;padding:28px 28px 30px}
.panel h3{font-size:30px;white-space:nowrap}
.panel em{display:block;font-style:normal;color:var(--accent2);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;opacity:0;transform:translateY(10px);transition:.5s .15s}
.panel p{color:#d6d9dd;font-size:15px;max-width:440px;margin-top:10px;opacity:0;transform:translateY(10px);transition:.5s .25s}
.panel.open em,.panel.open p{opacity:1;transform:none}
.panel::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--accent);transition:width .7s}
.panel.open::after{width:100%}
.metals{margin-top:70px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px 40px}
.metals>h3,.metals>p{grid-column:1/-1}
.metals>h3{font-size:clamp(30px,3.4vw,44px)}
.metals>p{color:var(--muted);margin-top:-14px}
.metal{background:var(--panel);border:1px solid var(--line);padding:26px}
.m-top{display:flex;justify-content:space-between;align-items:baseline}
.m-top strong{font:800 30px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.m-top span{font:700 26px 'Barlow Condensed',sans-serif;color:var(--accent2)}
.m-top i{font-style:normal}
.m-bar{height:10px;background:var(--bg);margin:16px 0 14px;overflow:hidden}
.m-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f5c542,var(--accent2),var(--accent));transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.metals.in .m-bar span{width:var(--w)}
.metal small{color:#c3c7cc;font-size:14px}
.m-unit{font-size:12px!important;opacity:.6;margin-top:0!important}
@media(max-width:900px){
  .panels{flex-direction:column;height:auto}
  .panel{flex:none;height:110px;transition:height .6s,filter .4s}
  .panel.open{height:320px}
  .metals{grid-template-columns:1fr}
}
.panel h3{white-space:normal;font-size:22px;transition:font-size .5s}.panel.open h3{font-size:34px;white-space:nowrap}.panel:not(.open)>div{padding:20px 16px}
.metal{position:relative;overflow:hidden;opacity:0;transform:translateY(40px);transition:opacity .7s,transform .7s,box-shadow .4s,border-color .4s}
.metals.in .metal{opacity:1;transform:none}
.metals.in .metal:nth-of-type(2){transition-delay:.15s}
.metals.in .metal:nth-of-type(3){transition-delay:.3s}
.metal::before{content:"";position:absolute;inset:auto -20% -60% -20%;height:120%;background:radial-gradient(closest-side,rgba(255,110,40,.28),transparent);opacity:0;transition:opacity .6s;pointer-events:none}
.metal:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 18px 40px rgba(250,0,0,.18)}
.metal:hover::before{opacity:1;animation:heat 2.4s ease-in-out infinite}
.m-bar{position:relative;overflow:visible;border-radius:6px}
.m-bar span{position:relative;border-radius:6px;background:linear-gradient(90deg,#f5c542,#ff9a3d 40%,#ff5a2c 70%,#FA0000);background-size:200% 100%;animation:molten 3s linear infinite}
.m-bar span::after{content:"";position:absolute;right:-6px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#ffd27a;box-shadow:0 0 12px 4px rgba(255,150,60,.9),0 0 28px 10px rgba(250,0,0,.5);opacity:0;transition:opacity .4s 1.4s}
.metals.in .m-bar span::after{opacity:1;animation:pulse 1.6s ease-in-out 1.6s infinite}
.m-top span{transition:color .3s,text-shadow .3s}
.metals.in .m-top span{animation:glow 3s ease-in-out 1.6s infinite}
.metal .sparks{position:absolute;inset:0;pointer-events:none}
.metal .sparks i{position:absolute;bottom:56px;width:3px;height:3px;border-radius:50%;background:#ffb347;box-shadow:0 0 6px 2px rgba(255,140,50,.8);opacity:0}
.metals.in .metal .sparks i{animation:spark 2.2s ease-out infinite}
@keyframes molten{to{background-position:-200% 0}}
@keyframes pulse{50%{transform:scale(1.35);box-shadow:0 0 18px 7px rgba(255,150,60,.95),0 0 40px 16px rgba(250,0,0,.55)}}
@keyframes glow{50%{text-shadow:0 0 14px rgba(255,122,61,.75)}}
@keyframes heat{50%{transform:translateY(-6%) scale(1.05)}}
@keyframes spark{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-70px)}}
@media(prefers-reduced-motion:reduce){.metal,.m-bar span,.m-bar span::after,.m-top span,.metal .sparks i{animation:none!important;transition:none!important;opacity:1;transform:none}}
.btn.ghost{clip-path:none}
.mes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mes-grid img{aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--line);background:#fff;transition:transform .4s}.mes-grid img:first-child{grid-column:1/-1}.mes-grid img:hover{transform:scale(1.03)}
.yt{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line);overflow:hidden}.yt img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border:0;opacity:.85;transition:opacity .3s,transform .6s}.yt:hover img{opacity:1;transform:scale(1.03)}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;background:var(--accent);color:#fff;border:0;padding:16px 26px;font:600 15px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s}.yt-play span{font-size:20px}.yt-play:hover{background:var(--accent2)}
.video{overflow:hidden}.v-cover{position:absolute;inset:0;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;background:linear-gradient(180deg,rgba(18,19,21,.35),rgba(18,19,21,.75));transition:opacity .4s}.v-cover img{width:min(360px,60%);height:auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,.6))}.v-play{width:92px;height:92px;border-radius:50%;background:var(--accent);color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;padding-left:6px;box-shadow:0 0 0 0 rgba(250,0,0,.6);animation:vpulse 2s infinite;transition:transform .3s,background .3s}.v-cover:hover .v-play{transform:scale(1.1);background:var(--accent2)}.video.playing .v-cover{opacity:0;pointer-events:none}@keyframes vpulse{70%{box-shadow:0 0 0 22px rgba(250,0,0,0)}100%{box-shadow:0 0 0 0 rgba(250,0,0,0)}}@media(max-width:600px){.v-play{width:64px;height:64px;font-size:24px}.v-cover{gap:18px}}
.v-cover{gap:4%}.v-cover img{width:88%;max-width:none}.v-play{width:clamp(56px,9vw,110px);height:clamp(56px,9vw,110px);font-size:clamp(22px,3.4vw,40px)}
.process.js .step{height:460px}.process.js .step img{width:100%;height:460px;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center}@media(max-width:900px){.process.js .step{height:auto}.process.js .step img{height:auto;aspect-ratio:4/3}}
.cta-band{padding:44px 0!important}.cta-band h2{font-size:clamp(30px,3.6vw,46px)!important}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}a.cta-band .btn{font-size:22px;padding:8px 22px}
/* Chiocciola del logo come filigrana di sfondo */
body{position:relative}
body::before{content:"";position:fixed;right:-12vw;bottom:-14vh;width:72vw;max-width:1100px;aspect-ratio:660/524;background:url(img/simbolo.svg) no-repeat center/contain;opacity:.045;pointer-events:none;z-index:0;transform:rotate(-8deg)}
main,footer,.topline{position:relative;z-index:1}
section,.why,.stats,.partners{background-color:transparent}
.why{background:rgba(26,28,31,.72)}
.stats{background:rgba(26,28,31,.8)}
.partners{background:rgba(26,28,31,.72)}
header{z-index:50}
@media(max-width:700px){body::before{width:130vw;right:-45vw;bottom:-6vh;opacity:.05}}
.card img{max-width:none}
.logos{grid-template-columns:repeat(4,1fr)}@media(max-width:1000px){.logos{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.logos{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){nav.open{display:flex!important}nav.open a{display:block!important}nav .btn{margin-top:10px}}
/* Touch (cellulare/tablet): le foto si colorano mentre si scorre, senza bisogno di toccarle */
@media (hover:none){
  .why .cards .card img,.logos img,.panel{transition:filter .8s ease,opacity .8s ease,transform .8s ease,flex .7s}
  .why .cards .card.inview img{filter:none!important;transform:none}
  .logos div.inview img{filter:none!important;opacity:1!important}
  .panel.inview{filter:none!important}
}
