/* TechCorp wow layer. Tutte le regole che nascondono contenuto valgono solo sotto html.wow-on (aggiunta da JS). */

/* 1. Reveal generico */
html.wow-on .wow{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
html.wow-on .wow.wow-in{opacity:1;transform:none}

/* 2. Tipografia a parole mascherate */
html.wow-on [data-wow-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
html.wow-on [data-wow-split] .w>i{font-style:normal;display:inline-block;transform:translateY(115%);transition:transform .9s cubic-bezier(.22,1,.36,1)}
html.wow-on [data-wow-split].wow-in .w>i{transform:none}

/* 3. Marquee tecnologie */
html.wow-on .wow-marquee{display:flex;flex-wrap:nowrap;overflow:hidden;gap:12px;justify-content:flex-start;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
html.wow-on .wow-marquee-track{display:flex;gap:12px;flex-shrink:0;min-width:max-content;animation:wowMarquee var(--marquee-dur,30s) linear infinite}
html.wow-on .wow-marquee:hover .wow-marquee-track{animation-play-state:paused}
@keyframes wowMarquee{to{transform:translateX(calc(-100% - 12px))}}

/* 4. Micro interazioni desktop */
html.wow-on .wow-magnet{transition:transform .18s ease}
html.wow-on .wow-tilt.wow-done{transition:transform .18s ease,box-shadow .18s ease;will-change:transform}

/* 5. Parallax layer */
html.wow-on .hero-glow,html.wow-on .hero-grid{will-change:transform}

/* 6. Uniforma le curve degli elementi data-aos esistenti (animati da main.min.js) */
html.wow-on [data-aos]{transition-duration:.9s;transition-timing-function:cubic-bezier(.22,1,.36,1)}

/* 7. Mobile: reveal piu brevi */
@media (max-width:768px){
html.wow-on .wow{transform:translateY(16px);transition-duration:.6s}
html.wow-on [data-wow-split] .w>i{transition-duration:.6s}
}

/* 8. Barra di progresso scroll */
html.wow-on .wow-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#22c55e,#86efac);transform:scaleX(0);transform-origin:0 50%;z-index:2000;pointer-events:none}

/* 9. Spotlight sulle card */
html.wow-on .wow-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(34,197,94,.14),transparent 65%);opacity:0;transition:opacity .25s ease;pointer-events:none}
html.wow-on .wow-spot:hover::after{opacity:1}

/* 10. Transizioni di pagina */
html.wow-on .wow-veil{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:9999;transition:opacity .42s cubic-bezier(.22,1,.36,1)}
html.wow-on .wow-veil.wow-veil-cover{opacity:1;transition:none}
html.wow-on.wow-leave .wow-veil{opacity:1;pointer-events:auto;transition-duration:.38s}
html.wow-on.wow-leave{cursor:progress}

/* 11. Reveal immagini di contenuto */
html.wow-on .wow-img{clip-path:inset(10% 4% 10% 4% round 8px);transform:scale(1.05);opacity:.4;transition:clip-path 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),opacity .7s ease}
html.wow-on .wow-img.wow-in{clip-path:inset(0 0 0 0 round 0);transform:none;opacity:1}

/* 12. Cursore morbido (creato da JS solo desktop) */
html.wow-on .wow-cursor{display:none!important}

/* 13. Sweep di luce sui bottoni primari */
html.wow-on .wow-magnet{position:relative;overflow:hidden}
html.wow-on .wow-magnet::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .55s ease}
html.wow-on .wow-magnet:hover::before{left:130%}

/* 14. Parallax hero visual */
html.wow-on .hero-visual{will-change:transform,opacity}

/* 15. Sicurezza: con reduced-motion tutto statico anche se wow-on fosse presente */
@media (prefers-reduced-motion:reduce){
html.wow-on .wow{opacity:1;transform:none;transition:none}
html.wow-on [data-wow-split] .w>i{transform:none;transition:none}
html.wow-on .wow-marquee-track{animation:none}
html.wow-on .wow-img{clip-path:none;transform:none;opacity:1;transition:none}
html.wow-on .wow-cursor{display:none}
}
