Skip to content Skip to sidebar Skip to footer

:root {
–gold: #C9A96E;
–gold-light: #E8D5B0;
–dark: #1A1A1A;
–dark-2: #2C2C2C;
–white: #FAFAF8;
–gray: #6B6B6B;
–gray-light: #F2F0EB;
–font-display: ‘Playfair Display’, Georgia, serif;
–font-body: ‘DM Sans’, system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(–font-body); background: var(–white); color: var(–dark); line-height: 1.7; font-size: 16px; }
.hero { background: var(–dark); color: var(–white); padding: 100px 24px 80px; text-align: center; position: relative; overflow: hidden; }
.hero::before { content: ”; position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 0%, rgba(201,169,110,0.18) 0%, transparent 60%); pointer-events: none; }
.hero-badge { display: inline-block; background: rgba(201,169,110,0.15); border: 1px solid var(–gold); color: var(–gold); font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; padding: 6px 18px; border-radius: 2px; margin-bottom: 28px; }
.hero h1 { font-family: var(–font-display); font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 900; line-height: 1.15; max-width: 820px; margin: 0 auto 24px; }
.hero h1 em { font-style: normal; color: var(–gold); }
.hero-sub { font-size: 1.1rem; color: rgba(250,250,248,0.72); max-width: 580px; margin: 0 auto 40px; font-weight: 300; }
.hero-ctas { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn-primary { background: var(–gold); color: var(–dark); font-family: var(–font-body); font-weight: 600; font-size: 15px; padding: 14px 32px; border: none; border-radius: 3px; cursor: pointer; text-decoration: none; display: inline-block; letter-spacing: 0.03em; transition: background 0.2s, transform 0.15s; }
.btn-primary:hover { background: #b8924d; transform: translateY(-1px); }
.btn-ghost { background: transparent; color: var(–white); font-family: var(–font-body); font-weight: 500; font-size: 15px; padding: 14px 32px; border: 1px solid rgba(250,250,248,0.3); border-radius: 3px; cursor: pointer; text-decoration: none; display: inline-block; transition: border-color 0.2s; }
.btn-ghost:hover { border-color: var(–gold); color: var(–gold); }
.hero-stats { margin-top: 56px; display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; border-top: 1px solid rgba(201,169,110,0.2); padding-top: 40px; }
.stat { text-align: center; }
.stat-num { font-family: var(–font-display); font-size: 2.2rem; color: var(–gold); font-weight: 700; display: block; }
.stat-label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(250,250,248,0.5); }
.container { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
section { padding: 80px 24px; }
.section-label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(–gold); display: block; margin-bottom: 12px; }
h2 { font-family: var(–font-display); font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 800; line-height: 1.2; max-width: 640px; margin-bottom: 20px; }
.section-intro { font-size: 1.05rem; color: var(–gray); max-width: 620px; margin-bottom: 52px; font-weight: 300; }
.intro-section { background: var(–white); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; max-width: 1080px; margin: 0 auto; }
.intro-text p { margin-bottom: 18px; color: #3a3a3a; font-size: 1.02rem; }
.intro-highlights { background: var(–dark); border-radius: 4px; padding: 36px; color: var(–white); }
.intro-highlights h3 { font-family: var(–font-display); font-size: 1.4rem; margin-bottom: 24px; color: var(–gold-light); }
.highlight-item { display: flex; gap: 14px; margin-bottom: 20px; align-items: flex-start; }
.highlight-icon { width: 36px; height: 36px; background: rgba(201,169,110,0.15); border: 1px solid var(–gold); border-radius: 2px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 16px; }
.highlight-text strong { display: block; font-size: 14px; color: var(–gold-light); margin-bottom: 2px; }
.highlight-text span { font-size: 13px; color: rgba(250,250,248,0.6); }
.cosa-section { background: var(–gray-light); }
.cosa-wrap { max-width: 1080px; margin: 0 auto; }
.cosa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cosa-card { background: var(–white); border-radius: 4px; padding: 28px 24px; border-left: 3px solid var(–gold); }
.cosa-icon { font-size: 28px; margin-bottom: 14px; }
.cosa-card h3 { font-family: var(–font-display); font-size: 1.05rem; margin-bottom: 10px; font-weight: 700; }
.cosa-card ul { list-style: none; margin-top: 10px; }
.cosa-card ul li { font-size: 13.5px; color: var(–gray); padding: 4px 0; display: flex; gap: 8px; }
.cosa-card ul li::before { content: ‘✓’; color: var(–gold); font-weight: 700; flex-shrink: 0; }
.tempi-section { background: var(–white); }
.tempi-wrap { max-width: 1080px; margin: 0 auto; }
.tempi-timeline { display: flex; flex-direction: column; gap: 0; position: relative; }
.tempi-timeline::before { content: ”; position: absolute; left: 28px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(–gold), rgba(201,169,110,0.1)); }
.tempi-item { display: flex; gap: 32px; align-items: flex-start; padding: 28px 0; position: relative; }
.tempi-num { width: 58px; height: 58px; background: var(–dark); border: 2px solid var(–gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(–font-display); font-size: 1.2rem; font-weight: 700; color: var(–gold); position: relative; z-index: 1; }
.tempi-content h3 { font-family: var(–font-display); font-size: 1.15rem; margin-bottom: 8px; font-weight: 700; }
.tempi-content p { font-size: 14.5px; color: var(–gray); max-width: 560px; }
.tempi-badge { display: inline-block; background: rgba(201,169,110,0.1); border: 1px solid var(–gold); color: var(–gold); font-size: 11px; font-weight: 600; padding: 3px 12px; border-radius: 2px; margin-bottom: 8px; letter-spacing: 0.08em; }
.prezzi-section { background: var(–dark); color: var(–white); }
.prezzi-wrap { max-width: 1080px; margin: 0 auto; }
.prezzi-section h2 { color: var(–white); }
.prezzi-section .section-intro { color: rgba(250,250,248,0.6); }
.prezzi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }
.prezzo-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(201,169,110,0.2); border-radius: 4px; padding: 36px 28px; position: relative; }
.prezzo-card.featured { border-color: var(–gold); background: rgba(201,169,110,0.07); }
.prezzo-card.featured::before { content: ‘Più richiesto’; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(–gold); color: var(–dark); font-size: 11px; font-weight: 600; padding: 4px 14px; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.prezzo-card h3 { font-family: var(–font-display); font-size: 1.2rem; margin-bottom: 8px; color: var(–gold-light); }
.prezzo-card .price { font-family: var(–font-display); font-size: 2.6rem; font-weight: 700; color: var(–white); line-height: 1; margin-bottom: 4px; }
.prezzo-card .price-sub { font-size: 12px; color: rgba(250,250,248,0.45); margin-bottom: 24px; }
.prezzo-list { list-style: none; }
.prezzo-list li { font-size: 13.5px; color: rgba(250,250,248,0.75); padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.06); display: flex; gap: 8px; align-items: flex-start; }
.prezzo-list li::before { content: ‘✓’; color: var(–gold); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.prezzi-note { background: rgba(201,169,110,0.08); border: 1px solid rgba(201,169,110,0.2); border-radius: 4px; padding: 20px 24px; font-size: 14px; color: rgba(250,250,248,0.7); display: flex; gap: 12px; align-items: flex-start; }
.perche-section { background: var(–gray-light); }
.perche-wrap { max-width: 1080px; margin: 0 auto; }
.perche-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.perche-item { background: var(–white); border-radius: 4px; padding: 32px; display: flex; gap: 20px; align-items: flex-start; }
.perche-num { font-family: var(–font-display); font-size: 1.8rem; font-weight: 900; color: var(–gold); line-height: 1; flex-shrink: 0; width: 40px; }
.perche-content h3 { font-family: var(–font-display); font-size: 1.1rem; margin-bottom: 8px; }
.perche-content p { font-size: 14px; color: var(–gray); }
.faq-section { background: var(–white); }
.faq-wrap { max-width: 780px; margin: 0 auto; }
.faq-item { background: var(–gray-light); border-radius: 4px; margin-bottom: 8px; overflow: hidden; }
.faq-q { padding: 20px 24px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-weight: 600; font-size: 15px; user-select: none; gap: 16px; }
.faq-q:hover { color: var(–gold); }
.faq-toggle { width: 24px; height: 24px; border: 1px solid #D8D4CC; border-radius: 2px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 18px; color: var(–gold); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq-a.open { max-height: 400px; }
.faq-a-inner { padding: 0 24px 20px; font-size: 14.5px; color: var(–gray); line-height: 1.7; }
.zone-section { background: var(–gray-light); }
.zone-wrap { max-width: 1080px; margin: 0 auto; }
.zone-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.zone-tag { background: var(–white); border: 1px solid #E8E4DC; padding: 8px 16px; border-radius: 2px; font-size: 13.5px; color: var(–dark-2); font-weight: 500; }
.cta-final { background: var(–dark); color: var(–white); padding: 100px 24px; text-align: center; position: relative; overflow: hidden; }
.cta-final::before { content: ”; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 100%, rgba(201,169,110,0.12) 0%, transparent 65%); pointer-events: none; }
.cta-final h2 { font-family: var(–font-display); font-size: clamp(2rem, 4vw, 3rem); max-width: 700px; margin: 0 auto 20px; color: var(–white); line-height: 1.2; }
.cta-final h2 em { font-style: normal; color: var(–gold); }
.cta-final p { font-size: 1.05rem; color: rgba(250,250,248,0.65); max-width: 500px; margin: 0 auto 40px; font-weight: 300; }
.cta-contact { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; margin-top: 40px; padding-top: 40px; border-top: 1px solid rgba(201,169,110,0.2); }
.contact-method { text-align: center; }
.contact-method .cm-icon { font-size: 24px; margin-bottom: 6px; }
.contact-method .cm-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(250,250,248,0.45); margin-bottom: 4px; }
.contact-method a { color: var(–gold); font-weight: 600; text-decoration: none; font-size: 15px; }
@media (max-width: 900px) { .intro-grid { grid-template-columns: 1fr; gap: 36px; } .cosa-grid { grid-template-columns: repeat(2, 1fr); } .prezzi-grid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; } .perche-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cosa-grid { grid-template-columns: 1fr; } .hero-stats { gap: 28px; } section { padding: 60px 20px; } }

Servizio Specializzato · Roma

Pulizie Post Cantiere Roma
Rapide e Impeccabili

Dopo una ristrutturazione, il vero lavoro inizia adesso. Rimoviamo polveri sottili, residui di calce, silicone e ogni traccia di cantiere — consegniamo ambienti pronti all’uso.

300+Cantieri completati
24hIntervento garantito
4.9★Valutazione clienti
100%Soddisfazione garantita

Cos’è la pulizia post cantiere e perché è indispensabile

Le pulizie post cantiere a Roma rappresentano una fase critica di ogni progetto di ristrutturazione. Dopo settimane o mesi di lavori, l’appartamento o l’ufficio è sommerso da polveri sottilissime, residui di malta e cemento, silicone indurito, vernici, plastiche e cartoni da imballaggio.

Queste non sono semplici pulizie domestiche: la polvere da cantiere penetra ovunque — dentro i cassetti, dietro gli elettrodomestici, nelle fessure dei pavimenti — e richiede attrezzatura professionale e prodotti specifici per essere rimossa completamente senza danneggiare le nuove superfici.

PuroLux è specializzata nelle pulizie post ristrutturazione a Roma da oltre cinque anni. Il nostro team conosce i materiali, i tempi di asciugatura e le tecniche corrette per ogni superficie: marmo, parquet, gres porcellanato, intonaci decorativi, vetro e acciaio inox. Consegniamo ambienti perfetti, pronti per l’abitazione o la riapertura dell’attività commerciale.

Perché scegliere PuroLux

🏗
Specialisti post cantiereNon pulizie generiche — protocollo specifico per ogni tipo di lavorazione
Intervento entro 24 oreCoordiniamo con imprese edili e architetti per rispettare i tuoi tempi di consegna
🛡
Superfici protetteProdotti specifici per ogni materiale — nessun rischio di graffi o aloni
📋
Sopralluogo e preventivo gratuitiValutiamo il cantiere e forniamo un preventivo dettagliato senza impegno
🔒
Team assicurato e formatoOperatori qualificati, coperti da assicurazione professionale

Cosa include la pulizia post cantiere

Il nostro servizio copre ogni fase del post-cantiere, dalle superfici verticali ai pavimenti, dagli infissi agli impianti. Nessun dettaglio trascurato.

🧱

Pareti e Soffitti

  • Rimozione schizzi di vernice e intonaco
  • Pulizia macchie di silicone fresco
  • Spolveratura profonda cornicioni e angoli
  • Pulizia prese elettriche e interruttori
  • Rimozione residui nastri isolanti
🪵

Pavimenti

  • Rimozione malta e cemento indurito
  • Lavaggio e cristallizzazione marmo
  • Pulizia gres porcellanato con prodotti neutri
  • Trattamento protettivo parquet
  • Pulizia fughe e battiscopa
🪟

Infissi e Vetri

  • Rimozione silicone e pellicole protettive
  • Pulizia vetri con metodo professionale
  • Pulizia telai, maniglie e cardini
  • Rimozione adesivi e residui nastri
  • Lucidatura profili in alluminio e PVC
🚿

Bagni e Cucine

  • Rimozione calcare e residui edilizi dai sanitari
  • Pulizia fughe piastrelle e rivestimenti
  • Lucidatura rubinetteria e cromature
  • Pulizia piano cottura e cappa aspirante
  • Pulizia interni armadi e pensili
💨

Depolverazione Profonda

  • Aspirazione polveri sottili con filtro HEPA
  • Pulizia vano scale e ascensore
  • Pulizia bocchette aria condizionata
  • Depolverazione librerie e mobili fissi
  • Pulizia davanzali interni ed esterni
🗑

Sgombero Residui

  • Raccolta e smaltimento imballaggi
  • Rimozione sacchi di materiali inerti
  • Smaltimento differenziato conforme
  • Pulizia cantina o garage annesso
  • Pulizia box doccia dopo installazione

Tempi e fasi del servizio post cantiere

Ogni intervento segue un protocollo preciso in 5 fasi. I tempi variano in base alla metratura e al tipo di lavorazione eseguita.

1
Giorno 0 — Gratuito

Sopralluogo e Preventivo

Un nostro responsabile visita il cantiere, valuta le superfici, i materiali usati e il grado di sporco. Entro 2 ore dal sopralluogo ricevi un preventivo dettagliato e definitivo — nessuna sorpresa in fattura.

2
Fase 1 — 2-4 ore

Depolverazione Primaria

Iniziamo dall’alto verso il basso: soffitti, pareti, cornicioni. Utilizziamo aspiratori industriali con filtri HEPA che catturano le polveri sottilissime da cantiere senza rimetterle in circolo nell’aria.

3
Fase 2 — 3-6 ore

Trattamento Superfici Specifiche

Ogni materiale richiede il suo prodotto: solventi specifici per la malta sui pavimenti, detergenti neutri per il marmo, prodotti anticalcare per i sanitari. Questa fase richiede competenza tecnica per non danneggiare le nuove finiture.

4
Fase 3 — 2-3 ore

Pulizia Fine e Lucidatura

Vetri, infissi, rubinetteria e pavimenti vengono portati alla brillantezza finale. Per il marmo è disponibile il servizio di cristallizzazione. I pavimenti in gres vengono protetti con prodotti anti-impronta.

5
Fase 4 — 30 min

Ispezione Finale e Consegna

Prima di considerare il lavoro concluso, il responsabile esegue un’ispezione stanza per stanza. Ricevi un reportage fotografico completo via WhatsApp. L’immobile è pronto per l’abitazione o la consegna al cliente finale.

Quanto dura una pulizia post cantiere?Monolocale/bilocale: 6–8 ore · Trilocale/quadrilocale: 1–2 giorni · Appartamento grande o ufficio: 2–4 giorni. Per cantieri di grandi dimensioni disponiamo di squadre multiple che lavorano in parallelo.

Prezzi pulizie post cantiere Roma

Tariffe calcolate sulla metratura e sul tipo di lavorazione. Il prezzo include tutto: manodopera, prodotti, attrezzatura professionale e reportage fotografico finale.

Piccolo Appartamento

da €280
fino a 60 mq · ristrutturazione parziale
  • Depolverazione completa
  • Pulizia pavimenti e rivestimenti
  • Pulizia infissi e vetri
  • Bagno e cucina
  • Smaltimento imballaggi
  • Reportage fotografico

Grande Immobile / Ufficio

Su preventivo
120 mq+ · uso commerciale o ufficio
  • Squadra multipla dedicata
  • Protocollo personalizzato
  • Trattamenti superfici certificate
  • Gestione rifiuti speciali
  • Certificazione pulizia
  • Supporto per collaudo immobile
  • Referente dedicato H24
💡I prezzi variano in base al tipo di materiali, al grado di sporco e ai servizi aggiuntivi. Il sopralluogo e il preventivo sono sempre gratuiti. Per cantieri su più piani o interventi urgenti contattaci direttamente.

Perché affidarsi a PuroLux per il post cantiere

Non siamo una ditta di pulizie generica. Siamo specialisti che lavorano a stretto contatto con imprese edili, architetti e geometri romani.

01

Attrezzatura industriale professionale

Utilizziamo aspiratori industriali con filtri HEPA, monospazzole professionali, estrattori di vapore e idropulitrici a bassa pressione. Strumenti che i normali servizi di pulizia non hanno e che fanno la differenza sul risultato finale.

02

Conoscenza dei materiali da costruzione

Sappiamo come trattare il marmo Calacatta senza rovinarlo, come rimuovere la malta dal gres porcellanato senza graffiarlo, come pulire il legno di recupero senza alterarne il colore. La competenza tecnica è ciò che distingue un buon risultato da un disastro.

03

Coordinamento con il cantiere

Lavoriamo direttamente con geometri, direttori lavori e imprese edili. Coordiniamo il nostro intervento per incastrarci perfettamente nei tempi di consegna del cantiere — anche in situazioni di urgenza o consegne in giornata.

04

Preventivo fisso, nessuna sorpresa

Dopo il sopralluogo il prezzo è definitivo. Non aggiungiamo costi extra per le ore in più, i prodotti speciali o lo smaltimento. Quello che firmiamo è quello che paghi — punto.

05

Disponibili 7 giorni su 7

I cantieri non si fermano nei weekend, e noi nemmeno. Interveniamo sabato, domenica e nei giorni festivi. Per le consegne urgenti siamo disponibili anche la sera fino alle 21:00.

06

Garanzia di soddisfazione

Se al termine dell’intervento non sei soddisfatto al 100%, torniamo gratuitamente a completare il lavoro. Nessun cliente di PuroLux ha mai dovuto richiedere il rimborso — ma vogliamo che tu sappia che la garanzia esiste.

FAQ – Pulizie Post Cantiere Roma

Le domande che riceviamo più spesso da privati, architetti e imprese edili romane.

Quando è il momento giusto per chiamarci dopo la fine dei lavori?

+
Il momento ideale è quando tutti i lavori sono definitivamente conclusi — incluse le finiture come posa di prese elettriche, installazione sanitari e montaggio porte. Per i cantieri più complessi, possiamo intervenire in più fasi: una pulizia intermedia durante i lavori e una finale a cantiere concluso.
Quanto tempo ci vuole per una pulizia post cantiere?

+
Dipende dalla metratura e dal tipo di lavorazione. Un bilocale con ristrutturazione parziale richiede 6–8 ore. Un trilocale completamente ristrutturato richiede generalmente 1–2 giorni. Per uffici o appartamenti grandi sopra i 120 mq lavoriamo con squadre multiple e completiamo in 2–3 giorni.
Rimuovete anche i residui di silicone e i nastri adesivi?

+
Sì, è una delle operazioni più delicate del post cantiere. Utilizziamo solventi specifici che sciolgono il silicone e gli adesivi senza attaccare i materiali sottostanti — vetro, alluminio, PVC o legno. I nastri da cantiere lasciano residui collosi che devono essere trattati con prodotti professionali per non rovinare le superfici.
Lavorate anche su cantieri commerciali e uffici?

+
Assolutamente sì. Lavoriamo regolarmente con imprese che ristrutturano uffici, negozi, ristoranti, hotel e strutture ricettive a Roma. Per i cantieri commerciali offriamo anche interventi serali o notturni per non interferire con l’attività, e certificazione di pulizia per i collaudi.
Includete anche lo smaltimento dei rifiuti da cantiere?

+
Il nostro servizio include la raccolta e lo smaltimento di imballaggi, cartoni, sacchi e materiali residui lasciati sul cantiere. Per i rifiuti edili veri e propri coordiniamo con ditte specializzate — è sufficiente segnalarcelo al momento del sopralluogo.
Il preventivo è davvero gratuito e senza impegno?

+
Sì, il sopralluogo e il preventivo sono completamente gratuiti e senza nessun impegno. Un nostro responsabile visita il cantiere, valuta ogni stanza e ti consegna un preventivo dettagliato per iscritto. Non sei obbligato ad accettare.
Trattate anche il marmo e le superfici pregiate?

+
Sì, è una delle nostre specialità. Il marmo richiede prodotti a pH neutro, tecniche specifiche per rimuovere i residui senza opacizzarlo e — se necessario — un trattamento di cristallizzazione per ripristinare la lucentezza originale. Lavoriamo su tutti i tipi di pietra naturale: marmo, travertino, pietra serena, onice e granito.

Pulizie post cantiere in tutta Roma

Interveniamo su cantieri residenziali e commerciali in ogni quartiere di Roma e comuni limitrofi.

Centro StoricoPratiTrastevereParioliFlaminioMontiTestaccioOstienseEURAppio LatinoSan GiovanniNomentanoTiburtinoPrenestinoTuscolanoPortuenseAurelioTrionfaleGarbatellaEsquilinoFiumicinoOstiaCiampinoFrascati

Cantiere finito?
Pensiamo a tutto noi.

Contattaci per un sopralluogo gratuito e senza impegno. Valutiamo il cantiere, ti inviamo il preventivo entro 2 ore e interveniamo quando vuoi tu.

📞
Telefono

+39 344 745 63 52

💬
WhatsApp

Scrivici ora

📍
Zona

Roma, Italia

function toggleFaq(el) {
const answer = el.nextElementSibling;
const toggle = el.querySelector(‘.faq-toggle’);
const isOpen = answer.classList.contains(‘open’);
document.querySelectorAll(‘.faq-a’).forEach(a => a.classList.remove(‘open’));
document.querySelectorAll(‘.faq-toggle’).forEach(t => { t.textContent = ‘+’; });
if (!isOpen) { answer.classList.add(‘open’); toggle.textContent = ‘−’; }
}