@font-face{font-family:'Archivo';src:url('../fonts/archivo.woff2') format('woff2-variations'),url('../fonts/archivo.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
/* barra di amministrazione di WordPress (solo per chi è collegato) */
body.admin-bar .nav{top:46px}@media (max-width:782px){body.admin-bar .nav{top:60px}}
/*
 * Stili del sito Fix&Fit.
 * La prima parte è il CSS del prototipo approvato (fixandfit-homepage.html), invariato salvo il font ospitato localmente.
 * In fondo: aggiunte per le pagine interne, scritte con le stesse regole e gli stessi token.
 */
:root{
  --azure:#47C1F0;--orange:#FF4E00;--black:#090909;--anth:#171717;--white:#FFFFFF;--grey:#F2F3F5;--muted:#A5A5A5;
  --lt-bg:var(--grey);--lt-ink:#090909;--lt-muted:#55585E;--lt-line:rgba(9,9,9,.14);
  --dk-bg:var(--black);--dk-ink:var(--white);--dk-muted:var(--muted);--dk-line:rgba(255,255,255,.14);
  --pad:clamp(20px,4.2vw,72px);--ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{--lt-bg:var(--anth);--lt-ink:var(--white);--lt-muted:var(--muted);--lt-line:rgba(255,255,255,.14);color-scheme:dark}
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--dk-bg);color:var(--dk-ink);font-family:'Archivo',system-ui,sans-serif;font-size:clamp(16px,1.05vw,18px);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-variation-settings:"wdth" 100}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--azure);outline-offset:4px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:300;background:var(--white);color:var(--black);padding:10px 18px;border-radius:999px;font-weight:600}
.skip:focus{top:12px}
.disp{font-variation-settings:"wdth" var(--wd,100),"wght" var(--wg,900);font-weight:900;letter-spacing:-.025em;line-height:.86}

/* ---------- canvas ---------- */
#gl{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;z-index:0;display:block;pointer-events:none}
.glfb{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(40vw 60vh at 62% 55%,rgba(71,193,240,.22),transparent 60%),radial-gradient(40vw 60vh at 78% 55%,rgba(255,78,0,.22),transparent 60%)}
.no-gl .glfb{display:block}
main,footer{position:relative;z-index:1}
section{position:relative}
.light{background:var(--lt-bg);color:var(--lt-ink)}
.dark{background:var(--dk-bg);color:var(--dk-ink)}

/* ---------- intro ---------- */
.intro{position:fixed;inset:0;z-index:250;pointer-events:none}
.intro .half{position:absolute;top:0;bottom:0;width:50.2%;display:flex;align-items:center;overflow:hidden}
.intro .ia{left:0;background:var(--azure);justify-content:flex-end;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.intro .io{right:0;background:var(--orange);justify-content:flex-start}
.intro .iw{display:block;font-size:clamp(56px,12vw,200px);color:var(--black);padding:0 .12em}
.intro .clip{overflow:hidden;display:block}
.no-js .intro{display:none}

/* ---------- nav ---------- */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:60;width:min(1240px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(9,9,9,.88);border:1px solid rgba(255,255,255,.08);color:var(--white);transition:transform .6s var(--ease)}
.nav.hide{transform:translate(-50%,-150%)}
.brand{display:flex;align-items:center}
.logo-mono{display:block;height:34px;width:auto}
.la{fill:var(--azure)}.lo{fill:var(--orange)}.lt{fill:currentColor}
.nav ul{display:flex;gap:clamp(16px,2vw,30px);font-size:14px}
.nav ul a{opacity:.72;transition:opacity .3s}
.nav ul a:hover{opacity:1}
.pill{display:inline-flex;align-items:center;gap:10px;background:var(--white);color:var(--black);border-radius:999px;padding:12px 20px;font-weight:600;font-size:14px;white-space:nowrap}
.burger{display:none;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);position:relative}
.burger i{position:absolute;left:13px;right:13px;height:2px;background:var(--white);transition:transform .4s var(--ease)}
.burger i:first-child{top:17px}.burger i:last-child{top:25px}
.burger[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:55;background:var(--black);color:var(--white);display:flex;flex-direction:column;justify-content:flex-end;padding:100px var(--pad) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);visibility:hidden}
.mnav.open{clip-path:inset(0 0 0 0);visibility:visible}
.mnav a.big{display:block;font-size:clamp(44px,13vw,88px);padding:4px 0;border-bottom:1px solid var(--dk-line)}
.mnav .pill{margin-top:28px;align-self:flex-start;font-size:16px;padding:16px 24px}
@media (max-width:900px){.nav ul,.nav .pill{display:none}.burger{display:block}}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;border-radius:999px;padding:20px 30px;font-weight:700;font-size:15px;letter-spacing:.02em;background:var(--white);color:var(--black);overflow:hidden;isolation:isolate;min-height:56px}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--azure),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.btn:hover::before,.btn:focus-visible::before{transform:scaleX(1)}
.btn .arr{display:inline-block;transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translate(3px,-3px) rotate(0deg)}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.ghost::before{opacity:.18}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:grid;grid-template-rows:1fr auto;padding:clamp(110px,16vh,160px) var(--pad) 28px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(9,9,9,.78) 0%,rgba(9,9,9,.35) 38%,rgba(9,9,9,0) 60%)}
@media (max-aspect-ratio:1/1){.hero::before{background:linear-gradient(0deg,rgba(9,9,9,.92) 0%,rgba(9,9,9,.4) 45%,rgba(9,9,9,.15) 100%)}}
.hero-in{position:relative;align-self:center}
.hero h1{font-size:clamp(50px,13.5vw,250px)}
.hero h1{contain:layout style}
.hero h1 .line{display:block;white-space:nowrap;will-change:transform}
.hero h1 .ch{display:inline-block;font-variation-settings:"wdth" var(--wd,62),"wght" 900}
.hero-sub{margin-top:clamp(22px,3.5vh,40px);max-width:460px}
.hero-sub .tag{display:block;font-size:clamp(17px,1.5vw,22px);font-variation-settings:"wdth" 125,"wght" 800;font-weight:800;letter-spacing:.02em}
.hero-sub p{color:var(--dk-muted);margin-top:10px;max-width:40ch}
.hero-sub .btn{margin-top:28px}
.hero-foot{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:13px;color:var(--dk-muted)}
.scrollcue{display:flex;align-items:center;gap:12px}
.scrollcue i{position:relative;width:1px;height:46px;background:rgba(255,255,255,.2);overflow:hidden}
.scrollcue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--white);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:110%}}
@media (prefers-reduced-motion:reduce){.scrollcue i::after{animation:none;top:30%}}

/* ---------- manifesto ---------- */
.manifesto{padding:clamp(110px,18vh,220px) var(--pad) clamp(100px,16vh,200px)}
.mani-title{font-size:clamp(54px,12.5vw,230px);line-height:.84}
.mani-title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.04em}
.mani-title .wi{display:inline-block;font-variation-settings:"wdth" var(--wd,72),"wght" 900}
.mani-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,5vw,80px);margin-top:clamp(60px,10vh,120px);align-items:start}
.mani-side{font-size:14px;color:var(--lt-muted);max-width:26ch}
.mani-side strong{display:block;color:var(--lt-ink);font-weight:700;margin-bottom:4px}
.mani-lead{font-size:clamp(24px,2.9vw,46px);line-height:1.16;font-weight:500;letter-spacing:-.015em;max-width:24ch}
.mani-lead .rw{opacity:.14}
.mani-more{margin-top:32px;color:var(--lt-muted);max-width:58ch}
@media (max-width:760px){.mani-body{grid-template-columns:1fr}}

/* ---------- disciplines ---------- */
.disc{padding:clamp(100px,16vh,180px) 0 clamp(60px,10vh,120px);overflow:hidden}
.disc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 var(--pad) clamp(40px,6vh,70px)}
.disc-head h2{font-size:clamp(18px,1.5vw,22px);font-weight:700}
.disc-head p{color:var(--dk-muted);max-width:34ch;font-size:15px}
.drow{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(220px,300px);gap:20px;align-items:center;padding:clamp(18px,3vh,34px) var(--pad);border-top:1px solid var(--dk-line);outline:none}
.drow:last-of-type{border-bottom:1px solid var(--dk-line)}
.dnum{font-size:14px;color:var(--dk-muted);font-variant-numeric:tabular-nums}
.dtitle{position:relative;font-size:clamp(44px,9.6vw,184px);color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.78);font-variation-settings:"wdth" var(--wd,92),"wght" 900;transition:font-variation-settings .9s var(--ease);white-space:nowrap}
.dtitle::after{content:attr(data-t);position:absolute;inset:0;-webkit-text-stroke:0;transition:clip-path .9s var(--ease),opacity .6s}
.dside{font-size:14px;color:var(--dk-muted)}
.dside p{color:var(--dk-ink);font-size:15px;margin-bottom:12px;max-width:34ch}
.dside li{padding:6px 0;border-top:1px solid var(--dk-line)}
.dside .who{margin-top:10px;font-size:13px}
.dimg{display:none}
/* physio: precise left-to-right sweep */
.drow.fis .dtitle::after{color:var(--azure);clip-path:inset(0 100% 0 0)}
.drow.fis.is-on .dtitle::after{clip-path:inset(0 0 0 0)}
/* fitness: explosive stretch */
.drow.fit .dtitle::after{color:var(--orange);clip-path:inset(100% 0 0 0);transition:clip-path .5s var(--ease)}
.drow.fit.is-on .dtitle{--wd:125}
.drow.fit.is-on .dtitle::after{clip-path:inset(0 0 0 0)}
/* nutrition: balance from the centre */
.drow.nut .dtitle::after{background:linear-gradient(90deg,var(--azure),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;clip-path:inset(0 50% 0 50%)}
.drow.nut.is-on .dtitle::after{clip-path:inset(0 0 0 0)}
.dfollow{position:absolute;left:0;top:0;width:clamp(220px,20vw,320px);aspect-ratio:4/5;pointer-events:none;z-index:5;clip-path:inset(50% 50% 50% 50%);transition:clip-path .7s var(--ease);border-radius:4px;overflow:hidden}
.dfollow.on{clip-path:inset(0 0 0 0)}
.dfollow .media{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.dfollow .media.on{opacity:1}
.dfollow .scan{position:absolute;left:0;right:0;height:2px;background:var(--azure);box-shadow:0 0 18px 3px var(--azure);top:0;opacity:0}
.dfollow.fis .scan{opacity:1;animation:scan 2.4s linear infinite}
@keyframes scan{0%{top:0}100%{top:100%}}
@media (max-width:900px),(hover:none){
  .drow{grid-template-columns:44px minmax(0,1fr)}
  .dside{grid-column:2}
  .dimg{display:block;grid-column:1/-1;aspect-ratio:16/10;border-radius:4px;overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease)}
  .drow.is-on .dimg{clip-path:inset(0 0 0 0)}
  .dfollow{display:none}
}

/* ---------- media fallback ---------- */
.media{position:relative;overflow:hidden;background:var(--anth)}
.media img{width:100%;height:100%;object-fit:cover}
.media.ph img{display:none}
.media.ph::after{content:"Foto da sostituire";position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--dk-muted);background:radial-gradient(circle at 30% 40%,rgba(71,193,240,.25),transparent 55%),radial-gradient(circle at 70% 60%,rgba(255,78,0,.25),transparent 55%),var(--anth)}

/* ---------- movement experience ---------- */
.move{background:transparent}
.move-pin{position:relative;height:100svh;overflow:hidden}
.move-h{position:absolute;top:clamp(90px,13vh,130px);left:var(--pad);font-size:clamp(18px,1.5vw,22px);font-weight:700;z-index:2}
.move-h span{display:block;font-weight:400;font-size:14px;color:var(--dk-muted);margin-top:4px}
.move-words{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.mw{grid-area:1/1;display:flex;font-size:clamp(66px,19vw,380px);line-height:1;clip-path:inset(-5% -5% -5% -5%);overflow:hidden}
.mw .l{display:inline-block;color:transparent;-webkit-text-stroke:1.5px var(--c);font-variation-settings:"wdth" var(--wd,100),"wght" 900}
.no-js .mw .l{opacity:0}
.mw[data-i="0"]{--c:var(--azure)}
.mw[data-i="1"]{--c:var(--orange)}
.mw[data-i="2"]{--c:rgba(255,255,255,.7)}
.mw[data-i="2"] .l{background:linear-gradient(90deg,rgba(71,193,240,.35),rgba(255,78,0,.35));-webkit-background-clip:text;background-clip:text}
.move-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(24px,5vh,48px);display:grid;grid-template-columns:auto minmax(0,380px);justify-content:space-between;align-items:end;gap:24px;z-index:2}
.move-steps li{display:flex;gap:14px;align-items:baseline;padding:6px 0;color:var(--dk-muted);transition:color .5s}
.move-steps li b{font-size:clamp(18px,1.8vw,26px);font-variation-settings:"wdth" 125,"wght" 800;font-weight:800;min-width:7ch}
.move-steps li.on{color:var(--dk-ink)}
.move-steps li[data-i="0"].on b{color:var(--azure)}
.move-steps li[data-i="1"].on b{color:var(--orange)}
.move-steps li[data-i="2"].on b{background:linear-gradient(90deg,var(--azure),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.move-caps{position:relative;min-height:5.5em}
.move-caps p{position:absolute;left:0;right:0;bottom:0;opacity:0;transform:translateY(12px);transition:opacity .6s,transform .6s var(--ease);color:var(--dk-ink)}
.move-caps p.on{opacity:1;transform:none}
.move-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--dk-line);z-index:2}
.move-bar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--azure),var(--orange));transform-origin:left;transform:scaleX(0)}
@media (max-width:760px){.move-foot{grid-template-columns:1fr}.move-caps{min-height:4.8em}}

/* ---------- approach ---------- */
.approach{padding:clamp(100px,16vh,200px) var(--pad);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,7vw,120px);align-items:center}
.ring{position:relative;width:min(100%,520px);aspect-ratio:1;justify-self:center}
.ring svg{width:100%;height:100%;overflow:visible}
.ring .track{stroke:var(--lt-line)}
.ring .c360{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(64px,9vw,150px)}
.approach h2{font-size:clamp(38px,5.2vw,88px);--wd:80}
.approach .lead{margin-top:26px;font-size:clamp(18px,1.4vw,22px);max-width:44ch}
.facts{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.facts li{padding:16px 0;border-top:1px solid var(--lt-line);font-size:15px;color:var(--lt-muted)}
.facts li strong{display:block;color:var(--lt-ink);font-weight:700;font-size:16px}
@media (max-width:860px){.approach{grid-template-columns:1fr}.ring{width:min(78vw,420px)}}
@media (max-width:480px){.facts{grid-template-columns:1fr}}

/* ---------- team ---------- */
.team{padding:clamp(100px,16vh,200px) var(--pad)}
.team-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(50px,9vh,110px)}
.team-head h2{font-size:clamp(18px,1.5vw,22px);font-weight:700}
.team-head p{color:var(--dk-muted);max-width:36ch}
.person{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:center;margin-bottom:clamp(90px,14vh,170px)}
.person:last-child{margin-bottom:0}
.person.rev .portrait{order:2}
.portrait{position:relative;aspect-ratio:4/5;max-height:82vh}
.portrait .glow{position:absolute;inset:-4% -14% -10%;opacity:.45;background:radial-gradient(closest-side,var(--acc),transparent)}
.portrait .media{position:absolute;inset:0;border-radius:4px;clip-path:inset(100% 0 0 0);background:linear-gradient(180deg,var(--anth),#0d0d0d)}
.portrait .media img{object-fit:cover;object-position:center top;transform:scale(1.15);will-change:transform}
.pname{font-size:clamp(70px,11vw,200px);--wd:70}
.pname small{display:block;font-size:.34em;--wd:125;letter-spacing:-.01em;margin-top:.15em;color:var(--acc)}
.prole{margin-top:22px;font-weight:700;font-size:16px}
.pbio{margin-top:14px;color:var(--dk-muted);max-width:52ch}
.psport{margin-top:22px;display:inline-flex;gap:10px;align-items:center;font-size:14px}
.psport::before{content:"";width:28px;height:2px;background:var(--acc)}
.person .btn{margin-top:30px}
@media (max-width:860px){.person{grid-template-columns:1fr}.person.rev .portrait{order:0}.portrait{max-height:none}}

/* ---------- studio ---------- */
.studio{overflow:hidden;padding:clamp(90px,14vh,160px) 0 clamp(70px,10vh,120px)}
.studio-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 var(--pad);margin-bottom:clamp(36px,6vh,64px)}
.studio-head h2{font-size:clamp(54px,9vw,170px);--wd:72}
.studio-head p{color:var(--lt-muted);max-width:36ch}
.track{display:flex;gap:clamp(14px,1.6vw,26px);padding:0 var(--pad);width:max-content;align-items:flex-end}
.shot{flex:none;width:clamp(260px,30vw,520px)}
.shot.tall .media{aspect-ratio:3/4}
.shot.wide{width:clamp(300px,42vw,720px)}
.shot.wide .media{aspect-ratio:16/10}
.shot .media{aspect-ratio:4/5;border-radius:4px}
.shot .media img{transition:transform 1.2s var(--ease)}
.shot:hover .media img{transform:scale(1.05)}
.shot figcaption{margin-top:12px;font-size:14px;color:var(--lt-muted);min-height:1.4em}
@media (max-width:899px),(prefers-reduced-motion:reduce){
  .studio-scroller{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .studio-scroller::-webkit-scrollbar{display:none}
  .shot{scroll-snap-align:start;width:78vw}.shot.wide{width:86vw}
}

/* ---------- booking ---------- */
.book{min-height:100svh;display:grid;place-items:center;text-align:center;padding:clamp(110px,16vh,180px) var(--pad);overflow:hidden}
.blob{position:absolute;width:56vmax;height:56vmax;border-radius:50%;opacity:.5;pointer-events:none;left:0;top:0;will-change:transform}
.blob.a{background:radial-gradient(closest-side,rgba(71,193,240,.75),rgba(71,193,240,0))}.blob.o{background:radial-gradient(closest-side,rgba(255,78,0,.7),rgba(255,78,0,0))}
.book-in{position:relative}
.book h2{font-size:clamp(46px,9.4vw,180px);--wd:84}
.book h2 .bl{display:block;overflow:hidden}
.book h2 .bi{display:inline-block}
.book p{margin:28px auto 0;color:var(--dk-muted);max-width:46ch}
.book .acts{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.book .btn{font-size:16px;padding:24px 36px}
@media (prefers-reduced-motion:no-preference){@media (hover:none){
  .blob.a{animation:fa 14s ease-in-out infinite alternate}.blob.o{animation:fo 16s ease-in-out infinite alternate}}}
@keyframes fa{from{transform:translate(-10vw,10vh)}to{transform:translate(30vw,50vh)}}
@keyframes fo{from{transform:translate(50vw,40vh)}to{transform:translate(10vw,5vh)}}

/* ---------- footer ---------- */
.foot{background:var(--black);color:var(--white);padding:clamp(70px,12vh,130px) var(--pad) 28px;overflow:hidden}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;font-size:15px}
.fgrid h3{font-size:13px;font-weight:600;color:var(--dk-muted);margin-bottom:14px}
.fgrid li{padding:3px 0}
.fgrid a{opacity:.85;transition:opacity .3s}
.fgrid a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.fword{margin:clamp(70px,12vh,130px) auto 0;width:min(100%,720px);color:var(--white)}
.fword svg{display:block;width:100%;height:auto;overflow:visible}
.fword .tagline{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.fbase{margin-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--dk-muted)}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--white);mix-blend-mode:difference;pointer-events:none;z-index:400;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease);display:none}
.cursor.big{width:54px;height:54px;margin:-27px 0 0 -27px}
@media (hover:hover) and (pointer:fine){.has-cursor .cursor{display:block}}

/* ---------- v2 additions ---------- */
.tri{display:flex;width:72px;height:3px;margin-bottom:22px}
.tri i{flex:1}.tri i:nth-child(1){background:var(--azure)}.tri i:nth-child(2){background:currentColor}.tri i:nth-child(3){background:var(--orange)}
.marq{position:relative;z-index:1;overflow:hidden;background:var(--black);color:var(--white);padding:24px 0;border-top:1px solid var(--dk-line);border-bottom:1px solid var(--dk-line)}
.marq-t{display:flex;width:max-content;animation:marq 48s linear infinite;font-size:clamp(18px,2vw,28px);font-variation-settings:"wdth" 110,"wght" 800;font-weight:800;white-space:nowrap}
.marq-t span{display:flex;align-items:center;gap:48px;padding-right:48px}
.marq-t span::after{content:"";width:34px;height:3px;flex:none;background:linear-gradient(90deg,var(--azure) 33%,#fff 33% 66%,var(--orange) 66%)}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marq-t{animation:none}}
.forwho{padding:clamp(100px,16vh,180px) var(--pad)}
.fw-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:clamp(40px,7vh,80px)}
.fw-head h2{font-size:clamp(54px,9vw,170px);--wd:72}
.fw-head p{color:var(--lt-muted);max-width:40ch}
.fw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.fw{padding:28px 0 34px;border-top:1px solid var(--lt-line)}
.fw h3{font-size:clamp(22px,2vw,30px);font-variation-settings:"wdth" 100,"wght" 800;font-weight:800;line-height:1.1;transition:font-variation-settings .6s var(--ease)}
.fw:hover h3{font-variation-settings:"wdth" 118,"wght" 800}
.fw p{color:var(--lt-muted);margin-top:10px;font-size:15px;max-width:34ch}
.fw .who{display:inline-flex;gap:10px;align-items:center;margin-top:16px;font-size:13px;font-weight:600}
.fw .who::before{content:"";width:22px;height:3px;background:var(--acc)}
.how{margin-top:clamp(70px,12vh,130px)}
.how h3.how-t{font-size:clamp(18px,1.5vw,22px);font-weight:700;margin-bottom:24px}
.how ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;counter-reset:st}
.how li{counter-increment:st;border-top:3px solid var(--lt-ink);padding-top:20px}
.how li::before{content:"0" counter(st);display:block;font-size:clamp(48px,5vw,80px);font-variation-settings:"wdth" 125,"wght" 900;font-weight:900;line-height:1;margin-bottom:14px}
.how li:nth-child(1){border-color:var(--azure)}.how li:nth-child(3){border-color:var(--orange)}
.how li strong{display:block;font-size:18px}
.how li p{color:var(--lt-muted);margin-top:6px;font-size:15px;max-width:34ch}
@media (max-width:860px){.fw-head{grid-template-columns:1fr}.fw-grid{grid-template-columns:1fr 1fr}.how ol{grid-template-columns:1fr}}
@media (max-width:540px){.fw-grid{grid-template-columns:1fr}}
.field{padding:clamp(100px,16vh,180px) var(--pad);border-top:1px solid var(--dk-line)}
.field h2{font-size:clamp(18px,1.5vw,22px);font-weight:700;margin-bottom:clamp(40px,7vh,70px)}
.field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px)}
.fblock .big{font-size:clamp(46px,6.6vw,120px);--wd:78;display:block}
.fblock.sal .big{color:transparent;-webkit-text-stroke:1.4px var(--white)}
.fblock.off .big{background:linear-gradient(90deg,var(--azure),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.fblock p{margin-top:20px;color:var(--dk-muted);max-width:42ch}
.fblock .meta{margin-top:18px;font-size:14px;font-weight:600}
@media (max-width:860px){.field-grid{grid-template-columns:1fr}}
.opts{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1080px;margin-left:auto;margin-right:auto;text-align:left}
.opt{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:24px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);min-height:190px;transition:background .4s,transform .5s var(--ease)}
.opt:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}
.opt small{font-size:13px;color:var(--dk-muted)}
.opt strong{display:block;font-size:clamp(20px,1.8vw,26px);font-variation-settings:"wdth" 110,"wght" 800;font-weight:800;line-height:1.1;margin-top:6px}
.opt .go{display:inline-flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px;padding:14px 18px;border-radius:999px;color:var(--black)}
.opt.s .go{background:var(--azure)}.opt.l .go{background:var(--orange)}.opt.m .go{background:var(--white)}
@media (max-width:860px){.opts{grid-template-columns:1fr}.opt{min-height:0}}
.mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:none;gap:8px;padding:7px;border-radius:999px;background:rgba(9,9,9,.92);border:1px solid rgba(255,255,255,.12);transform:translateY(160%);transition:transform .5s var(--ease)}
.mbar.show{transform:none}
.mbar a{flex:1;text-align:center;padding:14px 8px;border-radius:999px;font-weight:700;font-size:14px;color:var(--black);min-height:48px}
.mbar a.s{background:var(--azure)}.mbar a.l{background:var(--orange)}
@media (max-width:900px){.mbar{display:flex}.foot{padding-bottom:110px}}

/* ---------- v3 additions ---------- */
.drow.psi .dtitle{transition:letter-spacing 1.4s var(--ease),font-variation-settings .9s var(--ease)}
.drow.psi .dtitle::after{color:var(--white);opacity:0;transition:opacity 1.4s var(--ease)}
.drow.psi.is-on .dtitle{letter-spacing:.012em}
.drow.psi.is-on .dtitle::after{opacity:1}
.dtag{display:inline-block;margin-bottom:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--dk-line);font-size:12px;font-weight:600;color:var(--dk-ink)}
.mw[data-i="3"]{--c:rgba(255,255,255,.92)}
.mw[data-i="3"] .l{text-shadow:0 0 50px rgba(255,255,255,.18)}
.move-steps li[data-i="3"].on b{color:var(--white)}
.fw.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 32px;align-items:end}
.fw.wide h3{font-size:clamp(28px,3vw,46px)}
.fw.wide p{margin-top:0}
@media (max-width:860px){.fw.wide{grid-template-columns:1fr}}
.collab-sep{display:flex;align-items:center;gap:18px;margin:0 0 clamp(50px,8vh,90px);font-size:13px;font-weight:600;color:var(--dk-muted)}
.collab-sep::after{content:"";flex:1;height:1px;background:var(--dk-line)}
.person.collab .pname{font-size:clamp(56px,8.4vw,150px)}
.pbadge{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(255,255,255,.08);border:1px solid var(--dk-line)}
.pbadge::before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(90deg,var(--azure),var(--orange))}
.pacts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.pacts .btn{margin-top:0}
.fblock .fmedia{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;margin-bottom:28px;background:var(--anth)}
.fblock .fmedia img,.fblock .fmedia video{display:block;width:100%;height:100%;object-fit:cover}
.vplay{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(9,9,9,.6);color:#fff;font-size:22px;border:1px solid rgba(255,255,255,.4)}
.fblock.sal .fmedia::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#8E1B2E}
.fblock.off .fmedia::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--azure),var(--orange))}
.fblock .meta a{text-decoration:underline;text-underline-offset:5px}
.opts{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px}
@media (max-width:900px){.opts{grid-template-columns:1fr}}
@media (max-width:640px){.opts{grid-template-columns:1fr}}
.opt.p .gos{display:flex;gap:8px}
.opt.p.l .go:not(.alt){background:var(--orange)}
.opt.p.s .go:not(.alt){background:var(--azure)}
.opt.p .go{flex:1;background:var(--white);justify-content:center;gap:6px;white-space:nowrap;padding:14px 10px;font-size:13px}
.person.collab .portrait{width:min(100%,440px);justify-self:center}
.opt.p .go.alt{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.book .hours{margin-top:22px;font-size:14px;color:var(--dk-muted)}
.mbar a{line-height:1.15;padding:8px 6px;font-size:14px}
.mbar a small{display:block;font-size:10px;font-weight:600;opacity:.7}
.mbar a.p{background:var(--white)}

/* ---------- reviews ---------- */
.reviews{padding:clamp(100px,16vh,180px) var(--pad) clamp(70px,10vh,120px);border-bottom:1px solid var(--dk-line)}
.reviews .tri i:nth-child(2){background:var(--white)}
.rv-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:clamp(36px,6vh,60px)}
.rv-head h2{font-size:clamp(54px,9vw,170px);--wd:72}
.rv-head p{color:var(--dk-muted);max-width:40ch}
.rv-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:clamp(40px,7vh,70px)}
.rv-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 22px;border-radius:16px;border:1px solid var(--dk-line);text-align:left;transition:background .4s,border-color .4s,color .4s;min-height:56px}
.rv-tab b{font-size:20px;font-variation-settings:"wdth" 110,"wght" 800;font-weight:800}
.rv-tab span{font-size:13px;color:var(--dk-muted)}
.rv-tab:hover{border-color:var(--acc)}
.rv-tab[aria-selected="true"]{background:var(--acc);border-color:var(--acc);color:var(--black)}
.rv-tab[aria-selected="true"] span{color:rgba(9,9,9,.7)}
.rv-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:auto auto;gap:clamp(24px,3vw,44px) clamp(30px,5vw,80px)}
.rv-q{border-top:2px solid var(--acc);padding-top:22px}
.rv-q.big{grid-row:1/3;border-top-width:3px}
.rv-q blockquote{font-size:clamp(20px,1.8vw,28px);line-height:1.25;font-weight:500;letter-spacing:-.01em}
.rv-q.big blockquote{font-size:clamp(32px,4.2vw,72px);line-height:1.04;font-variation-settings:"wdth" 84,"wght" 800;font-weight:800;letter-spacing:-.02em}
.rv-q figcaption{margin-top:16px;font-size:13px;color:var(--dk-muted)}
.rv-q figcaption b{color:var(--dk-ink)}
.rv-ok{display:inline-flex;align-items:center;gap:6px}
.rv-ok::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2l2 2 4-4.4' fill='none' stroke='%23090909' stroke-width='1.6'/%3E%3C/svg%3E") center/12px no-repeat}
.rv-more{display:inline-block;margin-top:clamp(36px,6vh,56px);font-weight:700;text-decoration:underline;text-underline-offset:5px}
@media (max-width:860px){.rv-head{grid-template-columns:1fr}.rv-grid{grid-template-columns:1fr}.rv-q.big{grid-row:auto}}
@media (max-width:600px){.rv-tabs{flex-wrap:nowrap;gap:6px}.rv-tab{flex:1;padding:12px 10px;align-items:center;text-align:center}.rv-tab span{display:none}.rv-tab b{font-size:17px}}

/* =====================================================================
   Pagine interne (stesso linguaggio del prototipo)
   ===================================================================== */
.inner main{padding-top:0}
.phero{position:relative;padding:clamp(130px,20vh,200px) var(--pad) clamp(60px,9vh,100px);overflow:hidden}
.phero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--dk-line)}
.phero .crumb{font-size:13px;color:var(--dk-muted);margin-bottom:clamp(20px,4vh,36px);display:flex;gap:10px;align-items:center}
.phero .crumb a{opacity:.8}.phero .crumb a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.ptitle{font-size:clamp(56px,14vw,250px);white-space:nowrap}
.ptitle .ch{display:inline-block;font-variation-settings:"wdth" var(--wd,100),"wght" 900}
.ptitle.fis{color:transparent;-webkit-text-stroke:1.4px var(--azure)}
.ptitle.fit{color:var(--orange)}
.ptitle.nut{background:linear-gradient(90deg,var(--azure),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.ptitle.psi{color:var(--white)}
.ptitle.plain{color:var(--white)}
.phero-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);margin-top:clamp(36px,6vh,70px);align-items:end}
.phero-body .pillar{font-size:clamp(17px,1.5vw,22px);font-variation-settings:"wdth" 125,"wght" 800;font-weight:800;letter-spacing:.02em}
.phero-body .pillar.fis{color:var(--azure)}.phero-body .pillar.fit{color:var(--orange)}.phero-body .pillar.psi{color:var(--white)}
.phero-body .pillar.nut{background:linear-gradient(90deg,var(--azure),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.phero-body h2{font-size:clamp(26px,3vw,48px);line-height:1.08;font-weight:500;letter-spacing:-.015em;margin-top:10px;max-width:22ch}
.phero-body p{color:var(--dk-muted);max-width:52ch}
.phero-body .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media (max-width:760px){.phero-body{grid-template-columns:1fr}}

.svc{padding:clamp(90px,14vh,160px) var(--pad)}
.svc-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:clamp(36px,6vh,70px)}
.svc-head h2{font-size:clamp(46px,7vw,130px);--wd:72}
.svc-head p{color:var(--lt-muted);max-width:40ch}
.dark .svc-head p{color:var(--dk-muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(40px,7vh,70px)}
.chips li{padding:10px 16px;border-radius:999px;border:1px solid var(--lt-line);font-size:14px}
.dark .chips li{border-color:var(--dk-line)}
.chips-t{font-size:13px;font-weight:600;color:var(--lt-muted);margin-top:clamp(50px,8vh,80px)}
.dark .chips-t{color:var(--dk-muted)}
@media (max-width:860px){.svc-head{grid-template-columns:1fr}}

.gal{padding:clamp(80px,12vh,140px) var(--pad)}
.gal h2{font-size:clamp(18px,1.5vw,22px);font-weight:700;margin-bottom:clamp(30px,5vh,50px)}
.gal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.gal-grid .media{aspect-ratio:1;border-radius:4px}
.gal-grid .media:first-child{grid-column:span 2;grid-row:span 2}
.gal-grid .media img{transition:transform 1.2s var(--ease)}
.gal-grid .media:hover img{transform:scale(1.05)}
@media (max-width:760px){.gal-grid{grid-template-columns:1fr 1fr}}

.rooms{padding:clamp(80px,12vh,140px) var(--pad)}
.room{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;padding:clamp(30px,5vh,50px) 0;border-top:1px solid var(--lt-line)}
.room .media{aspect-ratio:16/10;border-radius:4px}
.room h3{font-size:clamp(40px,5.4vw,96px);--wd:78}
.room p{color:var(--lt-muted);margin-top:14px;max-width:44ch}
.room:nth-child(even) .media{order:2}
@media (max-width:860px){.room{grid-template-columns:1fr}.room:nth-child(even) .media{order:0}}

.where{padding:clamp(90px,14vh,160px) var(--pad);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px)}
.where h3{font-size:13px;font-weight:600;color:var(--dk-muted);margin-bottom:14px}
.where .big{font-size:clamp(26px,2.6vw,40px);line-height:1.1;font-variation-settings:"wdth" 100,"wght" 700;font-weight:700}
.where p,.where li{color:var(--dk-muted);margin-top:8px}
.where a{text-decoration:underline;text-underline-offset:5px}
@media (max-width:860px){.where{grid-template-columns:1fr}}

.legal{padding:clamp(130px,20vh,200px) var(--pad) clamp(90px,14vh,160px)}
.legal h1{font-size:clamp(54px,9vw,170px);--wd:72}
.legal .upd{margin-top:14px;font-size:14px;color:var(--lt-muted)}
.legal .doc{max-width:68ch;margin-top:clamp(40px,7vh,70px)}
.legal .doc>*+*{margin-top:16px}
.legal h2{font-size:20px;font-weight:700;margin-top:40px}
.legal ul{list-style:disc;padding-left:22px}
.legal li+li{margin-top:8px}
.legal a{text-decoration:underline;text-underline-offset:4px}
.legal mark{background:rgba(255,78,0,.18);color:inherit;padding:0 4px;border-radius:3px}

.drow .more{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--dk-ink);text-decoration:underline;text-underline-offset:4px;position:relative;z-index:6}
.notfound{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px var(--pad)}
.notfound h1{font-size:clamp(90px,24vw,360px);background:linear-gradient(90deg,var(--azure) 50%,var(--orange) 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.notfound p{color:var(--dk-muted);margin:20px auto 30px;max-width:40ch}
.nextd{display:block}
.nextd .big{display:block;transition:font-variation-settings .6s var(--ease)}
.nextd:hover .big{font-variation-settings:"wdth" 118,"wght" 700}
.nextd.fis h3{color:var(--azure)}.nextd.fit h3{color:var(--orange)}.nextd.psi h3{color:var(--white)}
.nextd.nut h3{background:linear-gradient(90deg,var(--azure),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content}
.nextd p{text-decoration:none}
/* pulsanti flottanti di plugin del vecchio sito (es. WP WhatsApp): il sito ha già la sua barra WhatsApp */
body>#wa,.wa__btn_popup,.wa__popup_chat_box,.wa__stt,#ht-ctc-chat,.ht-ctc,.joinchat,#wa-widget-send-button,.qlwapp{display:none!important}
/* v1.0.2 — telefono */
.ptitle.nut{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--white)}
.mani-title .w{padding-top:.16em;margin-top:-.16em}
@media (max-width:600px){
.mani-title{font-size:clamp(38px,12.5vw,230px)}
.team-head{flex-direction:column;align-items:flex-start;gap:14px}
}
