// work.jsx — Featured work section: big editorial cards + scroll-linked list. // // To add a real video to any project: open components/data.jsx and paste // the URL into the project's `video` field. Supported: // • YouTube → https://youtu.be/XXXX or https://youtube.com/watch?v=XXXX // • Vimeo → https://vimeo.com/XXXXXXXX // • Direct file → "assets/yourfile.mp4" (drop file into assets/ folder first) // Optional: set `cover` to "assets/yourimage.jpg" for the still that shows // before the video plays. function parseVideoSrc(url) { if (!url) return null; // Direct file if (/\.(mp4|webm|mov)(\?|$)/i.test(url) || url.startsWith("assets/")) { return { kind: "file", src: url, thumb: null }; } // YouTube let m = url.match(/(?:youtu\.be\/|youtube\.com\/(?:watch\?v=|embed\/|shorts\/))([\w-]{11})/); if (m) { const id = m[1]; return { kind: "youtube", src: `https://www.youtube-nocookie.com/embed/${id}?autoplay=1&mute=1&controls=1&rel=0&modestbranding=1&playsinline=1`, thumb: `https://img.youtube.com/vi/${id}/maxresdefault.jpg`, }; } // Vimeo m = url.match(/vimeo\.com\/(?:video\/)?(\d+)/); if (m) { return { kind: "vimeo", src: `https://player.vimeo.com/video/${m[1]}?autoplay=1&muted=1&loop=1&background=0&dnt=1`, thumb: null, }; } return null; } function WorkSection({ onOpen }) { const [hovered, setHovered] = React.useState(null); return (
§ 01 Selected work

Six projects
worth sharing.

A slice of what we've made for founders, operators, and institutions since 2016. Film, identity, campaign, and everything between.

{WORK.slice(0, 2).map((w, i) => ( ))}
{WORK.slice(2).map((w, i) => ( setHovered(w.id)} onLeave={() => setHovered(null)} onOpen={onOpen} /> ))}
All work, archived
); } function WorkCard({ w, size, index, onOpen }) { const [playing, setPlaying] = React.useState(false); const video = parseVideoSrc(w.video); const ratio = size === "lg" ? "16/9" : "4/3"; const handleClick = (e) => { // While playing, never re-trigger case-study or replay from a card click — // let clicks fall through to the iframe (YouTube controls). if (playing) return; if (video) { e.stopPropagation(); setPlaying(true); return; } onOpen && onOpen(w); }; const stop = (e) => e.stopPropagation(); return (
{video && playing ? ( video.kind === "file" ? (