@import"https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,600,700&display=swap";:root{--color-bg: #0A0A0F;--color-surface: #111827;--color-surface-secondary: #1E293B;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-text: #FFFFFF;--color-muted: #94A3B8;--color-primary: #32D74B;--color-primary-glow: rgba(50, 215, 75, .25);--color-primary-hover: #45E05A;--color-gradient-1: rgba(50, 215, 75, .08);--color-gradient-2: rgba(50, 215, 75, .05);--color-gradient-3: rgba(50, 215, 75, .03);--font-sans: "Satoshi", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: clamp(1.75rem, 4vw, 2.5rem);--text-4xl: clamp(2rem, 5vw, 3rem);--text-5xl: clamp(2.5rem, 6vw, 4rem);--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-primary-glow);--container: 1280px;--header-height: 72px;--transition: .25s cubic-bezier(.16, 1, .3, 1);--transition-slow: .5s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.7;color:var(--color-muted);background:var(--color-bg);min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}a{color:var(--color-text);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary)}::selection{background:var(--color-primary);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.container{max-width:var(--container);margin:0 auto;padding:0 var(--spacing-8)}.section{padding:var(--spacing-24) 0}.section-label{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);margin-bottom:var(--spacing-4)}.section-label:before{content:"";width:24px;height:1.5px;background:var(--color-primary);border-radius:var(--radius-full)}.section-title{font-size:var(--text-4xl);font-weight:700;color:var(--color-text);line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--spacing-4)}.section-subtitle{font-size:var(--text-lg);color:var(--color-muted);max-width:600px;line-height:1.7}.text-center{text-align:center}.text-center .section-label:before{display:none}.mx-auto{margin-left:auto;margin-right:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:.75rem 1.75rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;line-height:1;cursor:pointer;transition:all var(--transition);border:none;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.btn svg{width:18px;height:18px;stroke-width:2}.btn-primary{background:var(--color-primary);color:var(--color-bg);box-shadow:0 0 24px var(--color-primary-glow)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 0 32px var(--color-primary-glow);transform:translateY(-2px);color:var(--color-bg)}.btn-outline{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-border-hover);background:#ffffff08;color:var(--color-text);transform:translateY(-2px)}.header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);background:#0a0a0fbf;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid transparent;transition:border-color var(--transition),background var(--transition)}.header.scrolled{border-bottom-color:var(--color-border);background:#0a0a0fd9}.header .container{height:100%}.header-content{display:flex;align-items:center;height:100%;gap:var(--spacing-8)}.logo{font-size:var(--text-xl);font-weight:700;color:var(--color-text);letter-spacing:-.03em;white-space:nowrap;flex-shrink:0}.logo:hover{color:var(--color-text)}.nav{display:flex;align-items:center;height:100%;gap:var(--spacing-1);margin-left:auto}.nav-link{position:relative;font-size:var(--text-sm);font-weight:500;color:var(--color-muted);padding:.5rem 1rem;border-radius:var(--radius-full);transition:all var(--transition);touch-action:manipulation}.nav-link:after{content:"";position:absolute;bottom:2px;left:50%;width:0;height:2px;background:var(--color-primary);border-radius:var(--radius-full);transform:translate(-50%);transition:width var(--transition)}.nav-link:hover{color:var(--color-text);background:#ffffff08}.nav-link:hover:after{width:20px}.nav-link.active{color:var(--color-text)}.nav-link.active:after{width:20px}.menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;gap:5px;padding:var(--spacing-3);margin-left:auto;z-index:1001}.menu-toggle span{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:all var(--transition);transform-origin:center}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0;transform:translate(-8px)}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:var(--header-height);overflow:hidden}.hero .container{display:flex;justify-content:center}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero-bg-image{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/herowallpaper.webp) center / cover no-repeat;opacity:.15}.hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 20% 60%,var(--color-gradient-1) 0%,transparent 70%),radial-gradient(ellipse 500px 300px at 80% 30%,var(--color-gradient-2) 0%,transparent 70%),radial-gradient(ellipse 400px 400px at 60% 80%,var(--color-gradient-3) 0%,transparent 70%),radial-gradient(ellipse 300px 300px at 10% 20%,var(--color-gradient-2) 0%,transparent 70%);animation:gradient-shift 20s ease-in-out infinite alternate}.hero-content{position:relative;z-index:1;padding:var(--spacing-16) 0}.hero-badge{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:.4rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;color:var(--color-muted);margin-bottom:var(--spacing-6)}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 8px var(--color-primary-glow);animation:pulse-dot 2s ease-in-out infinite}.hero-title{font-size:var(--text-5xl);font-weight:700;color:var(--color-text);line-height:1.08;letter-spacing:-.03em;margin-bottom:var(--spacing-6)}.hero-title .highlight{color:var(--color-primary)}.hero-subtitle{font-size:var(--text-lg);color:var(--color-muted);line-height:1.7;margin-bottom:var(--spacing-10)}.hero-actions{display:flex;align-items:center;gap:var(--spacing-4)}.hero-shapes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.shape{position:absolute;border-radius:50%;opacity:.4;border:1px solid var(--color-border)}.shape-1{width:300px;height:300px;top:10%;right:-5%;background:radial-gradient(circle,rgba(50,215,75,.06),transparent);animation:float 12s ease-in-out infinite}.shape-2{width:200px;height:200px;bottom:15%;right:20%;background:radial-gradient(circle,rgba(50,215,75,.04),transparent);animation:float 16s ease-in-out infinite reverse}.shape-3{width:150px;height:150px;top:30%;left:10%;background:radial-gradient(circle,rgba(50,215,75,.05),transparent);animation:float 14s ease-in-out infinite 2s}.shape-4{width:100px;height:100px;bottom:40%;left:30%;border-radius:20%;background:radial-gradient(circle,rgba(50,215,75,.03),transparent);animation:float 10s ease-in-out infinite 1s;transform:rotate(45deg)}.shape-5{width:80px;height:80px;top:60%;right:35%;border-radius:20%;background:radial-gradient(circle,rgba(50,215,75,.04),transparent);animation:float 18s ease-in-out infinite 3s}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-6);margin-top:var(--spacing-10)}.service-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-8);transition:all var(--transition);overflow:hidden;cursor:pointer}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary-glow),transparent);opacity:0;transition:opacity var(--transition)}.service-card:hover{border-color:var(--color-primary-glow);transform:translateY(-4px);box-shadow:0 12px 40px #0006}.service-card:hover:before{opacity:1}.service-card .service-link:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.service-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-surface-secondary);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--spacing-5);transition:all var(--transition)}.service-icon svg{width:22px;height:22px;stroke-width:1.5}.service-card:hover .service-icon{background:var(--color-primary-glow);border-color:var(--color-primary-glow)}.service-card h3{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-3);letter-spacing:-.02em}.service-card p{color:var(--color-muted);line-height:1.7;font-size:var(--text-sm);margin-bottom:var(--spacing-6)}.service-link{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);transition:gap var(--transition)}.service-link svg{width:16px;height:16px;transition:transform var(--transition)}.service-link:hover{gap:var(--spacing-3)}.service-link:hover svg{transform:translate(2px)}.process-section{position:relative}.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-6);margin-top:var(--spacing-10);position:relative}.process-steps:before{content:"";position:absolute;top:32px;left:calc(10% + 16px);right:calc(10% + 16px);height:1px;background:linear-gradient(90deg,var(--color-primary-glow),var(--color-border),var(--color-border),var(--color-border),var(--color-primary-glow))}.process-step{text-align:center;position:relative}.process-step-number{width:64px;height:64px;margin:0 auto var(--spacing-5);border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:700;color:var(--color-primary);position:relative;z-index:1;transition:all var(--transition)}.process-step:hover .process-step-number{background:var(--color-primary-glow);border-color:var(--color-primary-glow);box-shadow:0 0 20px var(--color-primary-glow)}.process-step h4{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-2)}.process-step p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}.tech-section{position:relative}.tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-3);margin-top:var(--spacing-10)}.tech-item{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:.5rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--color-muted);transition:all var(--transition)}.tech-item svg{width:16px;height:16px;color:var(--color-primary)}.tech-item:hover{border-color:var(--color-primary-glow);color:var(--color-text);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.cta-section{position:relative;text-align:center;overflow:hidden}.cta-card{position:relative;background:linear-gradient(135deg,var(--color-surface) 0%,rgba(50,215,75,.03) 100%);border:1px solid var(--color-primary-glow);border-radius:var(--radius-xl);padding:var(--spacing-16) var(--spacing-8);overflow:hidden}.cta-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,var(--color-primary-glow) 0%,transparent 30%);opacity:.3;animation:cta-glow 8s ease-in-out infinite alternate}.cta-card>*{position:relative;z-index:1}.cta-card .section-title{margin-bottom:var(--spacing-6)}.cta-card .section-subtitle{margin-bottom:var(--spacing-8)}.cta-actions{display:flex;justify-content:center;gap:var(--spacing-4);flex-wrap:wrap}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:60px 60px;opacity:.3;pointer-events:none}.services-hero{padding:calc(var(--header-height) + var(--spacing-16)) 0 var(--spacing-16);position:relative;text-align:center}.services-detail{padding-bottom:var(--spacing-24)}.services-detail-grid{display:grid;gap:var(--spacing-8);margin-top:var(--spacing-10)}.service-detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-10);transition:all var(--transition)}.service-detail-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.service-detail-header{display:flex;align-items:flex-start;gap:var(--spacing-5);margin-bottom:var(--spacing-6)}.service-detail-icon{width:56px;height:56px;min-width:56px;border-radius:var(--radius-md);background:var(--color-surface-secondary);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.service-detail-icon svg{width:26px;height:26px;stroke-width:1.5}.service-detail-header h3{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-1);letter-spacing:-.02em}.service-tagline{font-size:var(--text-sm);color:var(--color-muted)}.service-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-6)}.service-detail-desc p{color:var(--color-muted);line-height:1.8}.service-detail-desc strong{color:var(--color-text)}.service-features{list-style:none;display:grid;gap:var(--spacing-3)}.service-features li{position:relative;padding-left:var(--spacing-6);font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}.service-features li:before{content:"";position:absolute;left:0;top:8px;width:14px;height:2px;background:var(--color-primary);border-radius:var(--radius-full)}.service-features li strong{color:var(--color-text)}.service-ideal{padding:var(--spacing-5);background:var(--color-surface-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-6)}.service-ideal p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.7}.service-ideal strong{color:var(--color-primary)}.portfolio-hero{padding:calc(var(--header-height) + var(--spacing-16)) 0 var(--spacing-16);position:relative;text-align:center}.portfolio-section{padding-bottom:var(--spacing-24)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--spacing-6);margin-top:var(--spacing-10)}.project-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition)}.project-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card .project-content{display:flex;flex-direction:column;flex:1;padding:var(--spacing-6)}.project-body{flex:1;display:flex;flex-direction:column;justify-content:center}.project-card .project-status{margin-top:auto;padding-top:var(--spacing-4)}.project-image{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--color-surface-secondary)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .project-image img{transform:scale(1.05)}.project-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.project-image-placeholder svg{width:48px;height:48px;color:var(--color-muted);opacity:.4}.project-badge{position:absolute;top:var(--spacing-4);right:var(--spacing-4);padding:.25rem .75rem;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background:#32d74b26;color:var(--color-primary);border:1px solid var(--color-primary-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-content{padding:var(--spacing-6)}.project-meta{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4);flex-wrap:wrap}.project-category{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary)}.project-dates{font-size:var(--text-xs);color:var(--color-muted);margin-left:auto}.project-content h3{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-3);letter-spacing:-.02em}.project-content p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.7;margin-bottom:var(--spacing-5)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-5)}.project-tag{padding:.2rem .75rem;font-size:var(--text-xs);font-weight:500;color:var(--color-muted);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition)}.project-tag:hover{border-color:var(--color-primary-glow);color:var(--color-text)}.project-status{margin-top:var(--spacing-4)}.progress-bar{width:100%;height:4px;background:var(--color-surface-secondary);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--spacing-2)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-full);transition:width 1s cubic-bezier(.16,1,.3,1)}.project-selector{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.selector-btn{padding:.35rem 1rem;font-size:var(--text-xs);font-weight:500;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-muted);cursor:pointer;transition:all var(--transition)}.selector-btn:hover{border-color:var(--color-border-hover);color:var(--color-text)}.selector-btn.active{background:var(--color-primary-glow);border-color:var(--color-primary-glow);color:var(--color-primary)}.cv-card{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-12) var(--spacing-8);margin-top:var(--spacing-10);transition:all var(--transition)}.cv-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.cv-icon{width:64px;height:64px;margin:0 auto var(--spacing-5);border-radius:var(--radius-md);background:var(--color-surface-secondary);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.cv-icon svg{width:28px;height:28px}.cv-card h3{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-3)}.cv-card p{color:var(--color-muted);margin-bottom:var(--spacing-6)}.contatti-hero{padding:calc(var(--header-height) + var(--spacing-16)) 0 var(--spacing-16);position:relative;text-align:center}.contatti-page{padding-bottom:var(--spacing-24)}.contatti-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-10);align-items:start;margin-top:var(--spacing-6)}.contatti-info{display:flex;flex-direction:column;gap:var(--spacing-5);position:sticky;top:calc(var(--header-height) + var(--spacing-8))}.info-card{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition)}.info-card:hover{border-color:var(--color-primary-glow);transform:translate(4px)}.info-card-icon{width:48px;height:48px;min-width:48px;background:#ffffff08;border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;pointer-events:none}.info-card-icon *{pointer-events:none}.info-card-icon svg{width:22px;height:22px}.info-card-text h3{font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:2px}.info-card-text p{font-size:var(--text-sm);color:var(--color-muted)}.social-section{padding:var(--spacing-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.social-section h3{font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-4)}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3)}.social-link-item{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:.5rem .75rem;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-muted);transition:all var(--transition)}.social-link-item svg{width:16px;height:16px}.social-link-item:hover{border-color:var(--color-primary-glow);color:var(--color-text);transform:translateY(-2px)}.contatti-form-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-8)}.form-header{margin-bottom:var(--spacing-6)}.form-header h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-3);letter-spacing:-.02em}.form-header p{color:var(--color-muted);font-size:var(--text-sm)}.contatti-form-wrapper iframe{border-radius:var(--radius-md);min-height:600px}.privacy-section{padding:calc(var(--header-height) + var(--spacing-16)) 0 var(--spacing-24)}.privacy-content{max-width:860px;margin:0 auto}.privacy-content h1{font-size:var(--text-4xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-6);line-height:1.15;letter-spacing:-.03em}.privacy-content h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);margin-top:var(--spacing-12);margin-bottom:var(--spacing-4);scroll-margin-top:calc(var(--header-height) + var(--spacing-8))}.privacy-content h3{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-top:var(--spacing-8);margin-bottom:var(--spacing-3)}.privacy-content h4{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin-top:var(--spacing-6);margin-bottom:var(--spacing-2)}.privacy-content p{margin-bottom:var(--spacing-4);line-height:1.8;color:var(--color-muted)}.privacy-content ul,.privacy-content ol{margin-bottom:var(--spacing-4);padding-left:var(--spacing-8)}.privacy-content li{margin-bottom:var(--spacing-2);line-height:1.7;color:var(--color-muted)}.privacy-content strong{color:var(--color-text);font-weight:600}.privacy-content a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.privacy-content a:hover{opacity:.8}.privacy-intro{background:var(--color-surface);padding:var(--spacing-6);border-radius:var(--radius-lg);border-left:3px solid var(--color-primary);margin-bottom:var(--spacing-8)}.privacy-toc{background:var(--color-surface);padding:var(--spacing-6);border-radius:var(--radius-lg);margin-bottom:var(--spacing-8);border:1px solid var(--color-border)}.privacy-toc h3{margin-top:0;font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--spacing-4)}.privacy-toc ol{margin-bottom:0;padding-left:var(--spacing-6)}.privacy-toc li{margin-bottom:var(--spacing-1)}.privacy-toc a{color:var(--color-primary);text-decoration:none}.privacy-toc a:hover{text-decoration:underline}.last-update{color:var(--color-muted);font-style:italic;font-size:var(--text-sm);margin-bottom:var(--spacing-8)}.privacy-divider{margin:var(--spacing-12) 0;border:none;height:1px;background:var(--color-border)}.privacy-footer-text{text-align:center;color:var(--color-muted);font-size:var(--text-sm)}.error-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height));padding:var(--spacing-16) var(--spacing-8)}.error-content{text-align:center;max-width:480px;width:100%}.error-code{font-size:clamp(100px,18vw,160px);font-weight:700;background:linear-gradient(135deg,var(--color-primary) 0%,rgba(50,215,75,.3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;letter-spacing:-.04em;margin-bottom:var(--spacing-4)}.error-icon{margin-bottom:var(--spacing-6)}.error-icon svg{width:64px;height:64px;color:var(--color-primary);opacity:.4}.error-title{font-size:var(--text-3xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-4)}.error-description{font-size:var(--text-base);color:var(--color-muted);margin-bottom:var(--spacing-8);line-height:1.7}.error-actions{display:flex;gap:var(--spacing-4);justify-content:center;flex-wrap:wrap}.footer{border-top:1px solid var(--color-border);padding:var(--spacing-12) 0 var(--spacing-8)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--spacing-10);margin-bottom:var(--spacing-8)}.footer-brand p{font-size:var(--text-sm);color:var(--color-muted);max-width:340px;line-height:1.6;margin-top:var(--spacing-3)}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8)}.footer-links h4{font-size:var(--text-xs);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-4);text-transform:uppercase;letter-spacing:.08em}.footer-links a{display:block;font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--spacing-2);transition:color var(--transition)}.footer-links a:hover{color:var(--color-text)}.footer-bottom{padding-top:var(--spacing-6);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-4)}.footer-bottom p{font-size:var(--text-xs);color:var(--color-muted)}.footer-social{display:flex;align-items:center;gap:var(--spacing-3)}.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-muted);transition:all var(--transition)}.footer-social a svg{width:16px;height:16px}.footer-social a:hover{border-color:var(--color-primary-glow);color:var(--color-primary);background:var(--color-primary-glow);transform:translateY(-2px)}.nav-overlay{display:none}@keyframes gradient-shift{0%{background-position:0% 50%}25%{background-position:50% 0%}50%{background-position:100% 50%}75%{background-position:50% 100%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(3deg)}66%{transform:translateY(10px) rotate(-2deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@keyframes cta-glow{0%{transform:translate(-30%,-30%) rotate(0)}to{transform:translate(30%,30%) rotate(10deg)}}@media(max-width:1024px){.hero-content{padding:var(--spacing-12) 0 var(--spacing-6)}.process-steps{grid-template-columns:repeat(3,1fr)}.process-steps:before{display:none}.service-detail-body{grid-template-columns:1fr;gap:var(--spacing-6)}.contatti-layout{grid-template-columns:1fr;gap:var(--spacing-8)}.contatti-info{position:static}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;gap:var(--spacing-8)}}@media(max-width:768px){.container{padding:0 var(--spacing-6)}.section{padding:var(--spacing-16) 0}.section-sm{padding:var(--spacing-12) 0}.nav{position:fixed;top:var(--header-height);left:0;width:100%;height:calc(100vh - var(--header-height));flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-4);background:var(--color-bg);margin:0;padding:var(--spacing-10) var(--spacing-6);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav.active{opacity:1;visibility:visible}.nav-link{width:100%;text-align:center;padding:1rem 1.5rem;font-size:var(--text-lg)}.nav-link:after{display:none}.menu-toggle{display:flex;position:relative;z-index:1001}body.nav-open{overflow:hidden}.hero{min-height:auto}.hero-content{padding:var(--spacing-8) 0 var(--spacing-6)}.hero-title{font-size:var(--text-4xl)}.hero-subtitle{font-size:var(--text-base)}.hero-actions{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.hero-actions .btn{width:100%}.services-grid{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.process-step-number{width:48px;height:48px;font-size:var(--text-lg)}.service-detail-card{padding:var(--spacing-6)}.service-detail-header{flex-direction:column;gap:var(--spacing-4)}.portfolio-grid{grid-template-columns:1fr}.project-content{padding:var(--spacing-5)}.contatti-layout{gap:var(--spacing-6)}.contatti-form-wrapper{padding:var(--spacing-6)}.contatti-form-wrapper iframe{min-height:500px}.footer-grid{grid-template-columns:1fr;gap:var(--spacing-8)}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:480px){.container{padding:0 var(--spacing-4)}.section{padding:var(--spacing-12) 0}.hero-title{font-size:var(--text-3xl)}.hero-subtitle{font-size:var(--text-sm)}.process-steps{grid-template-columns:1fr}.service-card{padding:var(--spacing-6)}.cta-card{padding:var(--spacing-10) var(--spacing-5)}.social-grid{grid-template-columns:1fr}.privacy-content h1{font-size:var(--text-3xl)}.service-detail-header{flex-direction:column;text-align:center;align-items:center}.service-detail-icon{margin-bottom:var(--spacing-3)}.contatti-form-wrapper{padding:var(--spacing-5)}.contatti-form-wrapper iframe{min-height:480px}.process-step-number{width:48px;height:48px;font-size:var(--text-base)}.error-container{padding:var(--spacing-8) var(--spacing-4)}.project-content h3{font-size:var(--text-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
