// CapabilitiesCards — three engagement cards. Official capabilities section. function CapabilitiesCards() { const { lang } = React.useContext(window.LangContext); const { isMobile, isTablet } = window.useBreakpoint(); const [refH2, visH2] = window.useReveal(); const [refCards, visCards] = window.useReveal({ threshold: 0.06 }); const en = { eyebrow: "04 · Services", h2: "Assess. Build. Run.", footer: "", items: [ { n: "01", pill: "Foundational", title: "AI Potential Analysis", duration: "1 week", lede: "Where AI makes sense in your operations — and where it doesn't (yet).", body: "Prioritised by benefit, effort, and operational feasibility.", outcomes: ["Prioritised use case overview", "Effort & governance assessment", "Recommended next steps"], }, { n: "02", pill: "Build", title: "System Design", duration: "2–4 weeks", lede: "Develop the blueprint, build the first pilot — structure, roles and system architecture that work.", body: "So that technology, governance, and existing workflows work together cleanly.", outcomes: ["System architecture & workflow overview", "Governance & responsibility structure", "Implementation plan for the first pilot"], }, { n: "03", pill: "Ongoing", title: "Pilot to Production", duration: "Quarterly retainer", lede: "A pilot only becomes valuable when it turns into a reliable workflow within the organisation.", body: "With clear ownership, approvals, quality control, and defined processes for incidents.", outcomes: ["Operational plan for production AI use", "Quality & monitoring system", "Emergency and escalation plan"], }, ], }; const de = { eyebrow: "04 · Leistungen", h2: "Analyse. Aufbau. Betrieb.", footer: "", items: [ { n: "01", pill: "Einstieg", title: "KI-Potenzialanalyse", duration: "1 Woche", lede: "Wo lässt sich KI im Betrieb sinnvoll einsetzen — und wo (noch) nicht.", body: "Priorisiert nach Nutzen, Aufwand und betrieblicher Umsetzbarkeit.", outcomes: ["Übersicht relevanter KI-Einsatzmöglichkeiten", "Aufwand- und Governance-Einschätzung", "Konkrete nächste Schritte"], }, { n: "02", pill: "Aufbau", title: "Pilot-Systemdesign", duration: "2–4 Wochen", lede: "Blueprint entwickeln, ersten Piloten aufbauen — Struktur, Rollen und Systemarchitektur, die funktionieren.", body: "Damit Technologie, Governance und bestehende Abläufe von Anfang an zusammenpassen.", outcomes: ["Aufbau des Systems und der Workflows", "Zuständigkeiten und Entscheidungswege", "Umsetzungsplan für den ersten Piloten"], }, { n: "03", pill: "Laufend", title: "Vom Pilot zur Produktion", duration: "Quartal-Retainer", lede: "Ein Pilot ist erst dann wertvoll, wenn daraus ein verlässlicher Ablauf im Unternehmen wird.", body: "Mit klaren Zuständigkeiten, Freigaben, Qualitätskontrolle und geregeltem Vorgehen bei Zwischenfällen.", outcomes: ["Betriebsplan für den produktiven KI-Einsatz", "Laufende Qualitätssicherung", "Notfall- und Eskalationsplan"], }, ], }; const t = lang === 'de' ? de : en; const [hoveredIdx, setHoveredIdx] = React.useState(null); const [expandedCards, setExpandedCards] = React.useState(new Set()); const toggleCard = (i) => setExpandedCards(prev => { const next = new Set(prev); next.has(i) ? next.delete(i) : next.add(i); return next; }); return (
04
{/* Eyebrow */}
{t.eyebrow}
{/* Heading */}

{t.h2}

{/* Three cards */} {(() => { const pillColors = ['#0db8cc', '#8b5cf6', '#f97316']; return (
{t.items.map((it, idx) => (
!isMobile && setHoveredIdx(idx)} onMouseLeave={() => !isMobile && setHoveredIdx(null)} style={{ background: "transparent", border: `1px solid ${hoveredIdx === idx ? pillColors[idx] + "55" : "#3a3a4a"}`, borderRadius: 14, display: "flex", flexDirection: "column", overflow: "hidden", minHeight: 460, boxShadow: hoveredIdx === idx ? `0 8px 40px ${pillColors[idx]}18` : "none", transform: hoveredIdx === idx ? "translateY(-4px)" : "none", transition: "border-color 300ms ease, box-shadow 300ms ease, transform 400ms cubic-bezier(0.22, 1, 0.36, 1)", }}> {/* Top zone */}
{/* Number + pill */}
{it.n}
{it.pill}
{/* Title */}

{it.title}

{/* Duration */}
{it.duration}
{/* Separator */}
{/* Bottom zone — outcomes always visible; description expands on toggle */}
{/* Toggle row */}
toggleCard(idx)} style={{ padding: "14px 36px", display: "flex", justifyContent: "space-between", alignItems: "center", cursor: "pointer", borderBottom: "1px solid #2d2d38", }}> {lang === 'de' ? 'Details' : 'Details'} +
{/* Expandable lede + body */}

{it.lede}

{it.body}

{/* Outcomes — always visible */}
{lang === 'de' ? 'Ergebnis' : 'Includes'}
    {it.outcomes.map((o, i) => (
  • {o}
  • ))}
))}
); })()}

{t.footer}

); } window.CapabilitiesCards = CapabilitiesCards;