/* =========================================================
   Valentino Russo — Tattoo Artist · bozza v2 (più pagine)
   Nero, marmo, argento del logo, oro della linea VR.
   Elementi ripresi dal sito di Nicola Giannetti: titolo pieno/contorno
   che si riempie sotto il cursore, scheda-domanda, nastri, elenco con
   immagine che segue, confronto da trascinare, citazione che si accende,
   telo fra le pagine, barra in basso sul telefono.
   ========================================================= */
:root{
  --nero:#060606; --nero2:#0b0b0c; --nero3:#141415;
  --argento:#dcdce0; --argento2:#9b9ba2; --argento3:#5d5d63;
  --oro:#ebe6db; --oro2:#bdb7aa; --neon:#e8f526;
  --bianco:#f4f2ee; --accento:#e8f526; --line:rgba(220,220,224,.13);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',system-ui,sans-serif;
  --cond:'Bebas Neue',Impact,sans-serif;
  --pad:clamp(16px,4.5vw,72px);
  --ease:cubic-bezier(.16,1,.3,1);
  --marble-light:linear-gradient(120deg,#f2f0ec,#bdbab5 40%,#f7f5f1 55%,#9c9893);
  --metal:linear-gradient(180deg,#ffffff 0%,#d9d9de 38%,#8d8d94 62%,#ececef 100%);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--nero);-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--nero);color:var(--argento);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--oro);color:#000}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--pad)}

/* ---------- tipografia ---------- */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:500;letter-spacing:.38em;text-transform:uppercase;color:var(--oro);margin-bottom:24px}
.eyebrow .line{display:inline-block;width:10px;height:15px;flex:0 0 auto;background:var(--accento);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13 2 4 14h7l-1 8 9-12h-7z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13 2 4 14h7l-1 8 9-12h-7z'/></svg>") center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(232,245,38,.6))}
.eyebrow{gap:10px}
.eyebrow--neon{color:var(--neon)}
.h-big{font-family:var(--cond);font-weight:400;font-size:clamp(52px,7.4vw,124px);line-height:.88;letter-spacing:.005em;color:var(--bianco);text-transform:uppercase}
.h-big em{font-style:normal;color:var(--accento);text-shadow:0 0 34px rgba(232,245,38,.25)}
.wm{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.05em;margin-bottom:-.05em}
.wi{display:inline-block}
.lead{font-size:clamp(15px,1.15vw,18px);color:var(--argento2);max-width:52ch}
.lead b{color:var(--bianco);font-weight:500}
.marble-text{background:var(--marble-light);background-size:cover;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent!important}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,6vh,70px)}
.sec-head .lead{max-width:36ch}
.link-arrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--bianco);padding-bottom:6px;border-bottom:1px solid var(--oro)}
.link-arrow i{font-style:normal;color:var(--oro);transition:transform .5s var(--ease)}
.link-arrow:hover i{transform:translateX(8px)}

/* ---------- bottoni ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 30px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s,transform .4s var(--ease);white-space:nowrap}
.btn span{position:relative;z-index:2}
.btn::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease)}
.btn:hover::before{transform:translateY(0)}
.btn--gold{background:var(--oro);color:#0a0a0a}
.btn--gold::before{background:var(--bianco)}
.btn--ghost{border:1px solid rgba(220,220,224,.35);color:var(--bianco)}
.btn--ghost::before{background:var(--bianco)}
.btn--ghost:hover{color:#000}
.btn--dark-gold{background:#0a0a0a;color:var(--oro)}
.btn--dark-gold::before{background:var(--bianco)}
.btn--dark-gold:hover{color:#000}
.btn--neon{background:var(--neon);color:#000;box-shadow:0 0 40px rgba(232,245,38,.35)}
.btn--neon::before{background:#fff}
.btn--sm{padding:12px 22px}
.btn--wide{width:100%;padding:20px}

/* ---------- apertura ---------- */
.preloader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none}
.pre-panel{position:absolute;left:0;right:0;height:50.5%;background:var(--nero);z-index:0}
.pre-panel--top{top:0}.pre-panel--bottom{bottom:0}
.pre-logo{position:relative;z-index:2;width:min(260px,52vw);clip-path:inset(100% 0 0 0)}
.pre-logo img{width:100%}
.pre-bar{position:absolute;z-index:2;left:50%;top:calc(50% + min(130px,26vw));width:min(260px,52vw);height:1px;background:rgba(255,255,255,.1);transform:translateX(-50%)}
.pre-bar span{display:block;height:100%;width:0;background:var(--oro)}
.pre-meta{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:clamp(24px,5vh,48px);display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--argento2)}
.pre-count{font-family:var(--cond);font-size:clamp(48px,8vw,110px);letter-spacing:.02em;color:var(--bianco);line-height:.8}
.flash{position:fixed;inset:0;z-index:999;background:radial-gradient(circle at 50% 40%,#fffde8,rgba(232,245,38,.5) 40%,transparent 75%);opacity:0;pointer-events:none;mix-blend-mode:screen}

/* ---------- telo fra le pagine ---------- */
.telo{position:fixed;inset:0;z-index:980;visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(ellipse at 50% 60%,#151515,#070707 65%)}
.telo-vene{position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(115deg,transparent 0 140px,rgba(235,230,219,.18) 141px,transparent 143px),repeating-linear-gradient(28deg,transparent 0 220px,rgba(220,220,224,.08) 221px,transparent 222px)}
.telo img{position:relative;width:min(170px,40vw)}
.telo-label{position:relative;font-family:var(--cond);font-size:clamp(40px,6vw,80px);line-height:1;color:var(--oro);letter-spacing:.04em}
.scroll-line{position:fixed;top:0;left:0;right:0;height:2px;z-index:620;pointer-events:none}
.scroll-line span{display:block;height:100%;background:linear-gradient(90deg,var(--oro),var(--accento));transform-origin:left;transform:scaleX(0)}

/* ---------- cursore ---------- */
.cursor,.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:990;border-radius:50%;opacity:0;transition:opacity .3s}
.cur-on .cursor,.cur-on .cursor-dot{opacity:1}
.cursor{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(235,230,219,.7);display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .4s,border-color .4s,opacity .3s}
.cursor-label{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .3s}
.cursor.is-label{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--oro);border-color:var(--oro)}
.cursor.is-label .cursor-label{opacity:1}
.cursor.is-hover{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(235,230,219,.12)}
.cursor-dot{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:var(--oro)}
@media (hover:none),(pointer:coarse){.cursor,.cursor-dot{display:none}}
@media (hover:hover) and (pointer:fine){body,a,button,label,summary{cursor:none}}

.grain{position:fixed;inset:-50%;z-index:800;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-2%,4%)}80%{transform:translate(5%,1%)}100%{transform:translate(0,0)}}

/* ---------- barra in alto ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:600;display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad);transition:transform .6s var(--ease),background .4s,padding .4s}
.nav.is-scrolled{background:linear-gradient(to bottom,rgba(6,6,6,.92),rgba(6,6,6,0));padding-top:12px;padding-bottom:12px}
.nav.is-hidden{transform:translateY(-110%)}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo img{height:34px;width:auto}
.nav-logo span{font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;line-height:1.35;color:var(--bianco)}
.nav-links{display:flex;gap:clamp(18px,2.6vw,44px)}
.nav-links a{position:relative;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--argento);padding:6px 0}
.nav-links a::before{content:attr(data-n);position:absolute;top:-8px;right:-16px;font-size:8px;color:var(--oro);opacity:0;transition:opacity .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--oro);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.nav-links a:hover::before,.nav-links a[aria-current]::before{opacity:1}
.nav-links a[aria-current]{color:var(--bianco)}
.nav-right{display:flex;align-items:center;gap:16px}
.sound{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--argento2);padding:8px 0}
.sound-bars{display:flex;align-items:flex-end;gap:2px;height:14px}
.sound-bars i{width:2px;height:3px;background:currentColor;transition:height .08s}
.sound[aria-pressed="true"]{color:var(--oro)}
.sound.is-pending{color:var(--oro);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4}}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1px;background:var(--bianco);transition:transform .4s var(--ease)}
.burger span:first-child{top:18px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:590;display:flex;flex-direction:column;justify-content:center;padding:90px var(--pad) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease);background:radial-gradient(ellipse at 70% 30%,#151516,var(--nero2) 60%);overflow:auto}
.menu.is-open{clip-path:inset(0 0 0 0)}
.menu-links{display:flex;flex-direction:column;gap:2px}
.menu-links a{font-family:var(--cond);font-size:clamp(50px,13vw,96px);line-height:1;color:var(--bianco);display:flex;align-items:baseline;gap:14px;overflow:hidden}
.menu-links small{font-family:var(--sans);font-size:11px;color:var(--oro);letter-spacing:.2em}
.menu-foot{margin-top:40px;display:flex;gap:28px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--oro)}

/* ---------- barra del telefono ---------- */
.bottom-bar{display:none}

/* =========================================================
   HOME — HERO
   ========================================================= */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;align-items:center}
.hero-canvas,.bolt-canvas{position:absolute;inset:0;width:100%;height:100%}
.hero-canvas.no-gl{background:radial-gradient(ellipse at 50% 40%,#1b1a18,#060606 70%)}
.bolt-canvas{z-index:3;pointer-events:none}
.hero-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,6,6,.82) 0,rgba(6,6,6,.35) 48%,transparent 70%),linear-gradient(to bottom,rgba(6,6,6,.5),transparent 25%,transparent 75%,var(--nero))}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,60px);align-items:center;padding-top:110px;padding-bottom:90px}
.hero-title{font-family:var(--sans);font-weight:500;line-height:1;text-transform:uppercase;margin-bottom:28px}
.ht-row{display:block;font-size:clamp(44px,6.2vw,104px);letter-spacing:.2em;margin-right:-.2em;white-space:nowrap}
.ht-row+.ht-row{margin-top:.12em}
.ht-sub{display:flex;align-items:center;gap:.9em;margin-top:22px;max-width:calc(9 * .2em + 9ch);font-family:var(--sans);font-weight:600;font-size:clamp(15px,1.7vw,28px);line-height:1;letter-spacing:.32em;text-transform:uppercase;color:var(--accento);white-space:nowrap}
.ht-sub::before,.ht-sub::after{content:"";flex:1;min-width:24px;height:3px;background:currentColor;clip-path:polygon(0 50%,100% 0,100% 100%)}
.ht-sub::after{clip-path:polygon(0 0,100% 50%,0 100%)}
.ht-outline{position:relative;color:transparent;-webkit-text-stroke:1.5px rgba(220,220,224,.75)}
.ht-fill{position:absolute;left:0;top:0;color:transparent;-webkit-text-stroke:0;background:linear-gradient(100deg,#ffffff,var(--accento) 40%,#c8d41c 60%,#ffffff);-webkit-background-clip:text;background-clip:text;
  -webkit-mask-image:radial-gradient(240px circle at var(--tx,-500px) var(--ty,-500px),#000 50%,transparent 75%);mask-image:radial-gradient(240px circle at var(--tx,-500px) var(--ty,-500px),#000 50%,transparent 75%)}
.ht-solid{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6))}
.hero-desc{max-width:46ch;font-size:clamp(15px,1.15vw,18px);color:var(--argento)}
.hero-desc b{color:var(--accento);font-weight:500}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-stats{display:flex;gap:clamp(24px,4vw,56px);margin-top:clamp(30px,5vh,56px);padding-top:22px;border-top:1px solid var(--line);max-width:620px}
.hero-stats div{display:flex;align-items:center;gap:12px}
.hero-stats b{font-family:var(--cond);font-weight:400;font-size:clamp(34px,3.4vw,52px);line-height:.85;color:var(--bianco)}
.hero-stats span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--argento2);line-height:1.5;max-width:12ch}
.hero-side{position:relative;display:flex;flex-direction:column;align-items:center}
.hero-logo{position:relative;width:clamp(200px,26vw,430px);aspect-ratio:1400/889;transform-style:preserve-3d;will-change:transform}
.beat .hero-logo{filter:drop-shadow(0 0 22px rgba(235,230,219,.45))}
.hero-logo-img{width:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7))}
.hero-logo-shine{position:absolute;inset:0;-webkit-mask:url(../img/logo-vr.png) center/100% 100% no-repeat;mask:url(../img/logo-vr.png) center/100% 100% no-repeat;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.85) 48%,rgba(235,230,219,.7) 52%,transparent 65%);background-size:300% 100%;background-position:var(--shine,50%) 0;mix-blend-mode:screen;opacity:.75;pointer-events:none}
.q-card{position:relative;margin-top:-6px;width:min(360px,100%);padding:20px 22px 18px;border-radius:16px;background:rgba(12,12,13,.78);border:1px solid rgba(235,230,219,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px rgba(0,0,0,.55);transition:transform .6s var(--ease)}
.q-step{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--oro)}
.q-step i{flex:1;height:1px;background:linear-gradient(90deg,var(--oro) 20%,var(--line) 20%)}
.q-title{margin:10px 0 14px;font-family:var(--cond);font-size:32px;line-height:.95;color:var(--bianco)}
.q-chips{display:flex;flex-wrap:wrap;gap:7px}
.q-chips a{display:flex;flex-direction:column;gap:2px;padding:9px 14px;border:1px solid var(--line);border-radius:14px;font-size:11px;font-weight:500;color:var(--argento);transition:all .3s}
.q-chips a b{font-weight:600;color:var(--bianco);font-size:12px}
.q-chips a small{font-size:10px;color:var(--argento3);transition:color .3s}
.q-chips a:hover b,.q-chips a:hover small{color:#000}
.q-chips a:hover{background:var(--oro);border-color:var(--oro);color:#000}
.q-note{margin-top:14px;font-size:11px;color:var(--argento3)}
.hero-hint{position:absolute;z-index:2;right:var(--pad);bottom:clamp(20px,4vh,40px);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--argento2)}
.hero-hint svg{width:12px;height:12px;fill:var(--oro);vertical-align:-1px}
.scroll-hint{position:absolute;z-index:2;left:50%;bottom:clamp(14px,3vh,30px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--argento2)}
.scroll-hint i{width:1px;height:50px;background:linear-gradient(var(--oro),transparent);animation:drip 2s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* ---------- nastri ---------- */
.nastri{position:relative;height:clamp(170px,20vw,260px);overflow:hidden;display:grid;align-items:center}
.nastro{position:absolute;left:-6%;right:-6%;top:50%;margin-top:-.9em;display:flex;overflow:hidden;font-family:var(--cond);font-size:clamp(32px,4.4vw,62px);line-height:1;padding:.32em 0;white-space:nowrap}
.nastro--oro{background:var(--oro);color:#0a0a0a;transform:rotate(-3deg);z-index:2;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.nastro--nero{background:#0e0e0f;color:transparent;-webkit-text-stroke:1px var(--argento);border-top:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(2.4deg)}
.traccia{display:flex;align-items:center;gap:.5em;padding-right:.5em;flex:0 0 auto;animation:marqT 26s linear infinite}
.nastro--nero .traccia{animation-direction:reverse;animation-duration:32s}
.traccia i{font-style:normal;font-size:.6em;-webkit-text-stroke:0;color:var(--oro)}
.nastro--oro .traccia i{color:#0a0a0a}
@keyframes marqT{to{transform:translateX(-100%)}}
.nastri--clubs{margin-top:-20px}

/* ---------- chi è ---------- */
.who{padding:clamp(90px,14vh,170px) 0;overflow-x:clip}
.who-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,6vw,110px);align-items:center}
.who-fig{position:relative;padding:12% 0}
.who-word{position:absolute;left:-10%;right:-10%;text-align:center;font-family:var(--cond);font-size:clamp(90px,12vw,210px);line-height:.8;white-space:nowrap;z-index:0;pointer-events:none}
.who-word--a{top:0;color:transparent;-webkit-text-stroke:1px rgba(220,220,224,.35)}
.who-word--b{bottom:0;color:var(--oro);z-index:2;mix-blend-mode:difference}
.who-photo{position:relative;z-index:1;width:76%;margin:0 auto;aspect-ratio:4/5;overflow:hidden;border-radius:14px}
.who-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.who-text .lead{margin:26px 0 30px}
.storia{position:relative;list-style:none;padding-left:36px;max-width:520px}
.storia-line{position:absolute;left:6px;top:14px;bottom:14px;width:1px;background:var(--line)}
.storia-line i{position:absolute;inset:0;background:var(--accento);transform-origin:top;transform:scaleY(0)}
.storia li{position:relative;padding:11px 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.storia li::before{content:"";position:absolute;left:-36px;top:20px;width:13px;height:13px;border-radius:50%;border:1px solid var(--argento3);background:var(--nero);transition:all .4s}
.storia b{font-family:var(--cond);font-weight:400;font-size:clamp(24px,2.2vw,32px);line-height:1;color:var(--argento3);transition:color .4s}
.storia span{font-size:13px;color:var(--argento3);transition:color .4s}
.storia li.is-lit::before{background:var(--accento);border-color:var(--accento);box-shadow:0 0 14px rgba(232,245,38,.7)}
.storia li.is-lit b{color:var(--bianco)}
.storia li.is-lit span{color:var(--argento2)}

/* ---------- elenchi con immagine che segue ---------- */
.styles,.roster{padding:clamp(80px,12vh,150px) 0}
.hover-list{list-style:none;border-top:1px solid var(--line)}
.hover-list li{border-bottom:1px solid var(--line)}
.hover-list a,.hover-list button{display:grid;grid-template-columns:64px minmax(0,1.3fr) minmax(0,1fr) 56px;align-items:center;gap:20px;width:100%;padding:24px 0;text-align:left}
.hl-n{font-size:11px;letter-spacing:.2em;color:var(--oro)}
.hl-name{font-family:var(--cond);font-size:clamp(44px,6.4vw,104px);line-height:.88;color:var(--bianco);transition:transform .6s var(--ease),color .4s}
.hl-name small{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.5vw,22px);color:var(--oro);line-height:1.1}
.hl-desc{font-size:14px;color:var(--argento2);max-width:40ch}
.hl-desc b{color:var(--oro);font-weight:500}
.hl-arrow{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;color:var(--bianco);transition:all .5s var(--ease)}
.hover-list a:hover .hl-name,.hover-list button:hover .hl-name{transform:translateX(22px);color:var(--oro)}
.hover-list a:hover .hl-arrow,.hover-list button:hover .hl-arrow{background:var(--oro);border-color:var(--oro);color:#000;transform:rotate(-45deg)}
.hl-thumb{display:none}
.hero-figure{display:none}
.float-img{position:fixed;left:0;top:0;z-index:450;width:clamp(220px,20vw,300px);aspect-ratio:4/5;pointer-events:none;border-radius:12px;overflow:hidden;clip-path:inset(50% 50% 50% 50% round 12px);transition:clip-path .6s var(--ease);box-shadow:0 30px 70px rgba(0,0,0,.7)}
.float-img.is-on{clip-path:inset(0 0 0 0 round 12px)}
.float-img img{width:100%;height:100%;object-fit:cover}

/* ---------- card dei calciatori ---------- */
.card{position:relative;flex:0 0 auto;width:max(250px,min(30vw,calc(68vh * 5 / 7.2),440px));aspect-ratio:5/7.2;perspective:1100px;
  --shield:polygon(0 7%,7% 2.6%,39% 2.6%,45% 0,55% 0,61% 2.6%,93% 2.6%,100% 7%,100% 85%,95.5% 91.5%,61% 97.4%,50% 100%,39% 97.4%,4.5% 91.5%,0 85%);
  filter:drop-shadow(0 0 10px rgba(70,150,255,.4)) drop-shadow(0 0 22px rgba(255,190,70,.18)) drop-shadow(0 28px 34px rgba(0,0,0,.6));transition:filter .5s}
.card:hover{filter:drop-shadow(0 0 16px rgba(90,170,255,.7)) drop-shadow(0 0 30px rgba(255,196,80,.35)) drop-shadow(0 34px 40px rgba(0,0,0,.7))}
/* figurina: cornice luminosa oro/blu a scudo, giocatore fuso nello sfondo */
/* la card ha due facce: davanti la figurina, dietro il tatuaggio; al clic gira */
.card{--shape:var(--shield)}
.card-inner{position:absolute;inset:0;container-type:size;transform-style:preserve-3d;transition:transform .5s var(--ease)}
.card-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.75,.15,1.15)}
.card.is-flipped .card-flip{transform:rotateY(180deg)}
.face{position:absolute;inset:0;clip-path:var(--shape);-webkit-backface-visibility:hidden;backface-visibility:hidden;
  background:linear-gradient(165deg,#fff1bf 0%,#e0aa3e 18%,#7a5310 34%,#1d5fe0 56%,#9fd8ff 74%,#2c7bff 88%,#0e2f8f 100%)}
.face--back{transform:rotateY(180deg)}
.fig-face,.back-face{position:absolute;inset:2.2cqw;clip-path:var(--shape);overflow:hidden;background:#04060c}
.back-face>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.card.is-flipped .back-face>img{transform:scale(1)}
.back-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,4,10,.95) 0,rgba(2,4,10,.55) 30%,transparent 55%),linear-gradient(to bottom,rgba(2,4,10,.7),transparent 24%)}
.back-k{position:absolute;left:0;right:0;top:9%;text-align:center;font-size:3cqw;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#f1c75f}
.back-info{position:absolute;left:9%;right:9%;bottom:12%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.6cqw}
.back-name{font-family:var(--cond);font-size:13cqw;line-height:.86;color:#fff;text-shadow:0 0 3cqw rgba(90,170,255,.55)}
.back-meta{font-size:2.8cqw;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#9fd4ff}
.back-story{margin-top:1.4cqw;padding:2.4cqw 5cqw;border-radius:999px;background:linear-gradient(90deg,#f6d27a,#c8912c);color:#140d02;font-size:3cqw;font-weight:700;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 0 3cqw rgba(255,196,80,.45);transition:transform .3s var(--ease)}
.back-story:hover{transform:scale(1.06)}
.fig-bg{position:absolute;inset:0;background:
  radial-gradient(60% 45% at 12% 24%,rgba(255,186,48,.8),transparent 70%),linear-gradient(118deg,transparent 30%,rgba(255,210,120,.18) 38%,transparent 46%),
  radial-gradient(75% 60% at 90% 28%,rgba(30,120,255,.9),transparent 72%),
  radial-gradient(55% 35% at 55% 72%,rgba(110,185,255,.32),transparent 70%),
  linear-gradient(180deg,#0b1328 0%,#060a16 55%,#020308 100%)}
.fig-bg::before{content:"";position:absolute;inset:0;mix-blend-mode:screen;opacity:.55;background:
  repeating-conic-gradient(from 8deg at 22% 34%,rgba(255,206,110,.16) 0 1.6deg,transparent 1.6deg 13deg),
  repeating-conic-gradient(from 0deg at 82% 40%,rgba(120,190,255,.14) 0 1.2deg,transparent 1.2deg 9deg);
  -webkit-mask:radial-gradient(75% 60% at 50% 40%,#000 30%,transparent 80%);mask:radial-gradient(75% 60% at 50% 40%,#000 30%,transparent 80%)}
.fig-bg::after{content:"";position:absolute;inset:0;opacity:.85;background:
  radial-gradient(circle at 8% 78%,rgba(255,214,130,.9) 0 .5cqw,transparent .9cqw),radial-gradient(circle at 15% 88%,rgba(255,214,130,.6) 0 .8cqw,transparent 1.4cqw),
  radial-gradient(circle at 90% 70%,rgba(150,210,255,.8) 0 .6cqw,transparent 1cqw),radial-gradient(circle at 80% 86%,rgba(150,210,255,.5) 0 1cqw,transparent 1.8cqw),
  radial-gradient(circle at 70% 12%,rgba(255,255,255,.7) 0 .4cqw,transparent .8cqw),radial-gradient(circle at 30% 8%,rgba(255,220,150,.6) 0 .5cqw,transparent 1cqw)}
.fig-bolts{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round;mix-blend-mode:screen;filter:drop-shadow(0 0 1.2cqw rgba(120,190,255,.9));animation:figFlicker 3.6s steps(1) infinite}
@keyframes figFlicker{0%,100%{opacity:.75}8%{opacity:.35}10%{opacity:.95}46%{opacity:.6}48%{opacity:1}72%{opacity:.7}}
.fig-ghost{position:absolute;right:-16%;top:3%;width:88%;height:62%;mix-blend-mode:screen;opacity:.72;
  -webkit-mask:radial-gradient(60% 62% at 55% 40%,#000 35%,transparent 78%);mask:radial-gradient(60% 62% at 55% 40%,#000 35%,transparent 78%)}
.fig-ghost img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transform:scale(1.5);transform-origin:50% 0;filter:grayscale(1) contrast(1.35) brightness(1.15) sepia(.25) hue-rotate(185deg) saturate(2.2)}
.card-cut{position:absolute;left:58%;bottom:7%;height:76%;width:auto;max-width:92%;object-fit:contain;object-position:bottom;transform:translateX(-50%);transition:transform 1s var(--ease);
  filter:drop-shadow(0 0 1.4cqw rgba(110,185,255,.55)) drop-shadow(0 0 .4cqw rgba(255,214,140,.5)) drop-shadow(0 3cqw 4cqw rgba(0,0,0,.6));
  -webkit-mask:linear-gradient(to top,transparent 0,#000 24%);mask:linear-gradient(to top,transparent 0,#000 24%)}
.card:hover .card-cut{transform:translateX(-50%) scale(1.05)}
.fig-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,4,10,.96) 0,rgba(2,4,10,.7) 20%,transparent 46%),linear-gradient(90deg,rgba(2,4,10,.55),transparent 42%)}
.fig-left{position:absolute;left:9%;top:9.5%;display:flex;flex-direction:column;align-items:center;gap:1.6cqw;z-index:2}
.fig-rank{font-family:var(--cond);font-size:21cqw;line-height:.78;background:linear-gradient(180deg,#fff6d4 0%,#f1c75f 45%,#a7701a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 .5cqw 1cqw rgba(0,0,0,.6))}
.fig-pos{font-family:var(--cond);font-size:8.5cqw;line-height:.8;color:#fff;letter-spacing:.04em;padding-bottom:1.6cqw;border-bottom:1px solid rgba(241,199,95,.6)}
.fig-flag{width:12.5cqw;height:auto;border-radius:.6cqw;box-shadow:0 0 0 .3cqw rgba(255,255,255,.18),0 1cqw 2cqw rgba(0,0,0,.5)}
.fig-club{width:13cqw;filter:drop-shadow(0 0 1.2cqw rgba(255,206,110,.6))}
.fig-badge{position:absolute;right:8%;top:9.5%;z-index:2;max-width:42%;padding:1.2cqw 2.4cqw;border-radius:999px;background:linear-gradient(90deg,#f6d27a,#c8912c);color:#140d02;font-size:2.7cqw;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;line-height:1.25;box-shadow:0 0 2cqw rgba(255,196,80,.5)}
.fig-info{position:absolute;left:9%;right:9%;bottom:11.5%;z-index:2}
.fig-first{font-family:var(--serif);font-style:italic;font-size:6.4cqw;line-height:1;color:#f1c75f}
.fig-name{font-family:var(--cond);font-weight:400;font-size:min(14cqw,calc(150cqw / var(--len)));line-height:.86;color:#fff;margin-top:.6cqw;text-shadow:0 0 3cqw rgba(90,170,255,.55),0 .6cqw 1.2cqw rgba(0,0,0,.8)}
.fig-stats{list-style:none;display:flex;gap:4cqw;margin-top:2.4cqw;padding-top:2.2cqw;border-top:1px solid rgba(241,199,95,.45)}
.fig-stats li{display:flex;align-items:baseline;gap:1.4cqw}
.fig-stats b{font-family:var(--cond);font-weight:400;font-size:8cqw;line-height:.8;color:#fff3cc}
.fig-stats span{font-size:2.6cqw;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#9fd4ff}
.fig-sign{position:absolute;right:5%;bottom:37%;width:31%;aspect-ratio:1100/473;z-index:2;opacity:.85;background:linear-gradient(100deg,#fff1bf,#e0aa3e 60%,#b07a1e);
  -webkit-mask:url(../img/firma.png) center/contain no-repeat;mask:url(../img/firma.png) center/contain no-repeat;transform:rotate(-8deg)}
.card-holo{position:absolute;inset:0;z-index:3;mix-blend-mode:color-dodge;opacity:0;transition:opacity .4s;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.45) 38%,rgba(150,220,255,.35) 46%,rgba(255,150,230,.3) 54%,transparent 72%);background-size:250% 250%;background-position:var(--hx,50%) var(--hy,50%)}
.card:hover .card-holo{opacity:.75}
/* figurina-immagine: scudo ritagliato sul contorno della grafica (1060×1484) */
.card--img{--shape:polygon(4.2% 10.6%,37.5% 1.2%,44% 1.2%,50% 0,56% 1.2%,62.5% 1.2%,95.8% 10.6%,95.8% 37.2%,98.6% 41.3%,98.6% 84.2%,53.2% 98.6%,50% 100%,46.8% 98.6%,1.4% 84.2%,1.4% 41.3%,4.2% 37.2%)}
.card--img .face--front{background:none}
.fig-full{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}

/* ---------- il palco (home) ---------- */
.palco-pin{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:90px 0 40px}
.palco-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(26px,4vh,46px)}
.palco-track{display:flex;gap:clamp(16px,2vw,28px);padding:0 var(--pad);width:max-content;will-change:transform}
.palco-track .card{width:clamp(230px,21vw,320px)}
.palco-intro{position:relative;flex:0 0 auto;width:clamp(280px,28vw,420px);border-radius:18px;overflow:hidden;background:var(--oro);color:#0a0a0a;padding:clamp(24px,2.6vw,38px);display:flex;flex-direction:column;justify-content:flex-end;gap:16px}
.palco-intro canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:multiply;opacity:.35}
.palco-intro>*:not(canvas){position:relative}
.palco-intro .eyebrow{color:#0a0a0a;margin:0}
.palco-intro h3{font-family:var(--cond);font-weight:400;font-size:clamp(46px,4.4vw,72px);line-height:.88}
.palco-intro p{font-size:14px;line-height:1.55;max-width:34ch}
.palco-intro .btn{align-self:flex-start}
.palco-more{flex:0 0 auto;width:clamp(220px,18vw,280px);border-radius:18px;border:1px dashed rgba(235,230,219,.5);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:30px;transition:background .5s}
.palco-more span{font-family:var(--cond);font-size:110px;line-height:.8;color:var(--oro)}
.palco-more b{font-family:var(--cond);font-weight:400;font-size:36px;line-height:.95;color:var(--bianco)}
.palco-more i{font-style:normal;width:52px;height:52px;border-radius:50%;border:1px solid var(--oro);display:grid;place-items:center;color:var(--oro);transition:all .5s var(--ease)}
.palco-more:hover{background:rgba(235,230,219,.08)}
.palco-more:hover i{background:var(--oro);color:#000;transform:rotate(-45deg)}

/* ---------- confronto stencil / pelle ---------- */
.stencil{padding:clamp(90px,14vh,170px) 0;background:linear-gradient(var(--nero),var(--nero2) 50%,var(--nero))}
.stencil-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,6vw,110px);align-items:center}
.compare{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;touch-action:pan-y;user-select:none;box-shadow:0 40px 90px rgba(0,0,0,.6);background:#111}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.cmp-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
.cmp-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--oro);box-shadow:0 0 18px rgba(235,230,219,.7);pointer-events:none}
.cmp-handle span{position:absolute;top:50%;left:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--oro);color:#000;display:grid;place-items:center;font-weight:700;letter-spacing:.1em;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.cmp-tag{position:absolute;top:16px;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.6);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--bianco);backdrop-filter:blur(6px)}
.cmp-tag--l{left:16px;background:rgba(75,56,180,.8)}.cmp-tag--r{right:16px}
.stencil-text .lead{margin:26px 0 30px}
.cmp-tabs,.filters{display:flex;flex-wrap:wrap;gap:8px}
.cmp-tabs button,.filter{padding:11px 18px;border:1px solid var(--line);border-radius:999px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--argento2);transition:all .4s var(--ease)}
.cmp-tabs button:hover,.filter:hover{color:var(--bianco);border-color:rgba(255,255,255,.4)}
.cmp-tabs button.is-active,.filter.is-active{background:var(--oro);border-color:var(--oro);color:#000}

/* ---------- la voce ---------- */
.voice{padding:clamp(100px,16vh,190px) 0;text-align:center}
.voice-text{font-family:var(--cond);font-size:clamp(46px,6.6vw,116px);line-height:.95;text-transform:uppercase;max-width:15ch;margin:0 auto}
.voice-text .w{color:#26262a;transition:color .35s}
.voice-text .w.is-lit{color:var(--bianco)}
.voice-text .w.is-lit.is-gold{color:var(--oro)}
.voice-by{display:inline-flex;align-items:center;gap:14px;margin-top:40px;text-align:left;font-size:13px;color:var(--argento2)}
.voice-by img{width:50px}
.voice-by b{color:var(--bianco);font-weight:500}

/* ---------- aghi + scatola 3D ---------- */
.needles{position:relative;padding:clamp(100px,15vh,180px) 0;overflow:hidden;background:#050505}
.needles-glow{position:absolute;width:70vw;height:70vw;left:-15vw;top:5%;background:radial-gradient(circle,rgba(232,245,38,.15),transparent 60%);pointer-events:none}
.needles-grid{position:relative;display:grid;grid-template-columns:6fr 5fr;gap:clamp(30px,6vw,100px);align-items:center}
.box-stage{--bw:clamp(250px,30vw,460px);--bh:calc(var(--bw) * .65);--bd:calc(var(--bw) * .11);position:relative;height:calc(var(--bw) * 1.15);display:grid;place-items:center;perspective:1400px;touch-action:pan-y;user-select:none}
.box-stage::after{content:"";position:absolute;left:15%;right:15%;bottom:6%;height:40px;border-radius:50%;background:radial-gradient(rgba(232,245,38,.25),transparent 70%);filter:blur(12px)}
.box3d{position:relative;width:var(--bw);height:var(--bh);transform-style:preserve-3d;transform:rotateX(-14deg) rotateY(-28deg)}
.bf{position:absolute;left:50%;top:50%;overflow:hidden;background:#0c0c0d;border:1px solid rgba(255,255,255,.06)}
.bf-front,.bf-back{width:var(--bw);height:var(--bh);margin:calc(var(--bh) / -2) 0 0 calc(var(--bw) / -2)}
.bf-front{transform:translateZ(calc(var(--bd) / 2));background:radial-gradient(ellipse at 30% 30%,#1a1a1c,#08080a 70%);display:flex;align-items:center;gap:6%;padding:0 7%}
.bf-back{transform:rotateY(180deg) translateZ(calc(var(--bd) / 2))}
.bf-back img{width:100%;height:100%;object-fit:cover}
.bf-right,.bf-left{width:var(--bd);height:var(--bh);margin:calc(var(--bh) / -2) 0 0 calc(var(--bd) / -2);display:grid;place-items:center;background:#08080a}
.bf-right{transform:rotateY(90deg) translateZ(calc(var(--bw) / 2))}
.bf-left{transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2))}
.bf-right span,.bf-left span{writing-mode:vertical-rl;font-family:var(--cond);font-size:calc(var(--bd) * .5);color:var(--oro);letter-spacing:.1em}
.bf-top,.bf-bottom{width:var(--bw);height:var(--bd);margin:calc(var(--bd) / -2) 0 0 calc(var(--bw) / -2);background:#0a0a0b}
.bf-top{transform:rotateX(90deg) translateZ(calc(var(--bh) / 2))}
.bf-bottom{transform:rotateX(-90deg) translateZ(calc(var(--bh) / 2))}
.bf-logo{width:40%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.8))}
.bf-txt{display:flex;flex-direction:column;gap:6px}
.bf-txt b{font-weight:300;font-size:calc(var(--bw) * .036);letter-spacing:.42em;text-transform:uppercase;color:var(--bianco)}
.bf-txt span{font-weight:700;font-size:calc(var(--bw) * .03);letter-spacing:.24em;text-transform:uppercase;color:var(--neon)}
.bf-front small{position:absolute;left:7%;bottom:8%;font-size:calc(var(--bw) * .022);letter-spacing:.3em;color:var(--oro)}
.box-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--argento3)}
.needles-title{font-family:var(--cond);font-weight:400;font-size:clamp(66px,8vw,140px);line-height:.85;text-transform:uppercase;color:var(--bianco)}
.needles-title span{color:var(--neon);text-shadow:0 0 40px rgba(232,245,38,.45)}
.needles-soon{margin:14px 0 22px;font-family:var(--serif);font-style:italic;font-size:clamp(30px,3vw,46px);color:var(--neon);line-height:1}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.chips li,.chip{padding:9px 14px;border:1px solid rgba(232,245,38,.35);border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--neon)}
.needles-motto{margin-bottom:28px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--argento2)}
.needles-motto b{color:var(--neon);font-weight:600}

/* =========================================================
   PAGINE INTERNE
   ========================================================= */
.page-head{position:relative;min-height:82vh;min-height:82svh;display:flex;align-items:flex-end;padding:160px 0 clamp(50px,8vh,90px);overflow:hidden}
.page-head-marble{position:absolute;inset:0;width:100%;height:100%;opacity:.8}
.page-head::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,6,6,.4),transparent 30%,rgba(6,6,6,.6) 75%,var(--nero));pointer-events:none}
.page-head .wrap{position:relative;z-index:1}
.ph-title{font-family:var(--cond);font-weight:400;line-height:.8;text-transform:uppercase;margin-bottom:clamp(26px,4vh,44px);overflow:hidden}
.ph-title>span{display:block;font-size:clamp(96px,17.5vw,320px);white-space:nowrap}
.ph-solid{color:var(--bianco)}
.ph-outline{color:transparent;-webkit-text-stroke:1.5px var(--oro);padding-left:8vw}
.ph-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.ph-stats{display:flex;gap:40px}
.ph-stats b{display:block;font-family:var(--cond);font-weight:400;font-size:clamp(50px,5vw,80px);line-height:.85;color:var(--bianco)}
.ph-stats span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--argento2)}

/* ---------- hall of fame ---------- */
.hall-pin{position:relative;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}
.hall-bgname{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-family:var(--cond);font-size:clamp(100px,19vw,330px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(220,220,224,.12);white-space:nowrap;pointer-events:none}
.hall-track{position:relative;display:flex;gap:clamp(22px,3vw,48px);padding:0 calc(50vw - max(125px,min(15vw,calc(34vh * 5 / 7.2),220px)));will-change:transform}
.hall-ui{position:absolute;left:0;right:0;bottom:clamp(22px,4vh,40px);display:flex;align-items:center;gap:28px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--argento2)}
.hall-counter b{font-family:var(--cond);font-weight:400;font-size:28px;color:var(--bianco)}
.hall-progress{flex:1;height:1px;background:var(--line);position:relative}
.hall-progress span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--oro)}
.hall-tip{white-space:nowrap}
.wall{padding:clamp(100px,15vh,180px) 0}
.wall-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,6vw,100px);align-items:center}
.wall-text .lead{margin:26px 0}
.wall-names{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px}
.wall-names li{font-family:var(--cond);font-size:26px;letter-spacing:.04em;color:var(--argento3);transition:color .3s}
.wall-names li:hover{color:var(--oro)}
.wall-photo{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:655/872}
.wall-photo img{width:100%;height:100%;object-fit:cover}
.lens{position:absolute;width:220px;height:220px;border-radius:50%;pointer-events:none;border:2px solid var(--oro);box-shadow:0 20px 60px rgba(0,0,0,.6);background-repeat:no-repeat;opacity:0;transform:scale(.6);transition:opacity .3s,transform .4s var(--ease)}
.wall-photo.is-zoom .lens{opacity:1;transform:scale(1)}
.press-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(30px,5vh,56px) 0}
.press-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 30px}
.press-k{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--argento3)}
.press-big{font-family:var(--cond);font-size:clamp(50px,7vw,110px);line-height:.9;color:var(--bianco)}
.press-big--o{color:transparent;-webkit-text-stroke:1px var(--oro)}
.press-small{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--oro)}
.press-dot{width:8px;height:8px;border-radius:50%;background:var(--oro)}

/* ---------- opere: galleria da trascinare ---------- */
.drag{position:relative;height:100vh;height:100svh;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;background:var(--nero)}
.drag.is-drag{cursor:grabbing}
.drag-plane{position:absolute;inset:0}
.tile{position:absolute;left:0;top:0;border-radius:10px;overflow:hidden;background:#111;will-change:transform}
.tile img{width:100%;height:100%;object-fit:cover;pointer-events:none;filter:grayscale(.35);transition:filter .5s}
.tile:hover img{filter:none}
.tile figcaption{position:absolute;left:12px;bottom:10px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bianco);text-shadow:0 2px 10px #000}
.drag-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;background:radial-gradient(ellipse at center,rgba(6,6,6,.55),transparent 60%)}
.drag-overlay .eyebrow{justify-content:center}
.drag-title{font-family:var(--cond);font-weight:400;font-size:clamp(110px,20vw,340px);line-height:.8;text-transform:uppercase;color:var(--bianco);overflow:hidden;mix-blend-mode:difference}
.drag-title>*{display:inline-block}
.drag-title em{font-style:normal;color:transparent;-webkit-text-stroke:2px #fff}
.drag-hint{margin-top:20px;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:rgba(0,0,0,.6);border:1px solid var(--line);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--bianco);backdrop-filter:blur(8px)}
.drag-ico{color:var(--oro);font-size:16px}
.drag-down{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--oro);padding:10px 18px;border:1px solid rgba(235,230,219,.4);border-radius:999px;background:rgba(0,0,0,.5)}
.works{padding:clamp(80px,12vh,150px) 0}
.works-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,6vh,70px)}
.works-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,24px);grid-auto-flow:dense}
.work{position:relative;overflow:hidden;border-radius:6px;background:#111;grid-column:span 4;aspect-ratio:4/5}
.work--tall{grid-row:span 2;aspect-ratio:auto}
.work img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.work:hover img{transform:scale(1.1)}
.work-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;justify-content:space-between;align-items:flex-end;gap:10px;transform:translateY(30%);opacity:0;transition:all .6s var(--ease)}
.work:hover .work-cap{transform:none;opacity:1}
.work-cap h3{font-family:var(--cond);font-weight:400;font-size:28px;color:var(--bianco);line-height:1}
.work-cap span{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);text-align:right}
.work.is-out{display:none}

/* ---------- studi ---------- */
.studios{padding:clamp(40px,6vh,80px) 0 clamp(80px,12vh,150px)}
.studios-acc{display:flex;gap:14px;height:clamp(540px,74vh,700px)}
.studio{position:relative;flex:1;min-width:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);transition:flex 1s var(--ease),border-color .5s;outline:none;background:#0c0c0d}
.studio.is-open{flex:3.2;border-color:rgba(235,230,219,.45)}
.studio-marble{position:absolute;left:0;top:0;width:var(--acc-w,100%);height:700px;max-width:none;opacity:.85;transition:transform 1.4s var(--ease)}
.studio:hover .studio-marble{transform:scale(1.04)}
.studio::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.2) 60%);pointer-events:none}
.studio-tab{position:absolute;z-index:2;left:28px;right:28px;top:28px;display:flex;flex-direction:column;gap:8px}
.studio-n{font-size:11px;letter-spacing:.3em;color:var(--oro)}
.studio h3{font-family:var(--cond);font-weight:400;font-size:clamp(46px,6.5vw,110px);line-height:.85;color:var(--bianco)}
.studio-coord{font-size:10px;letter-spacing:.24em;color:var(--argento2)}
.studio:not(.is-open) .studio-tab{top:auto;bottom:28px;left:22px}
.studio:not(.is-open) h3{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(46px,5vw,84px)}
.studio:not(.is-open) .studio-coord{display:none}
.studio-body{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .6s var(--ease);pointer-events:none}
.studio.is-open .studio-body{opacity:1;transform:none;transition-delay:.35s;pointer-events:auto}
.studio-live{display:inline-flex;align-items:center;gap:10px;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid var(--line);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--argento);margin-bottom:16px}
.studio-live i{width:8px;height:8px;border-radius:50%;background:var(--argento3)}
.is-open-now .studio-live i,.is-open-now .sp-live::before{background:#3ddc84!important;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:live 1.8s infinite}
@keyframes live{70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.studio-tag{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,28px);color:var(--oro);margin-bottom:16px}
.studio dl{display:grid;grid-template-columns:110px 1fr;gap:10px 18px;font-size:14px;margin-bottom:24px}
.studio dt{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--argento2);padding-top:3px}
.studio dd{color:var(--bianco)}
.studio dd a{border-bottom:1px solid rgba(235,230,219,.5)}
.studio-cta{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- metodo ---------- */
.method{padding:clamp(80px,12vh,150px) 0}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.method-media{position:sticky;top:110px;height:calc(100vh - 160px)}
.method-frame{position:relative;height:100%;border-radius:16px;overflow:hidden;background:#111}
.method-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
.method-frame img.is-on{opacity:1;transform:scale(1)}
.method-num{position:absolute;left:20px;bottom:6px;font-family:var(--cond);font-size:clamp(110px,12vw,200px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--oro);text-shadow:0 0 30px rgba(0,0,0,.6)}
.method-steps{list-style:none}
.method-steps li{min-height:62vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transition:opacity .6s}
.method-steps li.is-on{opacity:1}
.method-steps span{font-size:11px;letter-spacing:.3em;color:var(--oro)}
.method-steps h3{font-family:var(--cond);font-weight:400;font-size:clamp(46px,5vw,86px);line-height:.9;color:var(--bianco);margin:10px 0 16px}
.method-steps p{max-width:46ch;color:var(--argento2);font-size:clamp(15px,1.15vw,18px)}

/* ---------- domande ---------- */
.faq{padding:clamp(60px,10vh,130px) 0}
.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(30px,6vw,100px)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-size:clamp(18px,1.6vw,23px);color:var(--bianco);font-weight:300}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;width:20px;height:20px;flex:0 0 auto}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--oro);transition:transform .4s var(--ease)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details>div{overflow:hidden}
.faq details p{padding-bottom:26px;color:var(--argento2);max-width:60ch}

/* ---------- prenota ---------- */
.book{position:relative;min-height:100vh;padding:150px 0 110px;overflow:hidden}
.book-marble{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.book-grid{position:relative;display:grid;grid-template-columns:4fr 6fr;gap:clamp(36px,6vw,100px);align-items:start}
.book-title{font-family:var(--cond);font-weight:400;font-size:clamp(64px,8vw,130px);line-height:.85;text-transform:uppercase;color:var(--bianco)}
.book-title em{font-style:normal;color:var(--accento);text-shadow:0 0 34px rgba(232,245,38,.25)}
.book-side .lead{margin:24px 0 30px}
.book-steps{list-style:none;border-top:1px solid var(--line)}
.book-steps li{display:flex;align-items:baseline;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--cond);font-size:28px;line-height:1;color:var(--argento3);transition:color .4s}
.book-steps li span{font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:var(--argento3)}
.book-steps li em{margin-left:auto;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--oro);max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.book-steps li.is-avail{cursor:pointer;color:var(--argento2)}
.book-steps li.is-done span{color:var(--oro)}
.book-steps li.is-on{color:var(--bianco)}
.book-steps li.is-on span{color:var(--oro)}
.deck{position:relative;display:grid}
.dcard{grid-area:1/1;visibility:hidden;opacity:0;position:relative;z-index:2;padding:clamp(24px,3.4vw,46px);border-radius:22px;background:rgba(12,12,13,.92);border:1px solid rgba(235,230,219,.25);box-shadow:0 40px 90px rgba(0,0,0,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.dcard.is-on{visibility:visible;opacity:1}
.deck-ghost{grid-area:1/1;border-radius:22px;background:#111113;border:1px solid var(--line);z-index:1;transform:translateY(16px) scale(.96);opacity:.7}
.deck-ghost--2{transform:translateY(32px) scale(.92);opacity:.4}
.dc-k{font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--oro)}
.dcard h2{font-family:var(--cond);font-weight:400;font-size:clamp(42px,4.4vw,70px);line-height:.9;color:var(--bianco);margin:10px 0 26px}
.style-pick{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.style-pick button{position:relative;grid-column:span 2;aspect-ratio:4/5;border-radius:14px;overflow:hidden;border:1px solid var(--line);text-align:left;transition:border-color .3s,transform .4s var(--ease)}
.style-pick button:nth-child(n+4){grid-column:span 6;aspect-ratio:16/4.2}
.style-pick img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.5) brightness(.75);transition:transform 1s var(--ease),filter .5s}
.style-pick span{position:absolute;left:14px;bottom:12px;font-family:var(--cond);font-size:clamp(24px,2vw,32px);color:var(--bianco);text-shadow:0 2px 14px #000}
.style-pick button:hover img{transform:scale(1.08);filter:none}
.style-pick button.is-sel{border-color:var(--oro);box-shadow:0 0 0 2px var(--oro)}
.style-pick button.is-sel span::after{content:" ✓";color:var(--oro)}
.body-pick{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:28px;align-items:center}
.body-svg{width:100%;height:auto;overflow:visible}
.body-svg .zone{fill:rgba(220,220,224,.05);stroke:rgba(220,220,224,.5);stroke-width:1;cursor:pointer;transition:fill .3s,stroke .3s}
.body-svg .zone:hover{fill:rgba(235,230,219,.25);stroke:var(--oro)}
.body-svg .zone.is-sel{fill:rgba(235,230,219,.8);stroke:var(--oro)}
.body-svg .foot{fill:none;stroke:rgba(220,220,224,.3)}
.body-svg .inert{fill:none;stroke:rgba(220,220,224,.22);stroke-dasharray:2 3;pointer-events:none}
.body-tip{font-size:13px;line-height:1.5;color:var(--argento2);max-width:36ch;margin-top:14px}
/* dimensione: tre scelte con il cerchio che cresce */
.dim-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dim-pick button{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;padding:22px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:all .4s var(--ease)}
.dim-ico{display:grid;place-items:center;width:100%;aspect-ratio:1.6;margin-bottom:6px;border-radius:10px;background:repeating-linear-gradient(90deg,transparent 0 15px,rgba(220,220,224,.06) 15px 16px),repeating-linear-gradient(0deg,transparent 0 15px,rgba(220,220,224,.06) 15px 16px)}
.dim-ico::before{content:"";width:calc(var(--d) * 58%);aspect-ratio:1;border-radius:50%;border:1px dashed var(--oro);background:rgba(235,230,219,.1);transition:transform .6s var(--ease)}
.dim-pick b{font-family:var(--cond);font-weight:400;font-size:clamp(34px,3vw,46px);line-height:.9;color:var(--bianco)}
.dim-pick span{font-size:13px;line-height:1.45;color:var(--argento2)}
.dim-pick small{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accento)}
.dim-pick button:hover{border-color:rgba(235,230,219,.6);transform:translateY(-4px)}
.dim-pick button:hover .dim-ico::before{transform:scale(1.08)}
.dim-pick button.is-sel{border-color:var(--oro);box-shadow:0 0 0 2px var(--oro)}
.dim-pick button.is-sel b::after{content:" ✓";color:var(--oro)}
.body-svg.is-back .zone{stroke-dasharray:3 3}
.body-hover{display:block;font-family:var(--serif);font-style:italic;font-size:28px;color:var(--oro);margin:16px 0 12px;min-height:1.2em}
.chips--sel{margin:0 0 22px}
.chips--sel .chip{color:var(--oro);border-color:rgba(235,230,219,.45)}
.chip-empty{font-size:12px;color:var(--argento3)}
.size-pick{display:flex;flex-direction:column;gap:18px}
.size-vis{height:230px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(220,220,224,.06) 23px 24px),repeating-linear-gradient(0deg,transparent 0 23px,rgba(220,220,224,.06) 23px 24px)}
.size-box{--s:.18;width:calc(16% + var(--s) * 80%);height:calc(40px + var(--s) * 170px);border:1px dashed var(--oro);background:rgba(235,230,219,.12);border-radius:10px;display:grid;place-items:center;transition:width .25s var(--ease),height .25s var(--ease)}
.size-box span{font-family:var(--cond);font-size:clamp(28px,3vw,44px);color:var(--oro);white-space:nowrap}
.size-like{text-align:center;font-family:var(--serif);font-style:italic;font-size:26px;color:var(--bianco)}
.studio-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.studio-pick button{display:flex;flex-direction:column;gap:6px;text-align:left;padding:22px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:all .4s var(--ease)}
.studio-pick b{font-family:var(--cond);font-weight:400;font-size:clamp(34px,3vw,46px);line-height:.9;color:var(--bianco)}
.studio-pick span{font-size:13px;color:var(--argento2)}
.studio-pick small{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--argento3)}
.studio-pick .sp-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--argento3)}
.studio-pick button:hover{border-color:rgba(235,230,219,.6);transform:translateY(-4px)}
.studio-pick button.is-sel{background:var(--oro);border-color:var(--oro)}
.studio-pick button.is-sel b,.studio-pick button.is-sel span,.studio-pick button.is-sel small{color:#000}
.book-form{display:flex;flex-direction:column;gap:24px}
.field{border:0;display:flex;flex-direction:column;gap:12px}
.field label,.field legend{font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--argento2)}
.field legend{margin-bottom:12px}
.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(220,220,224,.25);padding:10px 0;font:inherit;font-size:18px;color:var(--bianco);outline:none;transition:border-color .3s;resize:vertical;border-radius:0}
.field input[type=text]:focus,.field input[type=tel]:focus,.field input[type=email]:focus,.field textarea:focus{border-color:var(--oro)}
.field input::placeholder,.field textarea::placeholder{color:var(--argento3)}
.field.is-error input{border-color:#e05a4a}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg--mini{display:inline-grid;grid-template-columns:repeat(2,auto)}
.seg label{position:relative;display:block}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:12px 14px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--argento);cursor:pointer;transition:all .3s}
.seg input:checked+span{background:var(--oro);border-color:var(--oro);color:#000}
.seg input:focus-visible+span{outline:2px solid var(--oro);outline-offset:2px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(to right,var(--oro) var(--p,18%),rgba(220,220,224,.2) var(--p,18%));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--oro);border:5px solid #0a0a0a;box-shadow:0 0 0 1px var(--oro)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--oro);border:4px solid #0a0a0a}
.range-scale{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--argento3)}
.sum{display:grid;grid-template-columns:110px 1fr;gap:10px 18px;margin-bottom:20px}
.sum dt{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--argento2);padding-top:4px}
.sum dd{color:var(--bianco);font-size:16px}
.sum-msg{white-space:pre-wrap;font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--argento2);background:rgba(0,0,0,.5);border:1px solid var(--line);border-radius:12px;padding:16px;max-height:170px;overflow:auto;margin-bottom:22px}
.sum-btns{display:flex;flex-wrap:wrap;gap:10px}
.form-note{margin-top:14px;font-size:12px;color:var(--argento3)}
.deck-nav{grid-area:2/1;display:flex;align-items:center;gap:18px;margin-top:44px}
.deck-back{font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--argento2)}
.deck-back:hover{color:var(--oro)}
.deck-bar{flex:1;height:2px;background:var(--line)}
.deck-bar span{display:block;height:100%;width:0;background:var(--oro);transition:width .6s var(--ease)}

/* =========================================================
   CHIUSURA E PIEDE
   ========================================================= */
.closing{padding:clamp(100px,16vh,190px) 0 clamp(60px,9vh,100px);border-top:1px solid var(--line);overflow:hidden}
body[data-page="prenota"] .closing{display:none}
.closing-title{display:block;font-family:var(--cond);line-height:.8;text-transform:uppercase;margin-bottom:clamp(36px,6vh,60px)}
.closing-title>span{display:block;font-size:clamp(100px,19vw,330px);white-space:nowrap}
.closing-solid{color:var(--bianco)}
.closing-outline{color:transparent;-webkit-text-stroke:1.5px var(--oro);padding-left:10vw;transition:color .6s var(--ease)}
.closing-outline svg{width:.4em;height:.4em;fill:var(--oro);margin-left:.1em;vertical-align:.1em;transition:transform .6s var(--ease)}
.closing-title:hover .closing-outline{color:var(--oro)}
.closing-title:hover .closing-outline svg{transform:rotate(15deg) scale(1.15)}
.closing-row{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,7vh,70px)}
.closing-lead{max-width:44ch;color:var(--argento2)}
.closing-btns{display:flex;flex-wrap:wrap;gap:12px}
.contact-rows{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px}
.contact-rows a{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:end;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-rows small{grid-column:1/-1;font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--argento3)}
.contact-rows span{color:var(--bianco);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-rows i{font-style:normal;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:all .4s var(--ease)}
.contact-rows a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--oro);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.contact-rows a:hover::after{transform:scaleX(1);transform-origin:left}
.contact-rows a:hover i{background:var(--oro);border-color:var(--oro);color:#000;transform:rotate(-45deg)}
.footer{position:relative;padding:clamp(50px,8vh,90px) 0 0;overflow:hidden;border-top:1px solid var(--line)}
.footer-sign{display:flex;justify-content:center;margin-bottom:clamp(40px,6vh,70px)}
.sign{width:min(640px,84vw);aspect-ratio:1100/474;background:var(--oro);-webkit-mask:url(../img/firma.png) center/contain no-repeat;mask:url(../img/firma.png) center/contain no-repeat;clip-path:inset(0 100% 0 0);filter:drop-shadow(0 0 20px rgba(235,230,219,.35))}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:24px 0;border-top:1px solid var(--line);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--argento3)}
.footer-bottom a:hover{color:var(--oro)}
.footer-giant{font-family:var(--cond);font-size:clamp(70px,16.5vw,300px);line-height:.78;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(220,220,224,.1);margin-bottom:-.06em;user-select:none}

/* ---------- finestra del calciatore ---------- */
.modal{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:20px;visibility:hidden}
.modal.is-open{visibility:visible}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .5s}
.modal.is-open .modal-bg{opacity:1}
.modal-box{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(1100px,100%);max-height:calc(100svh - 40px);overflow:auto;border-radius:18px;background:#0c0c0d;border:1px solid rgba(235,230,219,.3);opacity:0;transform:translateY(40px) scale(.97);transition:all .6s var(--ease)}
.modal.is-open .modal-box{opacity:1;transform:none}
.modal-close,.lb-close{position:absolute;top:14px;right:14px;z-index:5;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.6);border:1px solid var(--line);color:var(--bianco);font-size:14px}
.pm-media{position:relative;min-height:560px;background:#000}
.pm-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pm-media #pmImg{object-fit:contain;background:#000}
.pm-media.has-many #pmImg{bottom:78px;height:auto}
.pm-thumbs{position:absolute;left:0;right:0;bottom:0;height:78px;display:flex;gap:6px;padding:8px 10px;overflow-x:auto;background:#0a0a0b;scrollbar-width:none}
.pm-thumbs::-webkit-scrollbar{display:none}
.pm-thumbs button{flex:0 0 auto;width:50px;height:62px;border-radius:6px;overflow:hidden;border:1px solid var(--line);opacity:.55;transition:opacity .3s,border-color .3s}
.pm-thumbs button.is-on{opacity:1;border-color:var(--accento)}
.pm-thumbs img{position:static!important;width:100%;height:100%;object-fit:cover}
.pm-arrow{position:absolute;top:calc(50% - 60px);z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid var(--line);color:var(--bianco);font-size:22px;line-height:1;display:none}
.has-many .pm-arrow{display:grid;place-items:center}
.pm-arrow--l{left:10px}.pm-arrow--r{right:10px}
.pm-pcount{position:absolute;top:14px;left:14px;z-index:3;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.6);font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--bianco)}
.pm-pcount:empty{display:none}
.pm-body{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.pm-body h3{font-family:var(--cond);font-weight:400;font-size:clamp(54px,6vw,96px);line-height:.85;color:var(--bianco);margin-bottom:24px}
.pm-body h3 small{display:block;font-family:var(--serif);font-style:italic;font-size:.32em;color:var(--oro);line-height:1.2}
.pm-body blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,27px);line-height:1.35;color:var(--argento);border-left:2px solid var(--oro);padding-left:20px}
.pm-note{margin:22px 0;font-size:13px;color:var(--argento2)}
.pm-nav{display:flex;align-items:center;gap:16px;margin-bottom:24px;font-size:11px;letter-spacing:.2em;color:var(--argento2)}
.pm-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--bianco);transition:all .3s}
.pm-nav button:hover{background:var(--oro);color:#000;border-color:var(--oro)}
.pm-body .btn{align-self:flex-start}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:700;background:rgba(4,4,4,.96);display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox figure{max-width:min(720px,100%);display:flex;flex-direction:column;align-items:center}
.lightbox img{max-height:calc(100svh - 120px);width:auto;border-radius:6px}
.lightbox figcaption{margin-top:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--argento2)}
.lb-nav{width:54px;height:54px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line);font-size:18px;color:var(--bianco);transition:background .3s,color .3s}
.lb-nav:hover{background:var(--oro);color:#000}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .nav-links{display:none}
  .burger{display:block}
  .sound-txt{display:none}
  .sound.is-pending .sound-txt{display:inline}
  .contact-rows{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .nav{padding-top:12px;padding-bottom:12px}
  .nav-logo img{height:26px}
  .nav-logo span{display:none}
  .burger{width:38px;height:38px}
  .burger span{left:11px;right:11px}.burger span:first-child{top:15px}.burger span:last-child{top:22px}
  .menu{justify-content:flex-start;padding-top:96px}
  .bottom-bar{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:550;transform:translateY(160%);transition:transform .6s var(--ease)}
  .bottom-bar.is-on{transform:none}
  .bottom-bar a{display:grid;place-items:center;height:52px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 14px 30px rgba(0,0,0,.6)}
  .bb-wa{background:rgba(12,12,13,.92);border:1px solid var(--line);color:var(--bianco);backdrop-filter:blur(10px)}
  .bb-book{background:var(--oro);color:#000}
  .menu-open .bottom-bar{transform:translateY(160%)}
  .hero{align-items:flex-start}
  .hero-grid{grid-template-columns:1fr;padding-top:96px;padding-bottom:110px;gap:0}
  .hero-side{display:contents}
  .hero-logo{order:-1;width:150px;margin:0 0 18px}
  .q-card{display:none}
  .hero-text{order:1}
  .hero-vignette{background:radial-gradient(ellipse at 50% 55%,rgba(6,6,6,.78),rgba(6,6,6,.45) 75%),linear-gradient(to bottom,rgba(6,6,6,.3),transparent 30%,var(--nero))}
  .hero-desc{text-shadow:0 2px 12px #000}
  .hero-hint{display:none}
  .who-grid,.stencil-grid,.wall-grid,.needles-grid,.book-grid,.faq-grid,.method-grid{grid-template-columns:1fr}
  .who-photo{width:70%}
  .hover-list a,.hover-list button{grid-template-columns:72px 1fr 36px;gap:4px 16px;padding:18px 0}
  .hl-thumb{display:block;grid-row:1/3;grid-column:1;width:72px;height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
  .hl-n{display:none}
  .hl-name{grid-column:2;font-size:38px;align-self:end}
  .hl-desc{grid-column:2;grid-row:2;font-size:13px;line-height:1.45;align-self:start}
  .hl-arrow{width:36px;height:36px;grid-row:1/3;grid-column:3;font-size:13px}
  .palco-track::-webkit-scrollbar{display:none}
  .hall-track::-webkit-scrollbar{display:none}
  .hall-tip{display:none}
  .work{grid-column:span 6}
  .work--tall{grid-row:span 1;aspect-ratio:4/5}
  .studios-acc{flex-direction:column;height:auto}
  .studio{min-height:100px;flex:none!important;transition:min-height .8s var(--ease)}
  .studio.is-open{min-height:560px}
  .studio:not(.is-open) .studio-tab{flex-direction:row;align-items:center;gap:16px;top:28px;bottom:auto}
  .studio:not(.is-open) h3{writing-mode:horizontal-tb;transform:none;font-size:46px}
  .method-media{top:70px;height:46vh;z-index:1}
  .method-steps li{min-height:52vh}
  .modal-box{grid-template-columns:1fr}
  .pm-media{min-height:52vh}
  .drag{height:86svh}
  .page-head{min-height:70svh;padding-top:120px}
  .ph-outline{padding-left:0}
  .book{padding-top:110px}
  .deck-nav{margin-top:30px}
}
@media (max-width:600px){
  .hero-stats{gap:18px}
  .hero-stats div{flex-direction:column;align-items:flex-start;gap:4px}
  .nav .nav-cta{display:none}
  .ph-title>span{font-size:clamp(56px,18.5vw,110px);white-space:normal}
  body[data-page="prenota"] .bottom-bar{display:none}
  .nav-right{gap:10px}
  .ht-row{font-size:clamp(30px,9.4vw,58px)}
  .work{grid-column:span 12}
  .studio dl{grid-template-columns:1fr;gap:4px}
  .studio dd{margin-bottom:8px}
  .studio.is-open{min-height:640px}
  .lb-nav{position:absolute;bottom:20px;width:48px;height:48px}
  .lb-prev{left:20px}.lb-next{right:20px}
  .lightbox img{max-height:calc(100svh - 170px)}
  .contact-rows{grid-template-columns:1fr}
  .closing-outline{padding-left:0}
  .style-pick{grid-template-columns:1fr 1fr}
  .style-pick button,.style-pick button:nth-child(n+4){grid-column:span 1;aspect-ratio:4/5}
  .style-pick button:last-child{grid-column:span 2;aspect-ratio:16/8}
  .body-pick{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
  .body-info{display:contents}
  .body-pick #bodySide{order:-1;margin-bottom:8px}
  .body-svg{width:min(62vw,230px);margin:0 auto;display:block}
  .body-tip{margin:10px auto 0}
  .chips--sel{justify-content:center}
  .dim-pick{grid-template-columns:1fr;gap:10px}
  .dim-pick button{display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto auto;column-gap:16px;row-gap:4px;padding:14px}
  .dim-ico{grid-row:1/4;aspect-ratio:1;margin:0;align-self:center}
  .dim-pick b{font-size:32px}
  .body-tip{font-size:12px;margin-top:10px}
  .body-hover{font-size:21px}
  .studio-pick{grid-template-columns:1fr}
  .seg{grid-template-columns:1fr}
  .body-info .seg--mini{grid-template-columns:auto auto;justify-content:center}
  .size-vis{height:180px}
  .sum{grid-template-columns:1fr;gap:2px}
  .sum dd{margin-bottom:8px}
  .footer-bottom{padding-bottom:84px}
}

/* =========================================================
   v2.1 — barra delle pagine, studi con foto, figure scontornate
   ========================================================= */
.pagebar{position:fixed;left:0;right:0;top:var(--nav-h,74px);z-index:595;display:none;background:rgba(8,8,9,.86);border-top:1px solid var(--line);border-bottom:1px solid rgba(235,230,219,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translateY(-140%);transition:transform .7s var(--ease),top .4s}
.pagebar.is-down{transform:none}
.pagebar.is-hidden{transform:translateY(calc(-100% - var(--nav-h,74px)))}
.pagebar-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:0 var(--pad)}
.pagebar-in::-webkit-scrollbar{display:none}
.pagebar a{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:11px 10px;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--argento2);white-space:nowrap}
.pagebar a i{font-style:normal;font-size:8.5px;color:var(--oro);opacity:.7}
.pagebar a[aria-current]{color:var(--bianco)}
.pagebar a[aria-current]::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--oro)}
.menu-open .pagebar{transform:translateY(-300%)}
@media (max-width:600px){.pagebar-in{justify-content:space-between;gap:0;padding:0 10px}.pagebar a{padding:11px 5px;font-size:9.5px;letter-spacing:.07em}.pagebar a i{display:none}.pagebar a[aria-current]::after{left:5px;right:5px}.sound.is-pending .sound-txt{display:none}}

/* studi: foto vera + figura scontornata */
.studio-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:grayscale(.35) contrast(1.05);transition:opacity .8s,transform 1.4s var(--ease);mix-blend-mode:luminosity}
.studio.is-open .studio-photo{opacity:.5;mix-blend-mode:normal}
.studio:hover .studio-photo{transform:scale(1.05)}
.studio-cut{position:absolute;z-index:1;right:-2%;bottom:0;height:80%;width:auto;max-width:none;opacity:0;transform:translateX(40px);transition:opacity .8s .2s,transform 1.2s var(--ease);filter:drop-shadow(0 30px 40px rgba(0,0,0,.7)) grayscale(.15);pointer-events:none}
.studio-cut--fabio{height:86%;right:-5%}
.studio.is-open .studio-cut{opacity:1;transform:none}
.studio-body{max-width:min(440px,52%)}
.studio-thumbs{display:flex;gap:8px;margin-bottom:20px}
.studio-thumbs img{width:64px;height:80px;object-fit:cover;border-radius:8px;border:1px solid rgba(235,230,219,.35);transition:transform .4s var(--ease)}
.studio-thumbs img:hover{transform:translateY(-6px) scale(1.06)}

/* le firme della galleria */
.artists{padding:clamp(80px,12vh,150px) 0 clamp(40px,6vh,80px)}
.artists-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px)}
.artist-link{display:block}
.artist-stage{position:relative;height:clamp(380px,46vw,620px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-radius:18px;background:#0b0b0c;border:1px solid var(--line)}
.artist-disc{position:absolute;left:50%;bottom:-18%;width:92%;aspect-ratio:1;height:auto;border-radius:50%;transform:translateX(-50%);opacity:.95;box-shadow:0 0 0 1px rgba(235,230,219,.35),0 0 80px rgba(235,230,219,.12)}
.artist-word{position:absolute;top:6%;left:0;right:0;text-align:center;font-family:var(--cond);font-size:clamp(70px,9vw,150px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(235,230,219,.45);white-space:nowrap}
.artist-cut{position:relative;z-index:1;height:92%;width:auto;max-width:110%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7));transition:transform 1s var(--ease)}
.artist:hover .artist-cut{transform:scale(1.04) translateY(-6px)}
.artist-info{padding:22px 4px 0}
.artist-role{font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--oro)}
.artist-info h3{font-family:var(--cond);font-weight:400;font-size:clamp(50px,5.4vw,88px);line-height:.85;color:var(--bianco);margin:10px 0 14px}
.artist-desc{color:var(--argento2);max-width:46ch;font-size:15px}
.artist-ig{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bianco);border-bottom:1px solid var(--oro);padding-bottom:4px}

/* chi è: figura scontornata su disco di marmo */
.who-photo{aspect-ratio:auto;overflow:visible;border-radius:0;display:flex;align-items:flex-end;justify-content:center;min-height:clamp(340px,40vw,560px)}
.who-disc{position:absolute;left:50%;bottom:0;width:100%;aspect-ratio:1;height:auto;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(235,230,219,.4),0 0 90px rgba(235,230,219,.14)}
.who-cut{position:relative;z-index:1;width:118%;max-width:none;margin-left:-4%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.75)) grayscale(1) contrast(1.08);border-radius:0 0 50% 50%/0 0 22% 22%}

/* calciatori: scorrimento orizzontale fissato anche sul telefono */
@media (max-width:900px){
  .palco-pin{min-height:100svh;height:100svh;padding:110px 0 30px;justify-content:center}
  .palco-head{margin-bottom:20px}
  .palco-head .h-big{font-size:46px}
  .palco-track{width:max-content;overflow:visible;scroll-snap-type:none;padding-bottom:0}
  .palco-track .card{width:min(62vw,250px)}
  .palco-intro{width:min(70vw,280px)}
  .palco-intro h3{font-size:40px}
  .palco-more{width:min(56vw,220px)}
  .hall-pin{height:100svh;display:flex;align-items:center;padding:96px 0 70px}
  .hall-bgname{display:block;font-size:30vw;-webkit-text-stroke:1px rgba(220,220,224,.1)}
  .hall-track{overflow:visible;scroll-snap-type:none;padding:0 calc(50vw - min(34vw,150px))}
  .card{width:min(68vw,300px);max-height:62svh}
  .hall-ui{position:absolute;bottom:22px}
  .studio-body{max-width:none}
  .studio-cut{height:60%;right:-10%;top:4%;bottom:auto;opacity:.0}
  .studio.is-open .studio-cut{opacity:.55}
  .artists-grid{grid-template-columns:1fr}
  .who-photo{min-height:360px}
  /* banner iniziale centrato sul telefono */
  .hero-grid{justify-items:center;text-align:center}
  .hero-text{display:flex;flex-direction:column;align-items:center}
  .hero-text .eyebrow{justify-content:center;flex-wrap:wrap;text-align:center}
  .hero-text .eyebrow .line{display:none}
  .hero-desc{margin:0 auto}
  .hero-btns{justify-content:center}
  .hero-stats{justify-content:center;width:100%}
  .hero-stats div{align-items:center!important;text-align:center}
  .hero-logo{margin:0 auto 18px}
  .scroll-hint{display:none}
  .hero-grid{padding-bottom:40px}
  .hero-figure{display:block;width:min(92vw,420px);margin:26px auto -70px;position:relative;z-index:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.8));-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 98%);mask-image:linear-gradient(to bottom,#000 70%,transparent 98%)}
  .hero-stats{position:relative;z-index:1;margin-top:0;padding:18px 0 4px;border-top:1px solid rgba(232,245,38,.35);background:linear-gradient(to bottom,rgba(6,6,6,.55),var(--nero))}
  .hero-stats b{color:var(--bianco)}
  .hero-text .eyebrow{color:var(--accento)}
  .hero-btns .btn--gold{background:var(--accento);color:#000;box-shadow:0 0 30px rgba(232,245,38,.3)}
  .bb-book{background:var(--accento)!important;box-shadow:0 0 26px rgba(232,245,38,.35),0 14px 30px rgba(0,0,0,.6)!important}
}

/* =========================================================
   v3 — card con giocatore scontornato, griglia dei campioni
   ========================================================= */
.credits{font-size:10px;line-height:1.6;color:var(--argento3);margin:0 0 18px;max-width:120ch}
.hof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,22px)}
.hof{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:0 0 16px;border-bottom:1px solid var(--line)}
.hof-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;aspect-ratio:4/4.6;overflow:hidden;border-radius:14px;background:#0d0d0e;border:1px solid var(--line);margin-bottom:14px}
.hof-disc{position:absolute;left:50%;bottom:-30%;width:100%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 50% 30%,#2b2b2e,#0d0d0e 70%);box-shadow:0 0 0 1px rgba(235,230,219,.22)}
.hof-stage img{position:relative;height:90%;width:auto;max-width:96%;object-fit:contain;object-position:bottom;filter:grayscale(.85) contrast(1.05);transition:filter .6s,transform .8s var(--ease)}
.hof:hover .hof-stage img,.hof:focus-visible .hof-stage img{filter:none;transform:scale(1.05)}
.hof-n{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--argento2)}
.hof-name{font-family:var(--cond);font-size:clamp(30px,2.6vw,42px);line-height:.92;color:var(--bianco);margin-top:6px}
.hof-name small{display:block;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--argento2);line-height:1.2}
.hof-role{margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--argento3)}
@media (max-width:900px){
  .hof-grid{grid-template-columns:1fr 1fr;gap:16px 12px}
  .hof-name{font-size:30px}
  .hof-stage img{filter:grayscale(.3)}
}

/* rassegna stampa */
.press{padding:clamp(80px,12vh,150px) 0}
.press-year{display:grid;grid-template-columns:180px 1fr;gap:20px;border-top:1px solid var(--line);padding:26px 0}
.press-y{font-family:var(--cond);font-size:clamp(56px,6vw,96px);line-height:.8;color:transparent;-webkit-text-stroke:1.2px var(--bianco);position:sticky;top:100px;align-self:start}
.press-year ul{list-style:none}
.press-year li+li{border-top:1px solid rgba(235,230,219,.07)}
.press-year a{display:grid;grid-template-columns:70px 230px 110px 1fr 30px;gap:16px;align-items:baseline;padding:14px 0;transition:padding .5s var(--ease),background .4s}
.press-year a:hover{padding-left:12px;background:rgba(235,230,219,.03)}
.pr-d{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--argento2)}
.pr-o{font-family:var(--cond);font-size:26px;line-height:1;color:var(--bianco)}
.pr-t{justify-self:start;padding:4px 9px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--argento)}
.pr-h{font-size:15px;color:var(--argento2);line-height:1.5}
.press-year a i{font-style:normal;color:var(--argento2);transition:transform .4s var(--ease)}
.press-year a:hover i{transform:translate(4px,-4px);color:var(--bianco)}
.press-strip{padding:clamp(60px,10vh,110px) 0 0}
.press-strip-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.press-strip-head .eyebrow{margin:0}
@media (max-width:900px){
  .press-year{grid-template-columns:1fr;gap:6px}
  .press-y{position:static;font-size:64px}
  .press-year a{grid-template-columns:1fr auto;gap:4px 12px;padding:16px 0}
  .pr-d{grid-column:1}.pr-o{grid-column:1;font-size:24px}.pr-t{grid-column:1}.pr-h{grid-column:1;font-size:14px}
  .press-year a i{grid-column:2;grid-row:1/5;align-self:center}
}

@media (max-width:900px){
  .hero-figure{display:none!important}
  .hero-grid{padding-bottom:70px}
  .ht-row{font-size:clamp(28px,9vw,54px)}
  .ht-sub{font-size:14px;margin-top:14px;max-width:none}
  .who,.styles,.roster,.stencil,.voice,.needles,.works,.wall,.method,.faq,.press,.artists,.studios{padding-top:64px!important;padding-bottom:64px!important}
  .closing{padding-top:72px;padding-bottom:48px}
  .who-fig{padding:6% 0}
  .who-photo{min-height:300px}
  .sec-head{margin-bottom:28px}
  .who-text .lead,.stencil-text .lead{margin:18px 0 22px}
  .storia li{padding:8px 0}
  .nastri{height:150px}
  .press-strip{padding-top:40px}
  .palco-pin{padding:84px 0 92px;justify-content:flex-start}
  .palco-head{margin-bottom:16px}
  .palco-track .card{width:calc(var(--card-h,360px) / 1.44);height:auto}
  .palco-intro{width:calc(var(--card-h,360px) / 1.44 * 1.1);height:var(--card-h,360px);gap:10px;padding:18px}
  .palco-intro p{display:none}
  .palco-track{align-items:flex-start}
  .palco-more{height:var(--card-h,360px)}
  .palco-head .link-arrow{font-size:10px}
  .palco-intro h3{font-size:30px}
  .hall-pin{padding:80px 0 110px}
  .card{width:calc(var(--card-h,400px) / 1.44);max-height:none}
  .pin-on .bottom-bar{transform:translateY(160%)!important}
  .palco-pin{padding-bottom:20px}
  .hall-pin{padding-bottom:60px}
  .hall-ui{bottom:18px}
  .hall-ui{bottom:84px}
  .method-media{position:sticky;top:60px;height:42svh;z-index:2;margin-bottom:8px;box-shadow:0 20px 30px var(--nero)}
  .method-steps li{min-height:46svh;padding:20px 0}
  .method-num{font-size:84px}
  .pm-media{min-height:68svh}
  .page-head{min-height:auto;padding-bottom:40px}
}

@media (prefers-reduced-motion:reduce){
  .traccia,.grain{animation:none}
}

/* sfondo vivo dietro le card */
.hall-pin{position:relative}
.fig-ambient{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.palco-head,.palco-track{position:relative;z-index:1}
.hall-bgname,.hall-track,.hall-ui{z-index:1}
.fig-ambient--page{position:fixed;inset:0;z-index:-1;opacity:0;transition:opacity .4s}
body[data-page="hall-of-fame"] .hall-pin{background:none}
body[data-page="hall-of-fame"]{background:transparent}
.card--img .card-flip{scale:1.08}

/* aghi VR: render scontornati che fluttuano */
/* aghi VR scontornati attorno alla scatola */
.box3d{z-index:1}
.ago{position:absolute;height:auto;pointer-events:none;will-change:transform}
.ago--coppia{z-index:0;width:calc(var(--bw) * .5);left:calc(50% - var(--bw) * .78);top:2%;rotate:-8deg;filter:drop-shadow(0 0 34px rgba(232,245,38,.22)) drop-shadow(0 26px 24px rgba(0,0,0,.7));animation:agoFloat 7s ease-in-out infinite}
.ago--singolo{z-index:2;width:calc(var(--bw) * .52);left:calc(50% + var(--bw) * .22);bottom:9%;rotate:12deg;filter:drop-shadow(0 0 30px rgba(232,245,38,.25)) drop-shadow(0 30px 26px rgba(0,0,0,.75));animation:agoFloat 6s ease-in-out infinite -3s}
@media (max-width:820px){.ago--coppia{left:calc(50% - var(--bw) * .66);width:calc(var(--bw) * .44)}.ago--singolo{left:calc(50% + var(--bw) * .14);width:calc(var(--bw) * .46);bottom:11%}}
@keyframes agoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.ago{animation:none}}

/* ---------- preventivatore v5.7: cover up, stile, contatti, foto ---------- */
.tipo-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tipo-pick button{display:flex;flex-direction:column;gap:8px;text-align:left;padding:26px 22px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:all .4s var(--ease)}
.tipo-pick b{font-family:var(--cond);font-weight:400;font-size:clamp(34px,3vw,46px);line-height:.9;color:var(--bianco)}
.tipo-pick span{font-size:13px;line-height:1.45;color:var(--argento2)}
.tipo-pick button:hover{border-color:rgba(235,230,219,.6);transform:translateY(-4px)}
.tipo-pick button.is-sel{border-color:var(--oro);box-shadow:0 0 0 2px var(--oro)}
.tipo-pick button.is-sel b::after{content:" ✓";color:var(--oro)}
.style-pick button,.style-pick button:nth-child(n+4){grid-column:span 3;aspect-ratio:4/4.4}
.style-undecided{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:12px;padding:18px 22px;border-radius:14px;border:1px dashed rgba(235,230,219,.4);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--argento);transition:all .4s var(--ease)}
.style-undecided i{font-style:normal;color:var(--accento);transition:transform .4s var(--ease)}
.style-undecided:hover{border-color:var(--oro);color:var(--bianco)}
.style-undecided:hover i{transform:translateX(6px)}
.style-undecided.is-sel{border-style:solid;border-color:var(--oro);box-shadow:0 0 0 2px var(--oro);color:var(--bianco)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.up{gap:10px}
.up-k{font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--argento2)}
.up-k b{color:var(--accento);font-weight:600}
.up-k em{font-style:normal;color:var(--argento3)}
.up-grid{display:flex;flex-wrap:wrap;gap:10px}
.up-add,.up-item{position:relative;width:84px;height:84px;border-radius:12px;overflow:hidden;flex:0 0 auto}
.up-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px dashed rgba(235,230,219,.45);cursor:pointer;transition:border-color .3s,background .3s}
.up-add:hover{border-color:var(--accento);background:rgba(232,245,38,.06)}
.up-add[hidden]{display:none}
.up-add input{position:absolute;inset:0;opacity:0;cursor:pointer}
.up-add i{font-style:normal;font-size:26px;line-height:1;color:var(--accento)}
.up-add span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--argento2)}
.up-item{border:1px solid var(--line)}
.up-item img{width:100%;height:100%;object-fit:cover}
.up-item.is-loading img{opacity:.35}
.up-st{position:absolute;left:6px;bottom:6px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}
.up-item.is-loading .up-st{border:2px solid rgba(255,255,255,.25);border-top-color:var(--accento);animation:upGira .8s linear infinite}
.up-item.is-ok .up-st{background:var(--accento);color:#000}
.up-item.is-ok .up-st::after{content:"✓"}
.up-item.is-err{border-color:#e05a4a}
.up-item.is-err .up-st{background:#e05a4a;color:#fff}
.up-item.is-err .up-st::after{content:"!"}
.up-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:15px;line-height:1}
@keyframes upGira{to{transform:rotate(360deg)}}
.up-note{font-size:11px;color:var(--argento3)}
.up.is-error .up-add{border-color:#e05a4a}
.field.is-error input{border-color:#e05a4a}
.form-err{min-height:1em;font-size:13px;color:#ff8a7a}
.form-err:empty{display:none}
.sum-72{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:14px 16px;border-radius:12px;border:1px solid rgba(232,245,38,.45);background:rgba(232,245,38,.07);font-size:14px;line-height:1.5;color:var(--argento)}
.sum-72 svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px;fill:var(--accento)}
.sum-72 b{color:var(--accento);font-weight:600}
.studio-pick button:last-child:nth-child(odd){grid-column:1 / -1}
@media (max-width:820px){
  .tipo-pick{grid-template-columns:1fr;gap:10px}
  .tipo-pick button{padding:18px}
  .tipo-pick b{font-size:32px}
  .style-pick button,.style-pick button:nth-child(n+4),.style-pick button:last-child{grid-column:span 1;aspect-ratio:4/5}
  .field-row{grid-template-columns:1fr;gap:12px}
  .up-add,.up-item{width:76px;height:76px}
}

/* ---------- v5.10: da telefono la Hall of Fame (home e pagina) si scorre col dito ---------- */
@media (max-width:900px){
  .palco-track,.hall-track{width:auto;max-width:100vw;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-top:14px;padding-bottom:14px;transform:none!important}
  .palco-track{scroll-padding-left:var(--pad)}
  .palco-track>*{scroll-snap-align:start;flex-shrink:0}
  .hall-track>.card{scroll-snap-align:center;flex-shrink:0}
  .palco-track::after,.hall-track::after{content:"";flex:0 0 1px}
  .swipe-hint{position:absolute;left:50%;bottom:calc(var(--hint-b,22px));z-index:3;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(10,10,10,.72);border:1px solid rgba(232,245,38,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--bianco);pointer-events:none;transition:opacity .5s,transform .5s}
  .swipe-hint i{font-style:normal;font-size:16px;line-height:1;color:var(--accento);animation:swipeVa 1.4s ease-in-out infinite}
  .swipe-hint i:first-child{animation-name:swipeVaSx}
  .swipe-hint.is-gone{opacity:0;transform:translate(-50%,10px)}
  .palco-pin{position:relative}
  #hallPin .swipe-hint{--hint-b:128px}
}
@keyframes swipeVa{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@keyframes swipeVaSx{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}

/* v5.12 — figurine in proporzione esatta: la grafica è 1060×1484 (1:1,40); la card era 5:7,2 (1:1,44) con object-fit:fill,
   e in home la fila flex la stirava fino all'altezza del riquadro giallo (1:1,59 a 1920 px). Ora la card non si stira più. */
.card--img{aspect-ratio:1060/1484}
@media (min-width:901px){
  .palco-track{align-items:center}
  .palco-intro,.palco-more{align-self:stretch}
}
/* v5.12 — da telefono il riepilogo allargava la pagina: i link delle foto (senza spazi) nel messaggio fissavano la larghezza minima
   della colonna a ~403 px e tutto il preventivatore usciva a destra. Ora i link vanno a capo e le colonne non superano lo schermo. */
.sum-msg{overflow-wrap:anywhere}
.book-grid>*,.deck>*{min-width:0}
/* v5.12 — da telefono l'elenco dei 6 passi spingeva la prima domanda a 777 px (schermo 844): via l'elenco,
   resta la barra di avanzamento del mazzo e il riepilogo finale con tutte le risposte. */
@media (max-width:900px){
  .book-steps{display:none}
  .book-side .lead{margin:16px 0 8px}
}
/* v5.12 — il mazzo era alto quanto la domanda più lunga (corpo / modulo): sotto le domande brevi restava un grande vuoto
   e da computer «Indietro» finiva sotto lo schermo. Le card non attive escono dal calcolo dell'altezza: il mazzo segue la domanda in corso. */
.dcard:not(.is-on){position:absolute;top:0;left:0;right:0}

/* v6.2 — pagine privacy e cookie, dati della società nel piè di pagina, avviso privacy nel preventivatore */
.page-head--legal .ph-title>span{font-size:clamp(78px,13vw,220px)}
.legal{padding:clamp(40px,7vh,90px) 0 clamp(70px,10vh,120px)}
.legal-wrap{max-width:860px}
.legal-date{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--argento3);margin-bottom:36px}
.legal h2{font-family:var(--cond);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1;color:var(--bianco);margin:52px 0 16px}
.legal h3{font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.04em;color:var(--oro);margin:30px 0 10px}
.legal p,.legal li{font-size:15px;line-height:1.75;color:var(--argento2)}
.legal p{margin-bottom:14px}
.legal ul{margin:0 0 16px 20px}
.legal li{margin-bottom:8px}
.legal b{color:var(--bianco);font-weight:500}
.legal a,.form-privacy a,.footer-legal a{color:var(--oro);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-table{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:6px 0 20px}
.legal-table>div{display:grid;grid-template-columns:1fr 2.4fr 1.3fr;gap:16px;padding:14px 18px;border-top:1px solid var(--line);font-size:14px;line-height:1.55;color:var(--argento2)}
.legal-table>div:first-child{border-top:0}
.legal-table .lt-head{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--argento3);background:rgba(255,255,255,.03)}
.legal-table span:first-child{font-family:ui-monospace,Menlo,monospace;color:var(--bianco)}
@media (max-width:600px){.legal-table>div{grid-template-columns:1fr}.legal-table .lt-head{display:none}.legal-table>div span:first-child{color:var(--oro)}}
.form-privacy{font-size:12px;line-height:1.6;color:var(--argento3);margin-top:12px}
.footer-links a{margin:0 2px}
.footer-legal{font-size:10.5px;line-height:1.7;letter-spacing:.06em;color:var(--argento3);padding:0 0 26px;max-width:900px}
/* v6.2 — il campo «foto del tatuaggio da coprire» restava visibile anche per un tatuaggio nuovo: .field{display:flex} vinceva sull'attributo hidden */
.field[hidden]{display:none}
