function Companies({ accent, layout }) { const ref = React.useRef(null); React.useEffect(() => { const obs = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('in'); }); }, { threshold: 0.15 }); ref.current.querySelectorAll('.reveal').forEach(el => obs.observe(el)); return () => obs.disconnect(); }, []); const companies = [ { num: '01', name: 'Assos Keukens & Badkamers', tagline: 'Showroom & specialist', desc: 'Van compleet ingerichte keukens en luxe badkamers tot PVC-vloeren en tegelwerk. In onze showroom vindt u alles om uw woonruimte een nieuwe identiteit te geven.', services: ['Keukens', 'Badkamers', 'PVC-vloeren', 'Tegels'], image: 'https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?auto=format&fit=crop&w=1400&q=80', href: 'https://assoskeukensbadkamers.nl', domain: 'assoskeukensbadkamers.nl', }, { num: '02', name: 'Assos Marmer', tagline: 'Aannemer & interieurbouw', desc: 'Totaalaannemer voor complete interieurbouw. Van ruwbouw tot maatwerk afwerking — wij realiseren uw volledige verbouwing met aandacht voor elk detail.', services: ['Interieurbouw', 'Verbouwing', 'Maatwerk', 'Marmer & natuursteen'], image: 'https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1400&q=80', href: 'https://assosmarmer.com', domain: 'assosmarmer.com', }, ]; return (
{/* Section header */}
Onze bedrijven

Het beste van twee specialismen

{/* Cards */}
{companies.map((c, i) => ( ))}
); } function CompanyCard({ c, accent, flipped, layout }) { const [hover, setHover] = React.useState(false); if (layout === 'split') { return ( setHover(true)} onMouseLeave={() => setHover(false)} style={{ position: 'relative', display: 'block', aspectRatio: '4 / 5', overflow: 'hidden', background: 'var(--bg-3)', cursor: 'pointer', textDecoration: 'none', }}> {c.name}
— {c.num} {c.tagline}

{c.name}

{c.desc}

{c.services.map((s, i) => ( {s} ))}
Bezoek {c.domain}
); } // Stacked layout: alternating image/text return (
setHover(true)} onMouseLeave={() => setHover(false)} style={{ position: 'relative', display: 'block', aspectRatio: '4 / 5', overflow: 'hidden', direction: 'ltr', background: 'var(--bg-3)', }}> {c.name}
— {c.num} · {c.tagline}

{c.name}

{c.desc}

{c.services.map((s, i) => ( {s} ))}
setHover(true)} onMouseLeave={() => setHover(false)} style={{ marginTop: 16, alignSelf: 'flex-start' }}> Bezoek {c.domain}
); } window.Companies = Companies;