/* ===== NVS.STUDIO — design system ===== */
:root{
  --bg:#0a0a0a; --bg2:#101010; --fg:#f5f5f4; --mut:#8d8c88; --acc:#ff8a00;
  --line:#262624; --card:#151514; --ease:cubic-bezier(.16,1,.3,1);
}
.pm-vars{
  --pm-bg1:#16161df2; --pm-bg2:#0e0e13f5;
  --pm-fg:#fff; --pm-mut:#ffffffb3;
  --pm-card:#0a0a0e; --pm-line:#ffffff12; --pm-hair:#ffffff26;
  --pm-shadow:#000c; --pm-xbg:#ffffff0a;
}
[data-theme="light"] .pm-vars,
[data-theme="light"]{
  --pm-bg1:#ffffffcc; --pm-bg2:#f4f2eee6;
  --pm-fg:#131313; --pm-mut:#67655f;
  --pm-card:#eae7e0; --pm-line:#d9d4ca; --pm-hair:#13131314;
  --pm-shadow:#00000022; --pm-xbg:#1313130a;
}
[data-theme="light"]{
  --bg:#f4f2ee; --bg2:#eae7e0; --fg:#131313; --mut:#67655f; --acc:#e86f00;
  --line:#d9d4ca; --card:#ffffff;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:400 1rem/1.6 'Space Grotesk',sans-serif;
  transition:background .4s,color .4s;overflow-x:hidden}
::selection{background:var(--acc);color:#111}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
main#view{position:relative}
.kick{font-size:.8rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--acc)}
.giant{font-family:'Archivo Black',sans-serif;text-transform:uppercase;line-height:.92;
  letter-spacing:-.015em;font-size:clamp(2.6rem,9.5vw,9.5rem)}
.giant em{font-style:normal;color:var(--acc)}
.giant .ch--acc{color:var(--acc)}
.chc{display:inline-block;will-change:transform}
.lead{max-width:56ch;color:var(--mut);font-size:clamp(1rem,1.5vw,1.2rem)}

/* pulsanti + magnetico */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.7em;border-radius:999px;
  border:1px solid var(--line);background:var(--card);color:var(--fg);font-weight:600;
  font-size:.95rem;transition:border-color .3s,color .3s}
.btn span{display:inline-block;will-change:transform}
.btn:hover{border-color:var(--acc)}
.btn.p{background:var(--acc);border-color:var(--acc);color:#111}
.btn.p:hover{color:#000}

/* cursor custom */
#curDot{position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;
  background:var(--acc);z-index:100;pointer-events:none}
#curRing{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
  border:1.5px solid var(--acc);z-index:100;pointer-events:none;opacity:.55;
  transition:width .25s,height .25s,margin .25s,opacity .2s}
#curRing.big{width:58px;height:58px;margin:-29px 0 0 -29px;opacity:.95}
body.cur,body.cur a,body.cur button{cursor:none!important}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:80;display:flex;align-items:center;gap:2rem;
  padding:.9rem 4vw;background:color-mix(in srgb,var(--bg) 72%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.hdr.scr{border-color:var(--line)}
.hdr__logo{font-family:'Archivo Black',sans-serif;font-size:1.25rem;letter-spacing:.02em}
.hdr__logo span{color:var(--acc)}
.hdr__nav{display:flex;align-items:center;gap:2rem;margin-left:auto}
.hdr__nav a{position:relative;font-weight:500;opacity:.75;transition:opacity .3s,color .3s}
.hdr__nav a:hover,.hdr__nav a.on{opacity:1}
.hdr__nav a.on{color:var(--acc)}
.hdr__nav a.btn.p{color:#111;background:var(--acc);border-color:var(--acc)}
.hdr__nav a:not(.btn)::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:2px;
  background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.hdr__nav a:not(.btn):hover::after,.hdr__nav a.on::after{transform:scaleX(1)}
.hdr__nav .btn{padding:.55em 1.2em;opacity:1}
.hdr__right{display:flex;align-items:center;gap:.8rem;margin-left:1rem}
#themeBtn{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);cursor:pointer}
#themeBtn .ico{position:absolute;inset:0;margin:auto;width:16px;height:16px;background:var(--acc);border-radius:50%}
.ico--moon{box-shadow:inset -5px -4px 0 0 var(--card)}
[data-theme="dark"] .ico--moon,[data-theme="light"] .ico--sun{display:none}
#burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px}
#burger span{width:24px;height:2px;background:var(--fg);transition:.3s var(--ease)}
body.open #burger span:first-child{transform:translateY(7px) rotate(45deg)}
body.open #burger span:last-child{transform:translateY(-7px) rotate(-45deg)}

/* footer */
.ftr{border-top:1px solid var(--line);margin-top:6rem}
.ftr__wrap{max-width:1200px;margin:0 auto;padding:4rem 1.2rem 1.5rem}
.ftr__cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;font-size:.95rem}
.ftr__cols nav{display:flex;flex-direction:column;gap:.5rem}
.ftr__cols a:hover{color:var(--acc)}.ftr__cols{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}
.ftr__right{display:flex;flex-direction:column;align-items:flex-end;gap:1.2rem}
.ftr__nav{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;font-size:.95rem}
.ftr__right .ftr__nav{flex-direction:row;gap:1.2rem;margin-top:0}
.ftr__right .ftr__nav a{white-space:nowrap}
.ftr__logo{width:170px}
@media(max-width:900px){
  .ftr__cols{grid-template-columns:1fr}
  .ftr__right{align-items:flex-start}
  .ftr__right .ftr__nav{flex-direction:column;gap:.5rem}
}
.ftr__base{display:flex;justify-content:space-between;align-items:center;color:var(--mut);font-size:.9rem;
  border-top:1px solid var(--line);padding-top:1.2rem}
.ftr__base a span{display:inline-block}

/* home */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden}
#pcv{position:absolute;inset:0;width:100%;height:100%}
.hero__in{position:relative;text-align:center;padding:0 1rem;transform:translateY(18vh)}
.hero .lead{margin:1.6em auto 0}
.hero .cta{display:flex;gap:1rem;justify-content:center;margin-top:2.2rem;flex-wrap:wrap}
.marquee{position:absolute;bottom:0;left:0;right:0;padding:1rem 0;border-top:1px solid var(--line);overflow:hidden}
.marquee__t{display:inline-block;white-space:nowrap;font-family:'Archivo Black',sans-serif;font-size:1rem;
  text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--mut);opacity: 0.5;animation:mq 28s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}

.sec{max-width:1200px;margin:0 auto;padding:5.5rem 1.2rem}
.sec__t{font-family:'Archivo Black',sans-serif;text-transform:uppercase;font-size:clamp(1.8rem,4vw,3rem);margin-bottom:2.5rem}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bcard{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.6rem;border:1px solid var(--line);
  border-radius:18px;background:var(--card);overflow:hidden;transition:transform .4s var(--ease),border-color .3s}
.bcard:hover{transform:translateY(-6px);border-color:var(--acc)}
.bcard__n{font-family:'Archivo Black',sans-serif;color:var(--acc);font-size:1.1rem}
.bcard h3{font-family:'Archivo Black',sans-serif;font-size:1.3rem;text-transform:uppercase;margin-top:1.2rem}
.bcard p{color:var(--mut);font-size:.95rem}
.arr{position:absolute;right:1.2rem;bottom:1rem;font-size:1.4rem;transition:transform .35s var(--ease)}
.bcard:hover .arr{transform:translateX(6px);color:var(--acc)}

/* page hero interno */
.ph{min-height:76vh;display:grid;align-content:center;padding:18vh 5vw 4vh;position:relative;overflow:hidden}
.ph .kick{margin-bottom:1.2rem}
.ph .lead{margin-top:1.5rem}
.ph::after{content:'';position:absolute;left:5vw;right:5vw;bottom:0;height:1px;background:var(--line)}

/* servizi */
.slist{max-width:1100px;margin:0 auto;padding:3rem 1.2rem 0}
.srow{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:1.5rem;
  padding:2rem 1rem;border-top:1px solid var(--line);transition:background .3s,padding .3s var(--ease)}
.srow:last-child{border-bottom:1px solid var(--line)}
.srow:hover{background:var(--card);padding-left:2rem;}
.srow__n{font-family:'Archivo Black',sans-serif;color:var(--mut);transition:color .3s}
.srow:hover .srow__n{color:var(--acc)}
.srow h3{font-family:'Archivo Black',sans-serif;font-size:clamp(1.4rem,3.2vw,2.6rem);
  text-transform:uppercase;line-height:1;transition:transform .35s var(--ease)}
.srow:hover h3{transform:translateX(10px);color:var(--acc)}
.srow p{color:var(--mut);max-width:52ch;margin-top:.4rem}
.srow__t{color:var(--mut);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;text-align:right}
//#float{position:fixed;z-index:70;width:250px;padding:1.2rem;border-radius:14px;pointer-events:none;
  .srow{display:block;cursor:pointer}
.srow__t::after{content:'→';margin-left:.4em;transition:transform .3s var(--ease)}
.srow:hover .srow__t::after{transform:translateX(6px);color:var(--acc)}
  background:linear-gradient(135deg,var(--acc),#ffb35c);color:#111;font-family:'Archivo Black',sans-serif;
  text-transform:uppercase;font-size:1.05rem;opacity:0;box-shadow:0 20px 60px rgba(255,138,0,.3)}
.srow:hover{
  background:var(--card);
  background:color-mix(in srgb, var(--card) 45%, transparent);
  padding-left:2rem;
}
.srow{transition:background .6s,padding .6s var(--ease),opacity .35s}
#slist:has(.srow:hover) .srow:not(:hover){opacity:.5}
.srow:hover{background:var(--card);
  background:color-mix(in srgb, var(--card) 45%, transparent);
  padding-block:9.6rem 8.6rem;padding-left:2rem}
/* progetti — bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:170px;gap:14px;perspective:1200px}
.tile{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.tile .tile__bg{position:absolute;inset:0;transition:transform .8s var(--ease)}
.tile:hover .tile__bg{transform:scale(1.06)}
.tile__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.g1{background:linear-gradient(135deg,#ff8a00,#7c2d12)} .g2{background:linear-gradient(135deg,#3b3b3b,#111)}
.g3{background:linear-gradient(135deg,#0e7490,#0a0a0a)} .g4{background:linear-gradient(135deg,#be123c,#180407)}
.g5{background:linear-gradient(135deg,#4d7c0f,#0a0f05)} .g6{background:linear-gradient(135deg,#6d28d9,#0c0518)}
.g7{background:linear-gradient(135deg,#facc15,#422006)}
.tile__n{position:absolute;right:.6rem;bottom:-1.4rem;font-family:'Archivo Black',sans-serif;
  font-size:6rem;color:rgba(255,255,255,.14);line-height:1}
.tile__c{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.3rem;background:linear-gradient(to top,rgba(0,0,0,.65),transparent 55%);color:#fff}
.tile__c .tag{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  background:rgba(255,255,255,.15);padding:.3em .8em;border-radius:999px;margin-bottom:.5rem}
.tile__c h3{font-family:'Archivo Black',sans-serif;font-size:1.25rem;text-transform:uppercase}
.tile__c p{color:rgba(255,255,255,.75);font-size:.85rem}
.tile__go{margin-top:.6rem;color:var(--acc);font-weight:700;opacity:0;transform:translateY(8px);transition:.35s var(--ease)}
.tile:hover .tile__go{opacity:1;transform:none}
.t--big{grid-column:span 4;grid-row:span 2} .t--tall{grid-column:span 2;grid-row:span 2}
.t--wide{grid-column:span 3} .t--sm{grid-column:span 2}
.tile__bg{opacity:.2;transition:opacity .45s var(--ease),transform .8s var(--ease)}
.tile:hover .tile__bg{opacity:.8}
.tile{background:transparent}
/* studio */
.split2{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.sticky{position:sticky;top:15vh}
.sticky .giant{font-size:clamp(2.4rem,5.5vw,5rem)}
.big-p{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5;margin-bottom:2.5rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:3.5rem}
.stat{border:1px solid var(--line);border-radius:14px;padding:1.2rem;text-align:center}
.stat b{display:block;font-family:'Archivo Black',sans-serif;font-size:2.6rem;color:var(--acc)}
.stat span{font-size:.85rem;color:var(--mut);text-transform:uppercase;letter-spacing:.1em}
.tl{list-style:none;border-left:2px solid var(--line);padding-left:2rem;display:grid;gap:2.2rem}
.tl li{position:relative}
.tl li::before{content:'';position:absolute;left:calc(-2rem - 7px);top:.4em;width:12px;height:12px;
  border-radius:50%;background:var(--acc)}
.tl b{font-family:'Archivo Black',sans-serif;font-size:1.2rem;text-transform:uppercase;color:var(--acc)}
.tl h3{font-family:'Archivo Black',sans-serif;text-transform:uppercase;font-size:1.3rem;margin:.2rem 0}
.tl p{color:var(--mut)}

/* contatti */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.cinfo a{display:block;font-family:'Archivo Black',sans-serif;font-size:clamp(1.4rem,3vw,2.4rem);
  text-transform:uppercase;padding:.6rem 0;border-top:1px solid var(--line);transition:padding .3s var(--ease),color .3s}
.cinfo a:last-of-type{border-bottom:1px solid var(--line)}
.cinfo a:hover{color:var(--acc);padding-left:1rem}
.cinfo .lbl{font-family:'Space Grotesk',sans-serif;font-size:.8rem;color:var(--mut);
  text-transform:uppercase;letter-spacing:.2em;display:block;border:none;padding-top:1.5rem}
.cform{display:grid;gap:1.4rem}
.cform label{display:grid;gap:.4rem;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mut)}
.cform input,.cform textarea{background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:.7em 0;font:inherit;color:var(--fg);transition:border-color .3s}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--acc)}
.cform .ok{color:var(--acc);font-weight:700}

/* wipe transizioni */
#wipe{position:fixed;inset:0;z-index:90;pointer-events:none;background:var(--bg);
  clip-path:circle(0px at 50% 40%);visibility:hidden}

/* reveal base */
.rv{will-change:transform,opacity}

/* responsive */
@media(max-width:900px){
  .hdr{backdrop-filter:none;background:var(--bg)}
  .hdr__nav{position:fixed;inset:0;background:var(--bg);flex-direction:column;justify-content:center;
    gap:1.8rem;opacity:0;pointer-events:none;transition:.4s var(--ease)}
  .hdr__nav a{font-family:'Archivo Black',sans-serif;font-size:1.8rem;text-transform:uppercase}
  body.open .hdr__nav{opacity:1;pointer-events:auto}
  #burger{display:flex}
  .bgrid,.grid2,.split2{grid-template-columns:1fr}
  .sticky{position:static}
  .bento{grid-template-columns:repeat(4,1fr)}
  .t--big,.t--tall,.t--sm,.t--wide{grid-column:span 2}
  .t--big{grid-row:span 2}
  .stats{grid-template-columns:repeat(2,1fr)}
  .srow{grid-template-columns:1fr;gap:.5rem}
  .srow__t{text-align:left}
  .ftr__cols{grid-template-columns:1fr}
}
.show{position:relative;padding:4rem 0 2rem}
.show__in{max-width:1100px;margin:0 auto;padding:0 1.2rem}
.show__v{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:20px;
  background:#000;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.show__cap{margin-top:1.1rem;color:var(--mut);font-size:.9rem;text-align:center}
.show__v{width:100%;display:block;border-radius:12px;background:#000}
.scrollcue{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:5}
.scrollcue__t{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.scrollcue__d{width:1px;height:44px;background:linear-gradient(var(--acc),transparent);
  position:relative;overflow:hidden;display:block}
.scrollcue__d::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
  background:linear-gradient(transparent,var(--acc));animation:sc 1.8s var(--ease) infinite}
@keyframes sc{to{top:100%}}
.ftr__logo{width:190px;display:block;margin:2.5rem auto 2rem;opacity:.85;transition:opacity .3s,transform .5s var(--ease)}
.ftr__logo:hover{opacity:1;transform:scale(1.04)}
.ftr__mail{display:flex;align-items:center;gap:.55rem;font-size:.95rem;transition:color .3s}
.ftr__mail:hover{color:var(--acc)}
.ftr__mail svg{flex:none;opacity:.8}
.ckbar{position:fixed;left:0;right:0;bottom:0;z-index:95;background:var(--card);
  border-top:1px solid var(--line);box-shadow:0 -20px 60px rgba(0,0,0,.35)}
.ckbar__in{max-width:1100px;margin:0 auto;padding:1.1rem 1.2rem;display:flex;gap:1rem;
  align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.92rem;color:var(--mut)}
.ckbar__in a{color:var(--acc)}
.ckbar__btns{display:flex;gap:.6rem}
@media(max-width:600px){.ckbar__in{flex-direction:column;align-items:flex-start}}
/* ---- SITI REALIZZATI ---- */
.sec--siti{padding-top:2rem}
.sub-h{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:.02em;margin-bottom:.6rem}
.siti-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:1rem;
  margin-top:1.6rem;
}
.sito{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:80px;border-radius:12px;overflow:hidden;
  background:#16161a;border:1px solid #2a2a30;
  padding:1rem 1.1rem;text-decoration:none;color:#fff;
  transition:border-color .3s,transform .3s;
}
.sito:hover{border-color:#fff5;transform:translateY(-4px)}
.sito img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.07);transition:opacity .4s,transform .6s ease;
  pointer-events:none;
}
.sito:hover img{opacity:.55;transform:scale(1)}
.sito .n{font-size:1.05rem;font-weight:500;position:relative;z-index:1}
.sito .d{font-size:.78rem;opacity:.55;letter-spacing:.03em;position:relative;z-index:1}
.sito::after{content:"↗";position:absolute;top:.8rem;right:1rem;opacity:0;transform:translate(-4px,4px);transition:.3s}
.sito:hover::after{opacity:1;transform:none}
/* ============ MODAL PROGETTO ============ */
.pm{
  position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;
  --pm-bg1:#16161df2;--pm-bg2:#0e0e13f5;
  --pm-fg:#fff;--pm-mut:#ffffffb3;
  --pm-card:#0a0a0e;--pm-line:#ffffff12;--pm-hair:#ffffff26;
  --pm-shadow:#000c;--pm-xbg:#ffffff0a;--pm-xbg2:#ffffff1a;
  --pm-back1:#00000088;--pm-back2:#0a0a0fc8;
}
[data-theme="light"] .pm{
  --pm-bg1:#ffffffee;--pm-bg2:#f4f2eee6;
  --pm-fg:#131313;--pm-mut:#67655f;
  --pm-card:#eae7e0;--pm-line:#d9d4ca;--pm-hair:#13131314;
  --pm-shadow:#00000022;--pm-xbg:#1313130a;--pm-xbg2:#13131314;
  --pm-back1:#ffffff66;--pm-back2:#f4f2eee0;
}
.pm.open{visibility:visible;pointer-events:auto}
.pm__back{
  position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 0%,var(--pm-back1) 0%,var(--pm-back2) 100%);
  backdrop-filter:blur(14px) saturate(1.2);
  opacity:0;transition:opacity .45s;
}
.pm.open .pm__back{opacity:1}

.pm__panel{
  position:absolute;top:50%;left:50%;
  width:min(920px,92vw);max-height:88vh;
  transform:translate(-50%,-46%) scale(.97);opacity:0;
  transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:clamp(2rem,4vw,3.5rem) clamp(1.4rem,3.5vw,3rem) 4rem;
  background:linear-gradient(180deg,var(--pm-bg1),var(--pm-bg2));
  border:1px solid var(--pm-line);border-top:1px solid var(--pm-hair);
  border-radius:22px;
  box-shadow:0 40px 120px var(--pm-shadow),inset 0 1px 0 #ffffff0f;
  scrollbar-width:thin;scrollbar-color:var(--pm-xbg2) transparent;
}
.pm.open .pm__panel{transform:translate(-50%,-50%) scale(1);opacity:1}
.pm__panel::-webkit-scrollbar{width:6px}
.pm__panel::-webkit-scrollbar-thumb{background:var(--pm-xbg2);border-radius:99px}

.pm__body{min-width:0}
.pm__body>*{min-width:0;max-width:100%}
.pm__body .kick{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--acc,#7c6cff);
  padding:.45rem .9rem;border:1px solid var(--pm-line);border-radius:999px;
  background:var(--pm-xbg);
}
.pm__body h2{
  font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.04;
  margin:1.1rem 0 1rem;font-weight:600;letter-spacing:-.015em;
  background:linear-gradient(90deg,var(--pm-fg),var(--pm-mut));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pm__intro{max-width:58ch;color:var(--pm-mut);line-height:1.65;font-size:.98rem;margin:0 0 2.6rem}

/* ---- SLIDE: img grande + txt sfalsato ---- */
.pm__slide{
  display:grid;grid-template-columns:1fr 21%;
  gap:1.6rem;align-items:center;margin-bottom:3.2rem;
}
.pm__slide:nth-child(even){grid-template-columns:21% 1fr}
.pm__slide:nth-child(even) .pm__img{order:2}
.pm__img{
  aspect-ratio:16/10;border-radius:10px;overflow:hidden;
  background:var(--pm-card);border:1px solid var(--pm-line);
  transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s;
}
.pm__img:hover{transform:translateY(-6px);box-shadow:0 18px 40px #000a}
.pm__img img{
  width:100%;height:100%;object-fit:cover;display:block;
  clip-path:inset(0 0 0 0);transform:scale(1.25);
  transition:clip-path .9s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1);
}
.pm__txt{
  position:relative;min-width:0;
  color:var(--pm-fg);line-height:1.7;font-size:.92rem;
  padding:0 1.2rem 0 0;
  background:linear-gradient(var(--acc,#7c6cff),transparent) right center/2px 75% no-repeat;
  text-align:right;
}
.pm__txt::before{
  content:attr(data-n);
  display:block;font-size:.68rem;letter-spacing:.25em;
  color:var(--acc,#7c6cff);margin-bottom:.4rem;
}
.pm__slide:nth-child(even) .pm__txt{
  padding:0 0 0 1.2rem;text-align:left;
  background-position:left center;
}

.pm__x{
  position:fixed;top:max(1rem,env(safe-area-inset-top));right:1.2rem;z-index:5;
  width:44px;height:44px;border-radius:50%;
  border:1px solid var(--pm-line);background:var(--pm-xbg);backdrop-filter:blur(8px);
  color:var(--pm-fg);font-size:1rem;cursor:pointer;
  display:grid;place-items:center;transition:.35s cubic-bezier(.22,1,.36,1);
}
.pm__x:hover{background:var(--pm-xbg2);transform:rotate(90deg) scale(1.06);border-color:var(--pm-hair)}

@media(max-width:700px){
  .pm__panel{
    width:100%;max-height:100vh;max-height:100dvh;
    border-radius:0;border-left:0;border-right:0;
    padding:3rem 1.2rem 1rem;
  }
  .pm__slide,.pm__slide:nth-child(even){grid-template-columns:1fr;gap:1rem;margin-bottom:2.6rem}
  .pm__slide .pm__img,.pm__slide:nth-child(even) .pm__img{order:0;aspect-ratio:4/3}
  .pm__txt,.pm__slide:nth-child(even) .pm__txt{
    padding:1rem 0 0 1.2rem;text-align:left;
    background-position:left center;
  }
  .pm__txt::before{margin-top:0}
}
/* ============ /MODAL ============ */
/* Contatti — mail decollo */
/*a.mail{display:inline-block;position:relative}*/
/*.mlc{display:inline-block;will-change:transform}*/
/* Contatti — mail decollo */
.cinfo a[href^="mailto:"]{position:relative;display:inline-block}
.cinfo .mlc{display:inline-block}
.mflash{position:absolute;left:0;right:0;bottom:-6px;height:16px;pointer-events:none;opacity:0;filter:blur(6px);background:radial-gradient(60% 100% at 50% 100%, rgba(255,140,0,.9), transparent 70%)}
/*****wire*******/
.wirecv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .6s}
.meshcv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .6s}
.codecv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .6s}
.lavacv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .6s}
.linecv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .6s}
.stacv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .8s}

/****RISPARMIO GAME****/
.rsW{position:relative;height:min(60vh,520px);border-radius:18px;background:#0e0e11;overflow:hidden}
.rsC{display:block;width:100%;height:100%}
.rsHud{position:absolute;top:12px;left:16px;right:16px;display:flex;align-items:center;gap:12px;color:#e8e6e2;font:600 11px/1 monospace;letter-spacing:.14em;pointer-events:none}
.rsFull{position:absolute;top:10px;right:12px;z-index:5;background:rgba(255,255,255,.1);border:0;border-radius:8px;color:#e8e6e2;width:34px;height:34px;font-size:14px;cursor:pointer}
.rsW:fullscreen .rsFull,.rsW:-webkit-full-screen .rsFull{display:none}
.rsFuel{flex:1;height:6px;background:rgba(255,255,255,.12);border-radius:3px;overflow:hidden}
.rsFuel i{display:block;height:100%;width:100%;background:#3ddc84;border-radius:3px}
.rsMsg{position:absolute;left:0;right:0;top:52%;text-align:center;color:#e8e6e2;font:500 14px/1.5 sans-serif;letter-spacing:.06em;pointer-events:none;text-transform:uppercase}
.rsBtns{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.rsBtns button{width:48px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#e8e6e2;font-size:15px;touch-action:none;cursor:pointer}
@media(pointer:fine){.rsBtns{display:none}}
@media(pointer:coarse){.rsBtns{bottom:48px}}
/* SLINGA (easter egg) */
.slinga-wrap{position:fixed;inset:0;z-index:250;display:none;background:#050508;cursor:crosshair}
.slinga-wrap.on{display:block}
.slinga-wrap canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
.slg{position:fixed;right:20px;bottom:20px;z-index:40;cursor:pointer;display:none;align-items:center;gap:8px}
.slg__blk{width:10px;height:10px;background:#ff8c00;animation:slgB 1s steps(1) infinite}
.slg__tip{opacity:0;font:700 10px/1 "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase;color:#0a0a0a;background:#ff8c00;padding:5px 7px;transition:opacity .15s;pointer-events:none}
.slg:hover .slg__tip{opacity:1}
@keyframes slgB{50%{opacity:0}}
.slgOv{position:fixed;inset:0;z-index:90;background:rgba(5,5,5,.92);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-family:"Courier New",monospace}
.slgOv.on{display:flex}
.slgOv canvas{width:min(88vw,820px);image-rendering:pixelated;border:1px solid #333;background:#0a0a0a;cursor:crosshair;touch-action:none}
.slgHud{width:min(88vw,820px);display:flex;justify-content:space-between;color:#888;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.slgHud b{color:#ff8c00}
.slgX{position:absolute;top:14px;right:18px;background:none;border:1px solid #444;color:#fff;font:700 16px "Courier New",monospace;width:34px;height:34px;cursor:pointer}
.slgX:hover{border-color:#ff8c00;color:#ff8c00}
#slgMsg{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#44ff88;font-size:13px;letter-spacing:.15em;text-transform:uppercase}
#slgMsg span{display:block;color:#888;font-size:11px;margin-top:4px}
/* RITIRO (Easter Egg) - Mirror di SLINGA */
.rit-wrap { position: fixed; inset: 0; z-index: 250; display: none; background: #050508; cursor: crosshair; }
.rit-wrap.on { display: block; }
.rit-wrap canvas { display: block; width: 100%; height: 100%; image-rendering: pixelated; }

/* Il trigger in basso a destra */
.rit-trigger { position: fixed; right: 20px; bottom: 20px; z-index: 40; cursor: pointer; display: none; align-items: center; gap: 8px; }
.rit-trigger.on { display: flex; } /* Lo rendi visibile quando vuoi che appaia */
.rit__blk { width: 10px; height: 10px; background: #00ff00; animation: ritB 1s steps(1) infinite; }
.rit__tip { opacity: 0; font: 700 10px/1 "Courier New", monospace; letter-spacing: .12em; text-transform: uppercase; color: #0a0a0a; background: #00ff00; padding: 5px 7px; transition: opacity .15s; pointer-events: none; }
.rit-trigger:hover .rit__tip { opacity: 1; }
@keyframes ritB { 50% { opacity: 0; } }

/* L'overlay del gioco */
.ritOv { position: fixed; inset: 0; z-index: 90; background: rgba(5, 5, 5, .92); display: none; align-items: center; justify-content: center; flex-direction: column; gap: 14px; font-family: "Courier New", monospace; }
.ritOv.on { display: flex; }
.ritOv canvas { width: min(88vw, 820px); image-rendering: pixelated; border: 1px solid #00ff00; background: #0a0a0a; cursor: crosshair; touch-action: none; }

.ritHud { width: min(88vw, 820px); display: flex; justify-content: space-between; color: #888; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.ritHud b { color: #00ff00; }

.ritX { position: absolute; top: 14px; right: 18px; background: none; border: 1px solid #333; color: #fff; font: 700 16px "Courier New", monospace; width: 34px; height: 34px; cursor: pointer; z-index: 100; }
.ritX:hover { border-color: #00ff00; color: #00ff00; }

/*******CONTENUTI********/
/*prima dopo*/
.pm__ba{
  position:relative;
  width:100%;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:4/3;
  user-select:none;
}
.pm__ba-img{width:100%;height:100%;object-fit:cover;display:block}
.pm__ba-before{
  position:absolute;inset:0;
  clip-path:inset(0 calc(100% - var(--x)) 0 0);
}
.pm__ba-before img{width:100%;height:100%;object-fit:cover;display:block}
.pm__ba-tag{
  position:absolute;top:12px;
  padding:.3rem .6rem;
  border-radius:6px;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  backdrop-filter:blur(4px);
  pointer-events:none;
}
.pm__ba-tag{left:12px}
.pm__ba-tag--r{left:auto;right:12px}
.pm__ba-line{
  position:absolute;
  top:0;bottom:0;
  left:var(--x);
  width:2px;
  background:#fff;
  transform:translateX(-1px);
  pointer-events:none;
}
.pm__ba-h{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:34px;height:34px;
  border-radius:50%;
  background:#fff;
  color:#000;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;
  box-shadow:0 2px 10px rgba(0,0,0,.4);
}
.pm__ba input[type=range]{
  position:absolute;inset:0;
  width:100%;height:100%;
  opacity:0;
  cursor:ew-resize;
  margin:0;
}
.pm__img .pm__ba{width:100%}
.pm__img .pm__ba img{width:100%}
/*numeri*/
.pm__stats{
  margin-top:2.5rem;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
}
.pm__cell{
  background:var(--surface2);
  padding:1.4rem 1.2rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0)*90ms);
}
.pm__stats.on .pm__cell{opacity:1;transform:none}
.pm__num{
  font-family:var(--font-d);
  font-size:clamp(1.6rem,3.5vw,2.2rem);
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--acc);
  font-variant-numeric:tabular-nums;
}
.pm__lab{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink2);
}
@media(min-width:900px){.pm__stats{grid-template-columns:repeat(4,1fr)}}