/* LUWAK +ENERGY — Original & Sweet. Sinapsia Studio */
:root{--navy:#060815;--navy2:#0a0d22;--red:#e3141b;--yel:#ffd23a;--blue:#1f4fa6;--ink:#f3f1ec;--mute:rgba(243,241,236,.68);--line:rgba(243,241,236,.16);--pbg:#170814;--pbg2:#2b0f27;--mag:#e0569f;--vio:#8a3fd1;--f:'Archivo',system-ui,sans-serif;--s:'Instrument Serif',Georgia,serif;--m:'JetBrains Mono',ui-monospace,monospace;--pad:clamp(20px,5vw,72px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--navy);color:var(--ink);font:400 16px/1.55 var(--f);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
em{font-family:var(--s);font-style:italic;font-weight:400;letter-spacing:0}
h2,h3{text-wrap:balance}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--yel);color:#120a00;padding:10px 16px;border-radius:99px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--yel);outline-offset:3px}

/* caricatore */
.loader{position:fixed;inset:0;z-index:100;background:var(--navy);display:grid;place-items:center;align-content:center;gap:18px}
.ld-logo{width:72px;height:72px;border-radius:50%}
.ld-num{display:flex;align-items:baseline;gap:8px;font:900 clamp(72px,16vw,150px)/.9 var(--f);font-stretch:70%}
.ld-num small{font:600 14px var(--m);color:var(--yel)}
.ld-bar{width:min(260px,60vw);height:2px;background:var(--line);overflow:hidden}
.ld-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--yel) 50%,var(--mag));transform:scaleX(0);transform-origin:left}
.ld-t{margin:0;font:600 12px var(--m);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.ld-t span{color:var(--mag)}
html:not(.js) .loader{display:none}

#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 1s;pointer-events:none}
.gl-on #gl{opacity:1}
.no3d #gl{display:none}
main{position:relative;z-index:1}

/* navigazione */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top)) var(--pad) 12px;background:linear-gradient(rgba(6,8,21,.72),rgba(6,8,21,0));transition:transform .5s cubic-bezier(.2,.8,.2,1),background .6s}
.is-sweet .nav{background:linear-gradient(rgba(23,8,20,.72),rgba(23,8,20,0))}
.nav.hide{transform:translateY(-110%)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 15px var(--f);letter-spacing:.06em}
.brand img{width:40px;height:40px;border-radius:50%}
.brand b{color:var(--yel);font-weight:800;margin-left:3px;transition:color .5s}
.is-sweet .brand b{color:var(--mag)}
.links{display:none;gap:30px;font:600 12px var(--m);letter-spacing:.14em;text-transform:uppercase}
.links a{text-decoration:none;opacity:.82;transition:opacity .3s}
.links a:hover{opacity:1}
.links .lk-s{color:var(--mag);opacity:1}
@media(min-width:900px){.links{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:99px;background:var(--yel);color:#120a00;font:800 14px var(--f);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background .5s,color .5s,transform .3s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(243,241,236,.5)}
.nav-cta{min-height:44px;padding:0 18px;font-size:12px}
.is-sweet .nav-cta{background:var(--mag);color:#1a0614}

/* hero */
.hero{position:relative;height:300vh;background:radial-gradient(60vmax 50vmax at 15% 85%,rgba(227,20,27,.2),transparent 60%),linear-gradient(108deg,var(--navy) 0 61%,var(--pbg) 61.2%)}
.gl-on .hero,.gl-on .orig,.gl-on .sweet{background:transparent}
.hero-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.mk{position:absolute;left:0;top:0;width:1px;height:1px;pointer-events:none}
.hstatic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .9s}
.gl-on .hstatic{opacity:0}
.hstatic img{height:min(54vh,520px);width:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}
.hstatic .pk-o{position:relative;z-index:2;transform:rotate(-8deg) translateX(16%)}
.hstatic .pk-s{transform:rotate(9deg) translateX(-16%);opacity:0;transition:opacity .6s}
.pk-s.ok{opacity:1}
.ht{position:absolute;inset:0;margin:0;pointer-events:none;font:900 clamp(92px,15.5vw,290px)/.8 var(--f);font-stretch:68%;text-transform:uppercase;letter-spacing:-.015em}
.ht .l{position:absolute;display:block;overflow:hidden;padding:.05em .03em}
.ht .l>span{display:block}
.l1{left:var(--pad);top:15vh}
.l2{right:var(--pad);top:39vh;color:transparent;-webkit-text-stroke:2px var(--ink)}
.l3{left:calc(var(--pad) + 6vw);top:63vh;color:var(--yel)}
.kick{position:absolute;left:var(--pad);top:calc(env(safe-area-inset-top) + 86px);margin:0;display:flex;gap:10px;align-items:flex-start;font:600 11px/1.5 var(--m);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.dot{flex:none;width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--red);animation:pu 2s infinite}
@keyframes pu{0%{box-shadow:0 0 0 0 rgba(227,20,27,.6)}70%,100%{box-shadow:0 0 0 10px rgba(227,20,27,0)}}
.lead{position:absolute;right:var(--pad);bottom:8vh;max-width:330px;margin:0;font-size:15px;color:var(--mute)}
.lead strong{color:var(--ink)}
.cue{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 16px);margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;font:600 10px var(--m);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.cue i{width:1px;height:34px;background:linear-gradient(var(--ink),transparent);transform-origin:top;animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.duo{position:absolute;inset:0;pointer-events:none;opacity:0}
.duo p{position:absolute;margin:0;text-align:center}
.duo-mid{left:0;right:0;top:14vh;font:900 clamp(34px,5vw,84px)/.92 var(--f);font-stretch:70%;text-transform:uppercase}
.duo-mid em{text-transform:none;background:linear-gradient(90deg,var(--yel),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .08em}
.duo-o,.duo-s{bottom:8vh;width:40%;font:900 clamp(30px,4.4vw,66px)/.9 var(--f);font-stretch:70%;text-transform:uppercase}
.duo-o{left:13%}
.duo-s{left:47%;color:var(--mag)}
.duo span{display:block;margin-bottom:10px;font:600 11px var(--m);letter-spacing:.18em;color:var(--mute)}
@media(max-width:819px){
  .ht{font-size:25vw}
  .l1{top:61svh}.l2{top:71svh}.l3{top:81svh;left:calc(var(--pad) + 14vw)}
  .lead{display:none}
  .hstatic{align-items:flex-start;padding-top:17svh}
  .hstatic img{height:40svh}
  .duo-mid{top:12svh}
  .duo-o,.duo-s{bottom:16svh;width:50%}
  .duo-o{left:0}.duo-s{left:50%}
  .duo span{font-size:9px;letter-spacing:.12em}
}
.no3d .hero{height:auto}
.no3d .hero-pin{position:relative;min-height:100svh;height:auto}
.no3d .duo,.no3d .cue{display:none}

/* Original e Sweet */
.orig,.sweet{position:relative;min-height:180vh}
.orig{background:radial-gradient(70vmax 60vmax at 15% 50%,rgba(31,79,166,.28),transparent 60%),var(--navy)}
.sweet{color:#f8ebf3;background:radial-gradient(70vmax 60vmax at 80% 40%,rgba(224,86,159,.3),transparent 60%),radial-gradient(60vmax 60vmax at 10% 90%,rgba(138,63,209,.28),transparent 60%),linear-gradient(var(--pbg),var(--pbg2))}
.col{position:sticky;top:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:100px var(--pad) 56px}
@media(min-width:820px){.orig .col{margin-left:50vw;max-width:46vw}.sweet .col{max-width:50vw}}
@media(max-width:819px){.col{justify-content:flex-end;padding-top:50svh;padding-bottom:40px}}
.pk-st{position:absolute;top:0;height:100svh;display:flex;align-items:center;pointer-events:none;transition:opacity .8s}
.orig .pk-st{left:12vw}.sweet .pk-st{right:12vw}
.pk-st img{height:min(62vh,600px);width:auto;transform:rotate(-6deg);filter:drop-shadow(0 30px 50px rgba(0,0,0,.5))}
.sweet .pk-st img{transform:rotate(6deg)}
.gl-on .pk-st{opacity:0}
@media(max-width:819px){.pk-st{height:50svh;padding-top:70px}.pk-st img{height:36svh}.orig .pk-st{left:14vw}.sweet .pk-st{right:14vw}}
.no3d .orig,.no3d .sweet{min-height:auto}
.no3d .col{position:relative}
.eyebrow{display:flex;gap:12px;align-items:center;margin:0 0 22px;font:600 11px var(--m);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.eyebrow span{color:var(--yel)}
.sweet .eyebrow span{color:var(--mag)}
h2{margin:0;font:900 clamp(54px,9vw,150px)/.86 var(--f);font-stretch:68%;text-transform:uppercase;letter-spacing:-.01em}
h2 em{display:inline-block;text-transform:none;font-size:.8em;letter-spacing:-.01em}
.orig h2 em{color:var(--yel)}
.sweet h2 em{color:var(--mag)}
.col>p{max-width:44ch;margin:24px 0 0;font-size:clamp(16px,1.3vw,19px);color:var(--mute)}
.sweet .col>p{color:rgba(248,235,243,.74)}
.specs{list-style:none;margin:30px 0 0;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:16px 34px;border-top:1px solid var(--line)}
.specs li{display:flex;flex-direction:column}
.specs b{font:900 clamp(38px,4vw,58px)/1 var(--f);font-stretch:70%}
.specs span{margin-top:6px;font:600 10px var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.go-s{align-self:flex-start;margin-top:30px;padding:12px 0 4px;font:600 12px var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--mag);text-decoration:none;border-bottom:1px solid currentColor}
.sweet blockquote{margin:30px 0 0;font:italic 400 clamp(28px,2.8vw,44px)/1.1 var(--s)}
.sweet cite{display:block;margin-top:10px;font:600 10px var(--m);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media(max-width:819px){h2{font-size:15vw}.specs{gap:14px 26px}}

/* parole e comparse */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.04em}
.wi{display:inline-block}
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.in,html:not(.js) .rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.dot,.cue i{animation:none}}

/* manifesto */
.mani{background:var(--navy);padding:clamp(110px,18vh,200px) var(--pad)}
.mani-t{max-width:21ch;font:800 clamp(34px,5.4vw,90px)/1.02 var(--f);font-stretch:80%;text-transform:none;letter-spacing:-.01em}
.mani-t em{color:var(--yel);font-size:1em}

/* formato */
.fmt{background:var(--navy);padding:0 var(--pad) clamp(100px,16vh,180px)}
.fmt-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.fmt-h h2 em{color:var(--yel)}
.fmt-sub{max-width:34ch;margin:0;color:var(--mute)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px 28px 34px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,0))}
.step .n{position:absolute;top:28px;left:28px;font:600 11px var(--m);letter-spacing:.2em;color:var(--mute)}
.step h3{margin:0 0 10px;font:900 clamp(46px,5vw,78px)/.9 var(--f);font-stretch:68%;text-transform:uppercase}
.step:nth-child(1) h3{color:var(--yel)}
.step:nth-child(3) h3{color:var(--mag)}
.step p{margin:0;color:var(--mute)}
.step .big{position:absolute;right:-6px;top:-40px;font:900 220px/1 var(--f);font-stretch:62%;color:rgba(255,255,255,.04)}
.step:nth-child(2){transition-delay:.08s}.step:nth-child(3){transition-delay:.16s}

/* momenti */
.hz{position:relative;background:var(--navy2);padding:clamp(90px,14vh,140px) 0;overflow:hidden}
.hz-row{display:flex;flex-direction:column;gap:40px}
.hz-head{padding:0 var(--pad);max-width:620px}
.hz-head h2 em{color:var(--yel)}
.hz-head p:last-child{margin:22px 0 0;color:var(--mute)}
.hz-track{list-style:none;margin:0;padding:0 var(--pad);display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);scrollbar-width:none;overscroll-behavior-x:contain}
.hz-track::-webkit-scrollbar{display:none}
.hz-card{flex:0 0 74vw;max-width:340px;scroll-snap-align:start}
.hz-card figure{margin:0;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#141833}
.hz-card img{width:100%;height:100%;object-fit:cover}
.hz-card .n{display:block;margin:16px 0 6px;font:600 11px var(--m);letter-spacing:.2em;color:var(--yel)}
.hz-card h3{margin:0;font:800 22px/1.15 var(--f);font-stretch:85%}
.hz-card p{margin:6px 0 0;font-size:15px;color:var(--mute)}
.hz-bar{display:none}
@media(min-width:901px){
  .hz.pin{height:100vh;padding:0;display:flex;align-items:center}
  .hz.pin .hz-row{flex-direction:row;align-items:center;gap:6vw;padding-left:var(--pad);will-change:transform}
  .hz.pin .hz-head{flex:0 0 30vw;padding:0}
  .hz.pin .hz-track{overflow:visible;padding:0 var(--pad) 0 0}
  .hz.pin .hz-card{flex:0 0 clamp(260px,22vw,340px)}
  .hz.pin .hz-bar{display:block;position:absolute;left:var(--pad);right:var(--pad);bottom:6vh;height:2px;background:var(--line)}
  .hz-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yel),var(--mag));transform:scaleX(0);transform-origin:left}
}

/* chi siamo */
.who{background:var(--navy);padding:clamp(100px,16vh,180px) var(--pad)}
.who-g{display:grid;gap:36px}
@media(min-width:900px){.who-g{grid-template-columns:1fr 1fr;align-items:end}}
.who h2 em{color:var(--yel)}
.who p{max-width:56ch;margin:0 0 16px;color:var(--mute)}
.who .lead2{font-size:clamp(20px,2vw,28px);line-height:1.35;color:var(--ink)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:60px}
.gal figure{margin:0;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#141833}
.gal figure:nth-child(2){transform:translateY(36px)}
.gal img{width:100%;height:100%;object-fit:cover}

/* partner */
.partner{background:var(--navy);padding:40px var(--pad) 100px}
.pa{position:relative;overflow:hidden;padding:clamp(40px,7vw,100px) clamp(24px,5vw,80px);border-radius:clamp(24px,3vw,40px);background:radial-gradient(50vmax 40vmax at 90% 10%,rgba(224,86,159,.35),transparent 60%),linear-gradient(112deg,#13205a 0 52%,#4a1838 52.2% 100%)}
.pa .eyebrow{color:rgba(243,241,236,.8)}
.pa-t{font-size:clamp(64px,12vw,200px)}
.pa-t a{text-decoration:none}
.pa-t em{color:var(--yel)}
.pa-g{display:grid;gap:28px;margin-top:50px}
@media(min-width:820px){.pa-g{grid-template-columns:repeat(3,1fr)}}
.pa-g h3{margin:0 0 8px;font:600 11px var(--m);letter-spacing:.2em;text-transform:uppercase;color:var(--yel)}
.pa-g p,.pa-g address{margin:0;font-style:normal;color:rgba(243,241,236,.82)}
.pa-g address a{display:inline-block;padding:4px 0}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}

/* footer */
.foot{position:relative;z-index:1;background:#03040b;padding:60px var(--pad) calc(30px + env(safe-area-inset-bottom));overflow:hidden}
.foot-mega{margin:0;white-space:nowrap;font:900 clamp(56px,14.5vw,280px)/.8 var(--f);font-stretch:62%;letter-spacing:-.02em}
.foot-mega b{color:transparent;-webkit-text-stroke:1.5px var(--yel)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:40px;font:500 12px var(--m);letter-spacing:.03em;color:var(--mute)}
.foot-row p{margin:0}
.foot-row a{text-decoration:none;color:var(--ink)}
.foot-row a:hover{color:var(--yel)}
