
:root{--bg:#061110;--text:#eef7f5;--muted:#a8c2bd;--line:rgba(184,255,236,.18);--brand:#4fa687;--brand2:#2e6f78;--accent:#94ffd1;--max:1240px;--header:72px;--bubbleW:232px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:#061110;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.bgCanvas{position:fixed;inset:0;z-index:0;opacity:.30}.noise{position:fixed;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:3px 3px;opacity:.052}.site{position:relative;z-index:2}.topbar{height:var(--header);position:fixed;top:0;left:0;right:0;z-index:60;background:linear-gradient(180deg,rgba(6,17,16,.88),rgba(6,17,16,.58));backdrop-filter:blur(18px);border-bottom:1px solid rgba(184,255,236,.12)}.nav{height:var(--header);display:flex;align-items:center;justify-content:center;gap:18px}.homeLogo{position:absolute;left:24px;height:48px;width:150px;display:flex;align-items:center;justify-content:flex-start;animation:homeFloat 4.8s ease-in-out infinite}.homeLogo img{max-height:36px;max-width:144px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,255,255,.10))}.homeLogo:hover img{filter:drop-shadow(0 0 18px rgba(148,255,209,.35))}.navLinks{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);max-width:1060px;overflow:hidden}.navLinks a{font-size:12.5px;line-height:1;white-space:nowrap;padding:12px 13px;border-radius:999px;font-weight:900;background:rgba(255,255,255,.034);border:1px solid rgba(184,255,236,.13);transition:.22s}.navLinks a span{background:linear-gradient(135deg,var(--c1),#fff 48%,var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent}.menuBtn{display:none;background:transparent;color:white;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.heroWorld{min-height:100svh;position:relative;display:grid;place-items:center;padding:calc(var(--header) + 18px) 0 76px;overflow:hidden}.heroGlow{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(79,166,135,.26),transparent 31%),radial-gradient(circle at 72% 36%,rgba(46,111,120,.16),transparent 26%),radial-gradient(circle at 25% 72%,rgba(148,255,209,.10),transparent 28%);pointer-events:none}.worldWrap{position:relative;width:min(990px,100%);height:700px;margin:0 auto;display:grid;place-items:center;isolation:isolate}.worldCore{position:absolute;left:50%;top:50%;z-index:9;width:min(430px,45vw);aspect-ratio:1.28;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(148,255,209,.20),rgba(255,255,255,.04) 48%,transparent 70%);box-shadow:0 0 110px rgba(148,255,209,.14),inset 0 0 55px rgba(255,255,255,.04);transform:translate(-50%,-50%);translate:0 0;animation:coreIn .9s cubic-bezier(.2,.8,.2,1) both,coreFloat 6.4s ease-in-out .95s infinite}.worldCore:before,.worldCore:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.worldCore:before{inset:-9%;border:1px solid rgba(148,255,209,.28);animation:spin 36s linear infinite}.worldCore:after{inset:15%;border:1px dashed rgba(148,255,209,.26);animation:spin 46s linear infinite reverse}.worldCore img{width:84%;max-height:260px;position:relative;z-index:2;object-fit:contain;filter:brightness(1.08) drop-shadow(0 26px 55px rgba(0,0,0,.34)) drop-shadow(0 0 20px rgba(255,255,255,.14))}.orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(148,255,209,.13);pointer-events:none;opacity:0;transform:translate(-50%,-50%);animation:orbitIn .8s ease forwards,spinCentered 88s linear infinite}.orbit.o1{width:760px;height:760px;animation-delay:.35s,.35s}.orbit.o2{width:620px;height:620px;animation-delay:.55s,.55s;animation-direction:normal,reverse}.orbit.o3{width:485px;height:485px;animation-delay:.75s,.75s}.constellation{position:absolute;inset:0;z-index:2;pointer-events:none}.constellation line{stroke:rgba(148,255,209,.16);stroke-width:1;stroke-dasharray:7 13;animation:dash 18s linear infinite}.spark{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent);opacity:.62;animation:sparkFloat 6s ease-in-out infinite}.s1{left:18%;top:18%}.s2{right:18%;top:19%;animation-delay:.8s}.s3{right:13%;bottom:25%;animation-delay:1.4s}.s4{left:18%;bottom:22%;animation-delay:2s}.s5{left:49.5%;top:7%;animation-delay:2.6s}.s6{left:49.5%;bottom:7%;animation-delay:3.2s}.servicePlanet{position:absolute;z-index:12;display:flex;align-items:center;justify-content:center;text-align:center;width:var(--bubbleW);min-height:68px;padding:16px 18px;border:1px solid rgba(184,255,236,.15);border-radius:24px;background:rgba(255,255,255,.052);backdrop-filter:blur(18px);box-shadow:0 22px 75px rgba(0,0,0,.28),inset 0 0 20px rgba(255,255,255,.025);font-weight:950;line-height:1.16;opacity:0;translate:0 18px;scale:.96;animation:planetIn .65s cubic-bezier(.2,.8,.2,1) forwards,planetFloat 7.2s ease-in-out infinite}.servicePlanet span{background:linear-gradient(135deg,var(--c1),#fff 52%,var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent}.p1{left:calc(50% - (var(--bubbleW)/2));top:3.5%;animation-delay:.9s,1.7s}.p2{right:1.5%;top:24%;animation-delay:1.05s,1.9s}.p3{right:1.5%;bottom:24%;animation-delay:1.2s,2.1s}.p4{left:calc(50% - (var(--bubbleW)/2));bottom:3.5%;animation-delay:1.35s,2.3s}.p5{left:1.5%;bottom:24%;animation-delay:1.5s,2.5s}.p6{left:1.5%;top:24%;animation-delay:1.65s,2.7s}.claim{position:relative;z-index:20;text-align:center;max-width:920px;margin:62px auto 0;padding:0 24px}.claim h1{font-size:clamp(32px,4.2vw,58px);line-height:1.05;letter-spacing:-.04em;margin:0;text-wrap:balance}.grad{background:linear-gradient(135deg,#fff,#d9fff3 44%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.section{padding:96px 0}.sectionHead{margin-bottom:34px}.protocolTitle{display:flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap;font-size:clamp(36px,4.4vw,62px);line-height:1;letter-spacing:-.045em;margin:0;opacity:0;transform:translateY(24px) scale(.98)}.protocolTitle.in{animation:protocolTitleIn .85s cubic-bezier(.2,.8,.2,1) forwards,protocolTitleFloat 5.6s ease-in-out .9s infinite}.protocolTitleLogo{height:.78em;width:auto;display:inline-block;filter:drop-shadow(0 0 18px rgba(255,255,255,.10));transform:translateY(.04em)}.protocolStage{position:relative;border:1px solid rgba(148,255,209,.18);border-radius:38px;background:radial-gradient(circle at 50% 45%,rgba(148,255,209,.12),transparent 34%),rgba(255,255,255,.035);overflow:hidden;padding:36px 36px 76px}.protocolGrid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.flowLine{position:absolute;left:9%;right:9%;bottom:36px;height:2px;background:rgba(184,255,236,.12);z-index:1}.flowLine:after{content:"";display:block;height:100%;width:0;background:linear-gradient(90deg,transparent,var(--accent),#fff,var(--accent),transparent);box-shadow:0 0 24px rgba(148,255,209,.55)}.protocolStage.in .flowLine:after{animation:flowGrow 2.2s cubic-bezier(.2,.8,.2,1) forwards}.flowPulse{position:absolute;bottom:31px;left:8%;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 22px var(--accent);opacity:0;z-index:2}.protocolStage.in .flowPulse{animation:pulseTravel 3.8s ease-in-out .8s infinite}.phase{position:relative;min-height:300px;padding:24px;border-radius:28px;background:rgba(255,255,255,.055);border:1px solid rgba(184,255,236,.16);box-shadow:0 24px 70px rgba(0,0,0,.26);opacity:0;transform:translateY(34px) scale(.96);overflow:hidden}.phase:after{content:"";position:absolute;inset:auto -30% -45% -30%;height:160px;background:radial-gradient(circle,color-mix(in srgb,var(--phase),transparent 74%),transparent 62%);animation:phaseGlow 6s ease-in-out infinite}.protocolStage.in .phase{animation:phaseIn .82s cubic-bezier(.2,.8,.2,1) forwards}.protocolStage.in .phase:nth-child(1){animation-delay:.16s}.protocolStage.in .phase:nth-child(2){animation-delay:.42s}.protocolStage.in .phase:nth-child(3){animation-delay:.68s}.protocolStage.in .phase:nth-child(4){animation-delay:.94s}.phase h3{font-size:28px;margin:18px 0 12px}.phase p{color:#bdd2ce;line-height:1.62}.phaseMetric{position:absolute;left:24px;bottom:22px;color:#fff;font-size:13px;font-weight:900}.phaseMetric i{display:block;width:118px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--phase),transparent);margin-top:10px;transform-origin:left;transform:scaleX(.2)}.protocolStage.in .phaseMetric i{animation:metricGrow 1.4s ease forwards}.protocolParticles span{position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(148,255,209,.85);box-shadow:0 0 20px rgba(148,255,209,.75);opacity:0}.protocolStage.in .protocolParticles span{animation:particleRise 5s ease-in-out infinite}.protocolParticles span:nth-child(1){left:12%;bottom:12%}.protocolParticles span:nth-child(2){left:30%;bottom:18%;animation-delay:.8s}.protocolParticles span:nth-child(3){left:50%;bottom:10%;animation-delay:1.4s}.protocolParticles span:nth-child(4){left:70%;bottom:18%;animation-delay:2s}.protocolParticles span:nth-child(5){left:88%;bottom:12%;animation-delay:2.6s}.contactPanel{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;border:1px solid rgba(148,255,209,.24);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.032));padding:28px;overflow:hidden}.contactPanel:before{content:"";position:absolute;inset:-40% auto auto -20%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(148,255,209,.14),transparent 62%);opacity:.85;animation:contactGlow 7s ease-in-out infinite}.contactCopy,.contactForm{position:relative;z-index:2}.contactCopy{padding:20px}.contactPanel.in .contactCopy{animation:contactCopyIn .8s cubic-bezier(.2,.8,.2,1) both}.contactForm{display:grid;gap:14px;opacity:0;transform:translateX(28px)}.contactPanel.in .contactForm{animation:formIn .85s cubic-bezier(.2,.8,.2,1) .18s forwards}.field{display:grid;gap:8px;opacity:0;transform:translateY(14px)}.contactPanel.in .field{animation:fieldIn .55s ease forwards}.field label{font-size:13px;color:#d6ebe6;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(184,255,236,.18);border-radius:18px;background:rgba(255,255,255,.055);color:#fff;padding:15px 16px;font:inherit}.field textarea{min-height:132px;resize:vertical}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submitBtn{border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:950;padding:15px 20px;cursor:pointer}.contactPanel.in .submitBtn{animation:buttonPop .65s ease .68s both}.sub{color:var(--muted);font-size:18px;line-height:1.65}.note{font-size:13px;color:var(--muted);line-height:1.5}.footer{padding:40px 0;border-top:1px solid var(--line);color:var(--muted)}.footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(26px);transition:.72s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}@keyframes homeFloat{50%{transform:translateY(-4px)}}@keyframes coreIn{from{opacity:0;transform:translate(-50%,-50%) scale(.78) rotate(-6deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes coreFloat{50%{translate:0 -9px}}@keyframes orbitIn{to{opacity:1}}@keyframes planetIn{to{opacity:1;translate:0 0;scale:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinCentered{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes dash{to{stroke-dashoffset:-260}}@keyframes sparkFloat{50%{transform:translateY(-18px)}}@keyframes planetFloat{50%{translate:0 -12px}}@keyframes protocolTitleIn{to{opacity:1;transform:none}}@keyframes protocolTitleFloat{50%{translate:0 -5px}}@keyframes flowGrow{to{width:100%}}@keyframes pulseTravel{0%{left:8%;opacity:0}10%,90%{opacity:1}100%{left:91%;opacity:0}}@keyframes phaseIn{to{opacity:1;transform:none}}@keyframes phaseGlow{50%{translate:0 -18px}}@keyframes metricGrow{to{transform:scaleX(1)}}@keyframes particleRise{0%{opacity:0;transform:translateY(0) scale(.8)}25%,70%{opacity:.8}100%{opacity:0;transform:translateY(-190px) scale(1.2)}}@keyframes contactGlow{50%{transform:translate(40px,30px) scale(1.08)}}@keyframes contactCopyIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes formIn{to{opacity:1;transform:none}}@keyframes fieldIn{to{opacity:1;transform:none}}@keyframes buttonPop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:1180px){.nav{justify-content:space-between}.homeLogo{position:static}.navLinks{display:none}.menuBtn{display:block}.navLinks.open{display:flex;position:absolute;top:80px;left:24px;right:24px;flex-direction:column;background:#061110;padding:14px}.protocolGrid{grid-template-columns:repeat(2,1fr)}.flowLine,.flowPulse{display:none}.contactPanel{grid-template-columns:1fr}.protocolTitle{white-space:normal}}@media(max-width:720px){.wrap{width:min(100% - 34px,var(--max))}.worldWrap{height:auto}.worldCore{position:relative;left:auto;top:auto;transform:none;margin:auto;width:min(330px,82vw)}.orbit,.constellation,.spark{display:none}.servicePlanet{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;margin:10px 0}.protocolGrid,.formRow{grid-template-columns:1fr}.section{padding:68px 0}.contactPanel{padding:20px}.protocolTitle{font-size:clamp(32px,10vw,48px);gap:10px}.protocolTitleLogo{height:.72em}}

/* ===== Partner / Technologies marquee (home) — added v1 ===== */
.partners{position:relative}
.partnersTitle{display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(30px,3.6vw,50px);line-height:1.32;letter-spacing:-.04em;margin:0 0 14px;padding-bottom:.16em;overflow:visible;opacity:0;transform:translateY(24px) scale(.98)}
.partnersTitle .grad{display:inline-block;line-height:1.32;padding-bottom:.14em}
.partnersTitle.in{animation:protocolTitleIn .85s cubic-bezier(.2,.8,.2,1) forwards,protocolTitleFloat 5.6s ease-in-out .9s infinite}
.partnersSub{max-width:760px;margin:0 auto;text-align:center;color:var(--muted);font-size:clamp(15px,1.4vw,18px);line-height:1.6}
.partnersMarquee{position:relative;margin-top:40px;padding:30px 0;border:1px solid rgba(148,255,209,.16);border-radius:30px;background:radial-gradient(circle at 50% 0%,rgba(148,255,209,.08),transparent 60%),rgba(255,255,255,.03);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.partnersTrack{display:flex;align-items:center;gap:0;width:max-content;margin:0;padding:0;list-style:none;animation:partnersScroll 48s linear infinite;will-change:transform}
.partnersMarquee:hover .partnersTrack{animation-play-state:paused}
.pItem{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:clamp(150px,15vw,210px);padding:0 clamp(20px,2.6vw,40px)}
.pItem img{height:clamp(26px,3vw,40px);width:auto;max-width:100%;object-fit:contain;opacity:.62;filter:drop-shadow(0 0 1px rgba(255,255,255,.15));transition:opacity .3s ease,transform .3s ease}
.pItem img:hover{opacity:1;transform:translateY(-3px) scale(1.04)}
@keyframes partnersScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:720px){
  .partnersMarquee{margin-top:28px;padding:22px 0;border-radius:24px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .partnersTrack{animation-duration:32s}
  .pItem{width:128px;padding:0 18px}
  .pItem img{height:24px;opacity:.7}
}
@media(prefers-reduced-motion:reduce){
  .partnersTrack{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:10px 0}
  .partnersMarquee{-webkit-mask-image:none;mask-image:none}
  .pItem[aria-hidden="true"]{display:none}
  .pItem img{opacity:.8}
}

/* ===== Logo HYSAD animato (hero home) — v2: vortice 3D <hysad-logo> ===== */
.worldCore hysad-logo{position:relative;z-index:2;width:100%;height:100%;display:block}

/* ===== Cinema scroll "Un unico partner" (home) — v2: sequenza a step, background uniforme ===== */
.cinema{position:relative;height:240svh}
.cinemaPin{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}
.cineGlow{position:absolute;inset:0;background:radial-gradient(circle at 50% 58%,rgba(148,255,209,.16),transparent 46%);opacity:0;pointer-events:none}
.cinemaStage{position:relative;display:grid;justify-items:center;gap:clamp(10px,2.4vh,22px);width:min(1100px,100% - 48px);margin:auto;text-align:center}
.cineLine{margin:0;font-weight:950;text-transform:uppercase;letter-spacing:-.03em;line-height:1.1;text-wrap:balance;font-size:clamp(30px,5.4vw,72px);perspective:900px}
.cineL2,.cineL3{font-size:clamp(20px,3.4vw,44px);color:#d6ebe6;font-weight:900}
.cineChar,.cineWord{display:inline-block}
.cineLogo{position:relative;margin-top:clamp(16px,4vh,38px)}
.cineLogo img{width:clamp(230px,42vw,470px);height:auto;filter:drop-shadow(0 0 26px rgba(148,255,209,.22)) drop-shadow(0 20px 50px rgba(0,0,0,.45))}
.cineRing{position:absolute;left:50%;top:50%;width:112%;aspect-ratio:1/1;border:1.5px solid rgba(148,255,209,.55);border-radius:50%;transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none}
.cineFx{position:absolute;inset:0;pointer-events:none}
.cineFx i{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#94ffd1;box-shadow:0 0 16px rgba(148,255,209,.85);opacity:0}
.cineFx i:nth-child(1){--bx:-170px;--by:-70px}
.cineFx i:nth-child(2){--bx:170px;--by:-64px}
.cineFx i:nth-child(3){--bx:-120px;--by:66px}
.cineFx i:nth-child(4){--bx:126px;--by:72px}
.cineFx i:nth-child(5){--bx:-210px;--by:6px}
.cineFx i:nth-child(6){--bx:214px;--by:-8px}
.cineHint{position:absolute;left:50%;bottom:24px;translate:-50% 0;display:grid;justify-items:center;opacity:0;transition:opacity .45s ease;pointer-events:none}
.cineHint span{width:11px;height:11px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);animation:cineHintPulse 1.5s ease-in-out infinite}
.cineHint span+span{margin-top:-5px;animation-delay:.18s}
.cinema.jsCinema:not(.cineDone) .cineHint{opacity:.5}
/* Stato iniziale (attivo solo con JS) */
.jsCinema .cineL1 .cineChar{opacity:0;transform:translate3d(0,42px,0) rotateX(-38deg) scale(.94);filter:blur(4px);transform-origin:50% 100%;backface-visibility:hidden;will-change:transform,opacity,filter}
.cinema.cineDone .cineL1 .cineChar{will-change:auto}
.jsCinema .cineL2 .cineWord{opacity:0;transform:translate3d(-72px,0,0) skewX(-12deg);filter:blur(7px)}
.jsCinema .cineL3 .cineWord{opacity:0;transform:translate3d(72px,0,0) skewX(12deg);filter:blur(7px)}
.jsCinema .cineLogo{opacity:0;will-change:transform,opacity}
/* Step 1: cascata di lettere 3D */
.cinema.cineS1 .cineL1 .cineChar{animation:cineCharIn .7s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:calc(var(--i)*.038s)}
.cinema.cineS1 .cineL1{animation:cineLineGlow 1.1s ease .8s}
/* Step 2/3: parole da sinistra/destra con skew */
.cinema.cineS2 .cineL2 .cineWord{animation:cineWordIn .68s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i)*.085s)}
.cinema.cineS3 .cineL3 .cineWord{animation:cineWordIn .68s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i)*.085s)}
/* Step 4: logo con flash, onde d'urto, particelle, bloom */
.cinema.cineS4 .cineLogo{animation:cineLogoIn .92s cubic-bezier(.16,1,.3,1) forwards}
.cinema.cineS4 .cineLogo img{animation:cineLogoFlash 1.5s ease .45s}
.cinema.cineS4 .cineRing.r1{animation:cineRing 1.05s cubic-bezier(.2,.8,.2,1) .3s forwards}
.cinema.cineS4 .cineRing.r2{animation:cineRing 1.2s cubic-bezier(.2,.8,.2,1) .52s forwards}
.cinema.cineS4 .cineGlow{animation:cineGlowPulse 2s ease .25s}
.cinema.cineS4 .cineFx i{animation:cineBurst .95s cubic-bezier(.2,.8,.2,1) .38s forwards}
.cinema.cineDone .cineLogo img{animation:cineLogoFloat 5.4s ease-in-out infinite}
@keyframes cineCharIn{to{opacity:1;transform:translate3d(0,0,0) rotateX(0deg) scale(1);filter:blur(0)}}
@keyframes cineLineGlow{35%{text-shadow:0 0 34px rgba(148,255,209,.6),0 0 80px rgba(148,255,209,.25)}100%{text-shadow:0 0 0 rgba(148,255,209,0)}}
@keyframes cineWordIn{to{opacity:1;transform:none;filter:blur(0)}}
@keyframes cineLogoIn{0%{opacity:0;transform:scale(1.8) translate3d(0,12px,0);filter:blur(18px)}55%{opacity:1}100%{opacity:1;transform:scale(1) translate3d(0,0,0);filter:blur(0)}}
@keyframes cineLogoFlash{25%{filter:drop-shadow(0 0 48px rgba(148,255,209,.85)) drop-shadow(0 20px 50px rgba(0,0,0,.45))}100%{filter:drop-shadow(0 0 26px rgba(148,255,209,.22)) drop-shadow(0 20px 50px rgba(0,0,0,.45))}}
@keyframes cineRing{0%{opacity:.85;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.15)}}
@keyframes cineGlowPulse{35%{opacity:1}100%{opacity:0}}
@keyframes cineBurst{0%{opacity:1;transform:translate(-50%,-50%) scale(.6)}100%{opacity:0;transform:translate(calc(-50% + var(--bx)),calc(-50% + var(--by))) scale(1.1)}}
@keyframes cineLogoFloat{50%{translate:0 -8px}}
@keyframes cineHintPulse{0%,100%{opacity:.25;translate:0 0}50%{opacity:1;translate:0 5px}}
@media(max-width:720px){.cinema{height:215svh}.cinemaStage{width:min(1100px,100% - 34px)}.cineLine{font-size:clamp(27px,8.2vw,44px)}.cineL2,.cineL3{font-size:clamp(17px,5.4vw,30px)}.cineLogo img{width:clamp(190px,64vw,320px)}.cineFx{transform:scale(.55)}}
@media(prefers-reduced-motion:reduce){
  .cinema{height:auto;padding:96px 0}
  .cinemaPin{position:static;height:auto}
  .cineHint,.cineRing,.cineFx,.cineGlow{display:none}
  .cinema .cineChar,.cinema .cineWord,.cinema .cineLogo{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}
  .cinema.jsCinema .cineLogo{opacity:1}
}

/* ===== Cosa facciamo (overview servizi, home) — added v1 ===== */
.svcIntro{max-width:880px;margin:0 auto 42px;text-align:center;color:var(--muted);line-height:1.7;font-size:clamp(15px,1.4vw,18px)}
.svcIntro strong{color:var(--text)}
.svcGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1080px;margin:0 auto}
.svcCard{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.035);padding:26px 24px;opacity:0;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.svcCard.in{animation:svcInL .85s cubic-bezier(.2,.8,.2,1) both}
.svcCard:nth-child(even).in{animation-name:svcInR}
.svcCard:hover{transform:translateY(-6px);border-color:rgba(148,255,209,.4);background:rgba(255,255,255,.055);box-shadow:0 24px 64px rgba(0,0,0,.3)}
.svcCard h3{margin:0;font-size:19px;letter-spacing:-.02em;color:var(--c1,var(--accent))}
.svcCard p{margin:0;flex:1;color:var(--muted);line-height:1.6;font-size:14.5px}
.svcMore{font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
@keyframes svcInL{from{opacity:0;transform:translateX(-76px)}60%{opacity:1}to{opacity:1;transform:translateX(0)}}
@keyframes svcInR{from{opacity:0;transform:translateX(76px)}60%{opacity:1}to{opacity:1;transform:translateX(0)}}
@media(max-width:720px){
  .svcGrid{grid-template-columns:1fr}
  .svcIntro{text-align:left;margin-bottom:30px}
  @keyframes svcInL{from{opacity:0;transform:translateX(-44px)}60%{opacity:1}to{opacity:1;transform:translateX(0)}}
  @keyframes svcInR{from{opacity:0;transform:translateX(44px)}60%{opacity:1}to{opacity:1;transform:translateX(0)}}
}
@media(prefers-reduced-motion:reduce){.svcCard{opacity:1}.svcCard.in{animation:none}}
