const DS = window.AIProductionStudioDesignSystem_16a811; const { Tag, Badge, Button, Card, Icon, GlassPanel } = DS; const Slideshow = DS.Slideshow || function SlideshowFallback({ items = [], ratio = '16 / 9' }) { return (
{items.slice(0, 2).map((s, i) => (
{s.video && {s.title &&
{s.title}{s.meta}
}
))}
); }; const WORK = [ { t: 'Marakkar', c: 'Feature film · VFX', y: 'Film', tags: ['VFX'], src: 'assets/film-marakkar.jpg' }, { t: 'Thug Life', c: 'Feature film · VFX', y: 'Film', tags: ['VFX'], src: 'assets/film-thuglife.jpg' }, { t: 'Hair-detail roto', c: 'Rotoscopy breakdown', y: 'Roto', tags: ['VFX'], src: 'assets/work-reel.png' }, { t: 'Kissflow – Explainer Video', c: 'SaaS explainer', y: 'AI', tags: ['AI'], src: 'assets/kissflow-thumb.png' }, { t: 'GenQuest – Explainer Video', c: 'How police find invisible fingerprints', y: 'AI', tags: ['AI'], src: 'assets/genquest-fingerprints-thumb-v2.png' }, { t: 'Temple jewellery — UGC', c: 'UGC ad · 9:16', y: 'AI', tags: ['AI'], src: 'assets/ugc-jewel-1.jpg' }, { t: 'Orbit Audio — product explainer', c: 'AI video production', y: 'AI', tags: ['AI'] }, ]; const FILTERS = ['AI', 'VFX']; function WorkScreen({ onNav }) { const [active, setActive] = React.useState([]); const toggle = (f) => setActive((a) => a.includes(f) ? a.filter((x) => x !== f) : [...a, f]); const shown = active.length ? WORK.filter((w) => w.tags.some((t) => active.includes(t))) : WORK; return (
Work

Our work

{FILTERS.map((f) => toggle(f)}>{f})} {String(shown.length).padStart(2, '0')} projects
({ title: w.t, meta: w.c, placeholder: w.t, src: w.src }))} />
{shown.map((w) => ( { e.preventDefault(); onNav('case'); }} style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-6)', padding: 'var(--space-6) 0', borderBottom: '1px solid var(--line-hairline)', color: 'inherit' }}> {w.y} {w.t} {w.c} ))}
); } function CaseScreen({ onNav }) { return (
VFX services46 shotsDelivered

Halcyon — rig removal

The brief

Remove harness rigs from a 40-second continuous stunt take without softening the plate.

{[['Client', 'Feature film'], ['Shots', '46'], ['Delivery', 'ProRes 4444 / EXR'], ['Schedule', '3 weeks'], ['Scope', 'Roto, paint, compositing']].map(([k, v]) => (
{k} {v}
))}
); } Object.assign(window, { WorkScreen, CaseScreen });