Vai al contenuto
EDIL Swiss
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%} .ep{width:100vw!important;max-width:100vw!important;margin-left:calc(-50vw + 50%)!important;margin-right:calc(-50vw + 50%)!important;font-family:"Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.7;color:#2d3748;overflow-x:hidden!important;font-size:16px;-webkit-font-smoothing:antialiased} .ep *{box-sizing:border-box} /* ===== ANIMATIONS ===== */ @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}} @keyframes pulse{0%,100%{box-shadow:0 4px 15px rgba(76,175,80,.25)}50%{box-shadow:0 4px 30px rgba(76,175,80,.45)}} @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}} .anim{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.anim.visible{opacity:1;transform:translateY(0)} /* ===== HERO ===== */ .eh{background:linear-gradient(160deg,rgba(5,5,16,.9) 0%,rgba(13,27,62,.87) 40%,rgba(26,58,92,.84) 100%),var(--hero-img,none) center/cover no-repeat;color:#fff;padding:56px 24px 48px;text-align:center;position:relative;overflow:hidden} .eh::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 75%,rgba(76,175,80,.08) 0%,transparent 55%);pointer-events:none} .eh-deco{position:absolute;border-radius:50%;pointer-events:none;border:1px solid rgba(255,255,255,.04)} .eh-deco-1{width:300px;height:300px;top:-120px;left:-100px} .eh-deco-2{width:180px;height:180px;bottom:-60px;right:-50px;animation:float 7s ease-in-out infinite} .eh-deco-3{width:80px;height:80px;top:25%;right:8%;animation:float 11s ease-in-out infinite reverse} .eh h1{font-size:28px;font-weight:800;line-height:1.2;margin:0 0 16px;position:relative;letter-spacing:-.03em} .eh>p{font-size:16px;max-width:620px;margin:0 auto 24px;opacity:.88;position:relative;line-height:1.75} .eh-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(76,175,80,.12);color:#7ddb8a;padding:7px 16px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:16px;position:relative;letter-spacing:.3px;border:1px solid rgba(76,175,80,.18)} .eh-badge::before{content:"";width:6px;height:6px;background:#4CAF50;border-radius:50%;flex-shrink:0} .eh-btns{display:flex;flex-direction:column;gap:12px;align-items:center;position:relative;padding:0 8px} .eb{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;border-radius:50px;font-size:16px;font-weight:700;text-decoration:none!important;transition:all .2s ease;min-height:52px;width:100%;max-width:340px;letter-spacing:.2px} .eb-green{background:linear-gradient(135deg,#43a047,#388e3c);color:#fff!important;box-shadow:0 4px 14px rgba(76,175,80,.3);animation:pulse 4s ease-in-out infinite} .eb-green:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(76,175,80,.4)} .eb-outline{background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.25);color:#fff!important} .eb-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)} /* ===== TRUST BAR ===== */ .et{display:grid;grid-template-columns:repeat(2,1fr);background:#fff;border-bottom:1px solid #edf0f7;box-shadow:0 2px 8px rgba(0,0,0,.03)} .et-i{text-align:center;padding:24px 12px;position:relative} .et-i+.et-i{border-left:1px solid #edf0f7} .et-i:nth-child(n+3){border-top:1px solid #edf0f7} .et-n{font-size:28px;font-weight:800;color:#1a2744;display:block;line-height:1.15} .et-l{font-size:11px;color:#7a859b;text-transform:uppercase;letter-spacing:1.3px;margin-top:4px;display:block;font-weight:600} /* ===== SECTIONS ===== */ .es{padding:48px 24px;max-width:1200px;margin:0 auto} .es-bg{background:#f8f9fc;padding:48px 24px} .es-bg .es-inner{max-width:1200px;margin:0 auto} .es h2{font-size:24px;color:#1a2744;margin-bottom:10px;font-weight:700;line-height:1.25;letter-spacing:-.02em} .es-sub{font-size:15px;color:#7a859b;margin-bottom:28px;line-height:1.6} .es h3{font-size:18px;color:#1a2744;margin:24px 0 8px;font-weight:700} .es p,.es li{font-size:15.5px;color:#4a556b;line-height:1.8} .es ul{padding-left:20px;margin:10px 0 16px} .es li{margin-bottom:8px} .es strong{color:#1a2744} .es a{color:#388e3c;text-decoration:none;font-weight:600} .es a:hover{text-decoration:underline} .es-divider{width:48px;height:3px;background:linear-gradient(90deg,#43a047,#66bb6a);border-radius:2px;margin:0 auto 28px} /* ===== CARDS ===== */ .eg{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0} .ec{background:#fff;border-radius:14px;padding:24px 20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.03);border:1px solid #edf0f7;transition:all .25s ease;position:relative} .ec::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#43a047,#66bb6a);border-radius:14px 14px 0 0;opacity:0;transition:opacity .25s} .ec:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.05);border-color:#dde1ec} .ec:hover::after{opacity:1} .ec-link{text-decoration:none!important;color:inherit!important;display:block} .ec h3{font-size:17px;color:#1a2744;margin:0 0 8px;font-weight:700;line-height:1.3} .ec p{font-size:14.5px;color:#5a6577;margin:0 0 10px;line-height:1.75} .ec .price{color:#388e3c;font-weight:700;font-size:15px;display:block;margin-top:8px} .ec .arrow{color:#43a047;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:4px;margin-top:6px;transition:gap .25s} .ec:hover .arrow{gap:8px} .ec-icon{width:48px;height:48px;background:linear-gradient(135deg,#43a047,#2e7d32);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:21px;color:#fff;box-shadow:0 3px 8px rgba(67,160,71,.2)} /* ===== TABLES ===== */ .etbl-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0;border-radius:14px;box-shadow:0 2px 4px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.06);background:#fff} .etbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;border-radius:12px;min-width:480px} .etbl th{background:linear-gradient(135deg,#1a2744 0%,#243b5c 100%);color:#fff;padding:14px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.7px;white-space:nowrap} .etbl td{padding:13px 16px;border-bottom:1px solid #f0f2f7;color:#4a556b;vertical-align:middle} .etbl tr:last-child td{border-bottom:none} .etbl tr:nth-child(even){background:#f8f9fc} .etbl tr:hover td{background:#f0f4f0} .etbl .highlight{background:#f0faf1!important} .etbl strong{color:#1a2744} /* ===== FAQ ===== */ .ef{padding:48px 24px;background:#f8f9fc} .ef-inner{max-width:800px;margin:0 auto} .ef h2{text-align:center;font-size:24px;color:#1a2744;margin-bottom:10px} .ef-item{background:#fff;border-radius:12px;margin-bottom:10px;border:1px solid #edf0f7;overflow:hidden;transition:all .2s} .ef-item:hover{border-color:#d4dae8} .ef-item.active{border-color:#43a047;box-shadow:0 2px 12px rgba(67,160,71,.06)} .ef-q{padding:18px 20px;font-weight:600;font-size:15px;color:#1a2744;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;-webkit-tap-highlight-color:transparent;user-select:none;line-height:1.45;min-height:56px} .ef-q::after{content:"";width:20px;height:20px;border:2px solid #c0c8d8;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") center/10px no-repeat} .ef-item.active .ef-q{color:#388e3c} .ef-item.active .ef-q::after{border-color:#43a047;transform:rotate(180deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2343a047' fill='none' stroke-width='1.5'/%3E%3C/svg%3E")} .ef-a{padding:0 20px 18px;color:#5a6577;line-height:1.8;font-size:15px;display:none} .ef-item.active .ef-a{display:block} /* ===== TESTIMONIALS ===== */ .etest{padding:52px 24px;background:#1a2744;color:#fff;position:relative} .etest-inner{max-width:1100px;margin:0 auto;position:relative} .etest h2{text-align:center;font-size:24px;margin-bottom:10px;color:#fff} .etest-grid{display:grid;grid-template-columns:1fr;gap:16px} .etest-card{background:rgba(255,255,255,.05);border-radius:14px;padding:28px 22px;border:1px solid rgba(255,255,255,.07);position:relative;transition:all .25s} .etest-card:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)} .etest-card::before{content:open-quote;font-size:56px;color:rgba(255,255,255,.06);font-family:Georgia,serif;line-height:.8;display:block;margin-bottom:4px} .etest-stars{display:flex;gap:2px;margin-bottom:12px} .etest-stars::before{content:"★★★★★";color:#f0c040;font-size:15px;letter-spacing:3px} .etest-card p{font-style:italic;color:rgba(255,255,255,.82);margin-bottom:14px;line-height:1.8;font-size:15px} .etest-card .au{color:#7ddb8a;font-weight:700;font-size:13.5px;letter-spacing:.2px} /* ===== CTA SECTION ===== */ .ecta{background:linear-gradient(135deg,#43a047,#2e7d32);color:#fff;padding:52px 24px;text-align:center;position:relative;overflow:hidden} .ecta::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(255,255,255,.08),transparent 60%);pointer-events:none} .ecta h2{color:#fff;font-size:24px;margin-bottom:10px;position:relative} .ecta>p{font-size:16px;opacity:.92;margin-bottom:24px;max-width:520px;margin-left:auto;margin-right:auto;position:relative;line-height:1.7} .ecta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;position:relative} .ew{display:flex;align-items:center;justify-content:center;background:#fff;color:#2e7d32!important;padding:15px 34px;border-radius:50px;text-decoration:none!important;font-size:16px;font-weight:700;transition:all .25s;min-height:52px;width:100%;max-width:320px;box-shadow:0 2px 8px rgba(0,0,0,.1)} .ew:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)} /* ===== LINKS ===== */ .elinks{padding:40px 24px;max-width:1140px;margin:0 auto} .elinks h2{font-size:22px;color:#1a2744;margin-bottom:10px;text-align:center} .elinks-grid{display:grid;grid-template-columns:1fr;gap:12px} .elink{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #edf0f7;border-radius:12px;padding:16px 20px;text-decoration:none!important;color:inherit!important;transition:all .25s} .elink::before{content:"";width:4px;height:32px;background:linear-gradient(180deg,#43a047,#66bb6a);border-radius:2px;flex-shrink:0;transition:height .25s} .elink:hover{border-color:#c8d6c9;box-shadow:0 2px 10px rgba(0,0,0,.04);transform:translateX(4px)} .elink:hover::before{height:40px} .elink h3{font-size:14.5px;color:#1a2744;margin:0 0 2px} .elink p{font-size:12.5px;color:#7a859b;margin:0} /* ===== AREA TAGS ===== */ .earea{text-align:center;padding:36px 24px} .earea h2{font-size:22px;color:#1a2744;margin-bottom:6px} .earea>p{color:#7a859b;margin-bottom:18px;font-size:14px} .earea-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px} .earea-tag{background:#f0f4f0;color:#2e7d32;padding:7px 16px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid #d4e4d4;transition:all .2s} .earea-tag:hover{background:#43a047;color:#fff;border-color:#43a047} /* ===== CONTACT ===== */ .econtact-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0} .econtact-box{background:#fff;border-radius:14px;padding:26px 20px;text-align:center;border:1px solid #edf0f7;box-shadow:0 1px 3px rgba(0,0,0,.03);transition:all .25s;position:relative;overflow:hidden} .econtact-box::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#43a047,#66bb6a);opacity:0;transition:opacity .25s} .econtact-box:hover{border-color:#c8d6c9;box-shadow:0 4px 16px rgba(0,0,0,.05);transform:translateY(-2px)} .econtact-box:hover::after{opacity:1} .econtact-box h3{color:#1a2744;margin:0 0 6px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px} .econtact-box a{color:#388e3c;font-size:18px;font-weight:700;text-decoration:none;display:block;margin:4px 0} .econtact-box p{color:#7a859b;font-size:13px;margin:4px 0 0} /* ===== FORM ===== */ .eform{max-width:560px;margin:0 auto} .eform input,.eform textarea,.eform select{width:100%;padding:14px 16px;border:1.5px solid #dde1ec;border-radius:10px;font-size:16px;margin-bottom:12px;transition:all .2s;font-family:inherit;-webkit-appearance:none;appearance:none;background:#fff;color:#2d3748} .eform input:focus,.eform textarea:focus,.eform select:focus{border-color:#43a047;outline:none;box-shadow:0 0 0 3px rgba(67,160,71,.08)} .eform textarea{min-height:110px;resize:vertical} .eform button{display:block;width:100%;background:linear-gradient(135deg,#43a047,#2e7d32);color:#fff;padding:16px;border:none;border-radius:10px;font-size:17px;font-weight:700;cursor:pointer;transition:all .25s;min-height:54px;box-shadow:0 3px 10px rgba(67,160,71,.2)} .eform button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(67,160,71,.3)} /* ===== STEPS ===== */ .esteps{display:grid;grid-template-columns:1fr;gap:14px;margin:24px 0;counter-reset:step} .estep{background:#fff;border-radius:14px;padding:22px 20px 22px 72px;box-shadow:0 1px 3px rgba(0,0,0,.03),0 2px 8px rgba(0,0,0,.03);border:1px solid #edf0f7;position:relative;counter-increment:step;transition:all .25s} .estep:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05)} .estep::before{content:counter(step);position:absolute;top:20px;left:20px;width:40px;height:40px;background:linear-gradient(135deg,#43a047,#2e7d32);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;box-shadow:0 3px 8px rgba(67,160,71,.2)} .estep h3{font-size:16px;color:#1a2744;margin:0 0 6px;line-height:1.3} .estep p{font-size:14px;color:#5a6577;line-height:1.75;margin:0} /* ===== STATS ===== */ .estats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0} .estat{background:#fff;border-radius:14px;padding:22px 16px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.03),0 2px 8px rgba(0,0,0,.03);border:1px solid #edf0f7;position:relative;overflow:hidden} .estat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#43a047,#66bb6a)} .estat-num{font-size:30px;font-weight:800;color:#388e3c;display:block;line-height:1.1} .estat-label{font-size:12px;color:#7a859b;margin-top:4px;display:block;font-weight:500} /* ===== DESKTOP 640px ===== */ @media(min-width:640px){ .eh{padding:80px 32px 68px} .eh h1{font-size:38px} .eh>p{font-size:17px;max-width:660px} .eh-btns{flex-direction:row;justify-content:center} .eb{width:auto;max-width:none;font-size:16px} .et{grid-template-columns:repeat(4,1fr)} .et-i:nth-child(n+3){border-top:none} .et-n{font-size:32px} .et-l{font-size:11.5px} .eg{grid-template-columns:repeat(2,1fr);gap:20px} .ec{padding:28px 24px} .etest-grid{grid-template-columns:repeat(2,1fr)} .elinks-grid{grid-template-columns:repeat(2,1fr)} .econtact-grid{grid-template-columns:repeat(3,1fr)} .ecta-btns{flex-direction:row;justify-content:center} .ew{width:auto;max-width:none} .esteps{grid-template-columns:repeat(2,1fr)} .es,.es-bg,.ef,.etest,.ecta,.elinks,.earea{padding-left:32px;padding-right:32px} .es h2,.ef h2,.etest h2,.ecta h2{font-size:30px} .etbl{min-width:auto} .etbl th{padding:13px 16px} .etbl td{padding:12px 16px} } /* ===== DESKTOP 1024px ===== */ @media(min-width:1024px){ .eh{padding:100px 40px 88px} .eh h1{font-size:48px} .eh>p{font-size:18px;max-width:720px} .eg{grid-template-columns:repeat(3,1fr)} .ec h3{font-size:18px} .etest-grid{grid-template-columns:repeat(3,1fr)} .elinks-grid{grid-template-columns:repeat(3,1fr)} .esteps{grid-template-columns:repeat(4,1fr)} .es h2,.ef h2,.etest h2,.ecta h2{font-size:36px} .eg{gap:24px} .etbl{min-width:auto;font-size:15px} .etbl th{padding:14px 18px;font-size:12.5px} .etbl td{padding:13px 18px;font-size:14.5px} }
General Contractor – Coordinamento Unico – Chiavi in Mano

Ristrutturazione Uffici e Locali Commerciali in Ticino

Ristrutturazioni complete di uffici, showroom, studi professionali e locali commerciali. EDIL Swiss come general contractor: coordiniamo serramenti, pittura, pavimenti, impianti e arredi. Un unico referente, un unico preventivo, tempi certi.

B2BFatturazione IVA
WeekendFuori Orario
NDARiservatezza
RCAssicurato

Ristrutturazione Chiavi in Mano

Ristrutturare un ufficio o un locale commerciale coinvolge molte competenze diverse: serramentista, imbianchino, elettricista, pavimentista, falegname. Con EDIL Swiss come general contractor, avete un unico interlocutore che coordina tutti i professionisti e garantisce tempi e costi certi.

Uffici e Open Space

Nuove pareti divisorie, controsoffitti, illuminazione LED, pittura, pavimenti, serramenti. Dal progetto alla consegna.

Negozi e Showroom

Rinnovo completo: vetrine, illuminazione, pavimenti, pareti decorative. Tempistiche rapide per minimizzare la chiusura.

Studi Professionali

Ristrutturazione discreta di studi legali, medici e dentistici. Conformita normativa (accessibilita, igiene, sicurezza).

Hospitality

Rinnovo hotel, ristoranti e bar. Camere, hall, cucina, bagni. Programmazione durante le chiusure stagionali.

Il Nostro Processo

Sopralluogo e Progetto

Valutiamo lo spazio, ascoltiamo le esigenze e proponiamo soluzioni con rendering e preventivo dettagliato per ogni voce di costo.

Coordinamento Fornitori

Selezioniamo e coordiniamo tutti i professionisti necessari. Voi parlate solo con noi: un referente, una timeline, un budget.

Esecuzione e Controllo

Supervisioniamo ogni fase con controllo qualita giornaliero. Aggiornamenti settimanali via email con foto del progresso.

Consegna e Collaudo

Verifica finale insieme a voi di ogni dettaglio. Pulizia professionale inclusa. Consegna della documentazione e delle garanzie.

Un solo interlocutore, un solo preventivo

Ristrutturare un ufficio o un locale commerciale coinvolge competenze diverse: serramenti, pittura, pavimenti, impianti elettrici e idraulici, controsoffitti, arredi. Se ogni specialista è un fornitore separato, sei tu a fare da coordinatore: devi incastrare i tempi, gestire gli imprevisti e verificare che i lavori siano compatibili tra loro. Il risultato è quasi sempre un cantiere più lungo e più costoso del preventivo.

Come general contractor assumiamo noi il coordinamento: un unico referente, un unico preventivo, un cronoprogramma condiviso e una responsabilità unica sul risultato. Tu hai un solo contratto e un solo numero da chiamare.

Cosa coordina il general contractor

  • Progettazione e preparazione del cantiere, con protezione di ciò che resta in uso.
  • Demolizioni e opere murarie, con smaltimento certificato dei materiali.
  • Serramenti, pavimenti e controsoffitti.
  • Impianti elettrici e idraulici, con professionisti abilitati e conformità.
  • Pittura e finiture a opera completata.
  • Arredi e illuminazione, se richiesti, per una consegna pronta all’uso.

Ridurre la chiusura al minimo

Per negozi e showroom, ogni giorno di chiusura è un mancato guadagno. Pianifichiamo le fasi che richiedono più tempo fuori orario o nel fine settimana e organizziamo le lavorazioni in modo da lasciare gli spazi accessibili o comunque pronti alla riapertura nel più breve tempo possibile.

Cosa è incluso

Nel preventivo trovi tutto quello che servirà, senza costi nascosti:

  • Coordinamento unico dei professionisti
  • Cronoprogramma condiviso e tempi certi
  • Smaltimento certificato dei materiali
  • Arredi e illuminazione su richiesta
  • Un solo preventivo e un solo contratto

Come funziona la preventivazione

  1. Contatto: ci racconti l’esigenza e fissiamo un sopralluogo gratuito.
  2. Sopralluogo: misuriamo e valutiamo il lavoro, con inventario su richiesta.
  3. Preventivo vincolante in 24 ore, con fatturazione IVA.
  4. Esecuzione nei tempi concordati, con protezione e pulizia.
  5. Documentazione e certificati a fine intervento.

Domande frequenti

Siete general contractor?
Sì, coordineremo serramenti, pittura, pavimenti, impianti e arredi con un unico referente.
Fate un preventivo unico?
Sì, un solo preventivo e un solo contratto, con responsabilità unica sul risultato.
Gestite i permessi?
Coordiniamo le pratiche edilizie e le autorizzazioni necessarie.
Minimizzate la chiusura del locale?
Sì, pianifichiamo le fasi fuori orario e le lavorazioni rapide per una riapertura veloce.

Preventivo gratuito

Che lavoro devi fare?

Tre passi, trenta secondi. Ti ricontattiamo entro un’ora (lun–sab 8–20).

Passo 1 di 3 · Servizio

Quale servizio ti serve

Preventivo B2B Gratuito

Referente dedicato, sopralluogo gratuito, preventivo vincolante in 24h. Fatturazione con IVA.

document.querySelectorAll('.ef-q').forEach(q=>q.addEventListener('click',()=>{const i=q.parentElement;document.querySelectorAll('.ef-item').forEach(x=>{if(x!==i)x.classList.remove('active')});i.classList.toggle('active')}));const observer=new IntersectionObserver(e=>{e.forEach(x=>{if(x.isIntersecting){x.target.classList.add('visible');observer.unobserve(x.target)}})},{threshold:.1,rootMargin:'0px 0px -40px 0px'});document.querySelectorAll('.ec,.estep,.etest-card,.elink,.econtact-box,.estat').forEach(el=>{el.classList.add('anim');observer.observe(el)})

Gli altri servizi del gruppo