/* global React, ReactDOM */ const SUS_COPY = { es: { crumb: "Inicio", hero_eyebrow: "Reporte 2025 · Auditado", hero_caption: "Solar rooftop · Las Palmas", docs_num: "— Documentos públicos", docs_title: "Lo que firmamos.", docs_lede: "Todos los documentos están disponibles para clientes, autoridades y prensa. Sin pretextos.", stats: [ { v:"100", u:"%", l:"Energía renovable certificada en oficinas" }, { v:"-42", u:"%", l:"Emisiones scope 1 vs línea base 2022" }, { v:"6", u:"", l:"Vehículos eléctricos en flota propia de muelle" }, { v:"0", u:"", l:"Incidentes de derrames notificables" } ], docs: [ { name: "Código de ética y conducta", year:"2025", size:"PDF · 1.4 MB" }, { name: "Política antisoborno y compliance", year:"2025", size:"PDF · 0.8 MB" }, { name: "Plan de igualdad certificado", year:"2025", size:"PDF · 1.1 MB" }, { name: "Reporte de sostenibilidad", year:"2025", size:"PDF · 3.2 MB" }, { name: "Auditoría externa de emisiones", year:"2025", size:"PDF · 2.6 MB" }, { name: "Canal de denuncias — guía de uso", year:"2025", size:"PDF · 0.4 MB" } ] }, en: { crumb: "Home", hero_eyebrow: "2025 report · Audited", hero_caption: "Solar rooftop · Las Palmas", docs_num: "— Public documents", docs_title: "What we sign.", docs_lede: "All documents are available to clients, authorities and press. No excuses.", stats: [ { v:"100", u:"%", l:"Certified renewable energy in offices" }, { v:"-42", u:"%", l:"Scope 1 emissions vs 2022 baseline" }, { v:"6", u:"", l:"Electric vehicles in our own quay fleet" }, { v:"0", u:"", l:"Reportable spill incidents" } ], docs: [ { name: "Code of ethics and conduct", year:"2025", size:"PDF · 1.4 MB" }, { name: "Anti-bribery and compliance policy", year:"2025", size:"PDF · 0.8 MB" }, { name: "Certified equality plan", year:"2025", size:"PDF · 1.1 MB" }, { name: "Sustainability report", year:"2025", size:"PDF · 3.2 MB" }, { name: "External emissions audit", year:"2025", size:"PDF · 2.6 MB" }, { name: "Whistleblowing channel — user guide", year:"2025", size:"PDF · 0.4 MB" } ] } }; function SustainApp() { const [lang, setLang, t] = useLang(); useReveal(); const c = SUS_COPY[lang]; return ( <> {c.crumb}/{t.nav.sustain} {t.sustain_section.title_a}{t.sustain_section.title_b} {t.sustain_section.lede} {c.hero_caption} {t.sustain_pillars.map((p, i) => ( {p.num} {p.title} {p.desc} ))} {c.hero_eyebrow} {c.stats.map((s, i) => ( {s.v}{s.u && {s.u}} {s.l} ))} {c.docs_num} {c.docs_title} {c.docs_lede} {c.docs.map(d => ( {d.year} {d.name} {d.size} ↓ ))} > ); } ReactDOM.createRoot(document.getElementById("app")).render();
{t.sustain_section.lede}
{p.desc}
{c.docs_lede}