:root{--green:#16a34a;--green-light:#22c55e;--green-pale:#f0fdf4;--dark:#0f172a;--dark2:#1e293b;--text:#334155;--text-light:#64748b;--border:#e2e8f0;--white:#ffffff;--radius:16px;--radius-sm:10px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:#f8fafc;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;color:var(--dark)}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 5%;background:rgba(255,255,255,0.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);height:64px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.2rem;color:var(--dark);text-decoration:none;display:flex;align-items:center;gap:4px}
.nav-logo span{color:var(--green)}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links a{text-decoration:none;font-size:.875rem;font-weight:500;color:var(--text-light);padding:7px 14px;border-radius:30px;transition:all .2s}
.nav-links a:hover,.nav-links a.active{color:var(--dark);background:#f1f5f9}
.nav-links .nav-cta{background:var(--green);color:#fff!important;padding:8px 18px}
.nav-links .nav-cta:hover{background:#15803d}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.hamburger span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:.3s}
.mobile-menu{display:none;position:fixed;inset:0;background:rgba(255,255,255,.97);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:700;color:var(--dark);text-decoration:none}
.mobile-menu .m-cta{background:var(--green);color:#fff!important;padding:14px 36px;border-radius:40px}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:.95rem;padding:13px 26px;border-radius:40px;text-decoration:none;transition:all .25s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 4px 20px rgba(22,163,74,.3)}
.btn-primary:hover{background:#15803d;transform:translateY(-2px);box-shadow:0 8px 28px rgba(22,163,74,.4)}
.btn-secondary{background:var(--white);color:var(--dark);border:1.5px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.btn-secondary:hover{border-color:#94a3b8;transform:translateY(-2px)}
/* SECTIONS */
section{padding:90px 5%}
.section-inner{max-width:1100px;margin:0 auto}
.section-tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.section-title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.2;margin-bottom:16px;letter-spacing:-.5px}
.section-sub{font-size:1rem;color:var(--text-light);line-height:1.8;max-width:560px}
/* HERO HOME */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 5% 80px;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#f0fdf4 0%,#f8fafc 50%,#eff6ff 100%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none}
.hero-orb.o1{width:500px;height:500px;background:radial-gradient(circle,#bbf7d0,transparent);top:-150px;right:-150px;animation:float1 8s ease-in-out infinite}
.hero-orb.o2{width:400px;height:400px;background:radial-gradient(circle,#bfdbfe,transparent);bottom:-100px;left:-100px;animation:float2 10s ease-in-out infinite}
.hero-orb.o3{width:300px;height:300px;background:radial-gradient(circle,#fde68a,transparent);top:40%;left:60%;animation:float1 12s ease-in-out infinite reverse}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-30px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-20px,25px)}}
.hero-content{position:relative;z-index:1;max-width:820px}
.hero h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;line-height:1.1;margin-bottom:20px;letter-spacing:-1.5px}
.hero h1 .accent{color:var(--green)}
.hero p{font-size:1.1rem;color:var(--text-light);line-height:1.8;max-width:580px;margin:0 auto 36px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.hero-stats{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;margin-top:60px;position:relative;z-index:1;padding:28px 40px;background:rgba(255,255,255,.7);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:blur(8px)}
.hero-stat{text-align:center}
.hero-stat-n{font-family:'Plus Jakarta Sans',sans-serif;font-size:2rem;font-weight:800;color:var(--dark)}
.hero-stat-l{font-size:.8rem;color:var(--text-light);margin-top:2px}
/* PAGE HERO (inner pages) */
.page-hero{padding:130px 5% 80px;background:linear-gradient(135deg,#f0fdf4 0%,#f8fafc 60%,#eff6ff 100%);position:relative;overflow:hidden}
.page-hero-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.page-hero-orb.o1{width:350px;height:350px;background:radial-gradient(circle,#bbf7d0,transparent);top:-100px;right:-80px;animation:float1 8s ease-in-out infinite}
.page-hero-orb.o2{width:300px;height:300px;background:radial-gradient(circle,#bfdbfe,transparent);bottom:-80px;left:-80px;animation:float2 10s ease-in-out infinite}
.page-hero-content{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.page-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.1;margin-bottom:18px;letter-spacing:-1px}
.page-hero h1 .accent{color:var(--green)}
.page-hero p{font-size:1rem;color:var(--text-light);line-height:1.8;max-width:580px;margin-bottom:32px}
/* BADGE */
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--border);border-radius:30px;padding:6px 16px 6px 8px;font-size:.8rem;font-weight:500;color:var(--text-light);margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.hero-badge-dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.4)}50%{box-shadow:0 0 0 6px rgba(22,163,74,0)}}
/* CARDS */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;transition:all .25s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.card-icon{width:48px;height:48px;background:var(--green-pale);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--green);margin-bottom:18px}
/* SERVICES GRID (home) */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:48px}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;transition:all .25s;text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green),var(--green-light));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.1);border-color:#cbd5e1}
.service-card:hover::before{transform:scaleX(1)}
.service-icon{width:48px;height:48px;background:var(--green-pale);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--green);margin-bottom:20px}
.service-card h3{font-size:1.1rem;font-weight:700;margin-bottom:10px}
.service-card p{font-size:.9rem;color:var(--text-light);line-height:1.7}
.card-link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--green);margin-top:18px}
/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-img-wrap{position:relative}
.about-img-wrap img{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/5}
.badge-cisco{position:absolute;bottom:24px;left:-20px;background:var(--white);color:var(--dark);border-radius:12px;padding:12px 18px;font-size:.85rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;align-items:center;gap:8px}
.badge-exp{position:absolute;top:24px;right:-20px;background:var(--green);color:#fff;border-radius:12px;padding:12px 18px;font-size:.85rem;font-weight:600;box-shadow:0 8px 24px rgba(22,163,74,.35)}
.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.about-tag{font-size:.8rem;padding:5px 13px;border-radius:30px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6)}
.about-tag.active-tag{background:var(--green);border-color:var(--green);color:#fff}
/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.testi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.testi-stars{color:#f59e0b;font-size:.9rem;margin-bottom:14px}
.testi-text{font-size:.9rem;color:var(--text);line-height:1.8;margin-bottom:20px;font-style:italic}
.testi-author{font-weight:600;font-size:.875rem;color:var(--dark)}
.testi-role{font-size:.8rem;color:var(--text-light)}
/* CTA BANNER */
.cta-banner{background:linear-gradient(135deg,#052e16,#14532d);border-radius:var(--radius);padding:64px 48px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(34,197,94,.2),transparent);border-radius:50%}
.cta-banner h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:14px;position:relative;color:#fff}
.cta-banner p{color:rgba(255,255,255,.75);margin-bottom:32px;font-size:1rem;position:relative;line-height:1.7}
.cta-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:28px;font-size:.8rem;color:rgba(255,255,255,.55);position:relative}
.cta-trust span::before{content:'✓ '}
/* SKILL CHIPS */
.skill-chip{font-size:.75rem;padding:3px 9px;border-radius:20px;background:#f1f5f9;color:var(--text-light);border:1px solid var(--border)}
/* FOOTER */
footer{background:var(--dark);color:rgba(255,255,255,.5);padding:48px 5%;text-align:center}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:16px}
.footer-links a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.85rem;transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-social{display:flex;justify-content:center;gap:14px;margin-bottom:28px}
.footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.9rem;text-decoration:none;transition:all .2s}
.footer-social a:hover{border-color:var(--green);color:var(--green)}
/* ANIMATIONS */
.fade-up{opacity:1;transform:none}
/* RESPONSIVE */
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:40px}.badge-cisco,.badge-exp{position:static;display:inline-flex;margin:6px 4px 0}}
@media(max-width:768px){.nav-links{display:none}.hamburger{display:flex}.cta-banner{padding:40px 24px}.hero-stats{padding:20px;gap:20px}.hero-stat-n{font-size:1.6rem}}

/* Fade-up disabilitato — contenuto sempre visibile */
.fade-up{opacity:1!important;transform:none!important}