    /* Adattamento servizi all'originale usando style.css */
    .hero-serv { 
      text-align: center; 
      padding: 5rem 0 4rem; 
    }
    .hero-serv h1 { 
      font-size: clamp(2.8rem, 4vw, 4.5rem); 
      line-height: 1.15; 
      margin-bottom: 1.75rem; 
      font-weight: 700;
    }
    .hero-serv h1 span { 
      background: linear-gradient(90deg, var(--accent), #ff6b3d); 
      -webkit-background-clip: text; 
      background-clip: text; 
      color: transparent; 
    }
    .hero-serv p { 
      font-size: 1.2rem; 
      max-width: 650px; 
      margin: 0 auto; 
      color: var(--text); 
      line-height: 1.7;
    }

    .services-grid { 
      display: grid; 
      grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); 
      gap: 2rem; 
      margin: 5rem 0; 
    }
    .serv-card { 
      background: rgba(15,23,42,0.95); 
      border: 1px solid var(--border); 
      border-radius: var(--radius-lg); 
      padding: 2.5rem 2rem; 
      box-shadow: var(--shadow-card); 
      transition: all 0.3s ease;
      text-align: center;
    }
    .serv-card:hover { 
      transform: translateY(-8px); 
      box-shadow: var(--shadow-soft); 
      border-color: rgba(255,179,0,0.4);
    }
    .serv-icon { 
      font-size: 3.5rem; 
      margin-bottom: 1.5rem; 
      display: block;
    }
    .serv-title { 
      font-size: 1.4rem; 
      font-weight: 600; 
      margin-bottom: 1rem; 
      color: var(--text);
    }
    .serv-desc { 
      font-size: 1rem; 
      color: var(--muted); 
      line-height: 1.6; 
      margin-bottom: 1.75rem;
    }
    .serv-list { 
      list-style: none; 
      text-align: left; 
      margin-bottom: 2rem;
    }
    .serv-list li { 
      font-size: 0.95rem; 
      color: var(--text); 
      padding: 0.5rem 0; 
      padding-left: 1.75rem; 
      position: relative;
    }
    .serv-list li::before { 
      content: "▸"; 
      color: var(--accent); 
      font-weight: bold; 
      position: absolute; 
      left: 0;
    }
    .tech-stack { 
      display: flex; 
      flex-wrap: wrap; 
      gap: 0.5rem; 
      justify-content: center;
    }
    .tag { 
      font-size: 0.75rem; 
      padding: 0.3rem 0.75rem; 
      background: rgba(255,179,0,0.12); 
      color: var(--accent); 
      border: 1px solid rgba(255,179,0,0.3); 
      border-radius: var(--radius-pill); 
      font-weight: 500;
    }

    .cta-final { 
      margin-top: 6rem; 
      text-align: center; 
      padding: 3rem 2rem; 
      background: rgba(255,179,0,0.05); 
      border: 1px dashed rgba(255,179,0,0.3); 
      border-radius: var(--radius-lg); 
    }
    .cta-final h3 { 
      font-size: 1.6rem; 
      margin-bottom: 1.25rem; 
      color: var(--text);
    }
    .cta-final p { 
      color: var(--muted); 
      margin-bottom: 2.5rem; 
      max-width: 600px; 
      margin-left: auto; 
      margin-right: auto; 
      font-size: 1.05rem;
    }
    .cta-final a { 
      background: linear-gradient(135deg, var(--accent), #ff6b3d); 
      color: #050816; 
      padding: 1rem 2.5rem; 
      border-radius: var(--radius-pill); 
      font-weight: 600; 
      font-size: 1rem; 
      display: inline-block; 
      box-shadow: var(--shadow-soft); 
      transition: all 0.2s ease;
    }
    .cta-final a:hover { 
      transform: translateY(-2px); 
      box-shadow: 0 20px 50px rgba(255,179,0,0.4);
    }

    @media (max-width: 900px) {
      .services-grid { grid-template-columns: 1fr; }
      .serv-card { padding: 2rem 1.5rem; }
    }
