const { Statement, Rule } = window.VamshotDesignSystem_18ef2a; /* SECTION 04 — the character. Scroll drives the world; the face never changes. */ const vsWorlds = [ { key: 'Face', index: '01', src: 'assets/char-portrait.png', pos: 'center 18%', posMobile: 'center 12%', tone: 'cool', world: 'Interior / available light', note: 'Locked geometry. Identical in every frame, every campaign, every year.' }, { key: 'Wardrobe', index: '02', src: 'assets/char-studio.png', pos: 'center 20%', posMobile: 'center 14%', tone: 'mono', world: 'Studio / single hard key', note: 'Styling changes. The character does not.' }, { key: 'Location', index: '03', src: 'assets/char-road.png', pos: 'center 28%', posMobile: '58% 26%', tone: 'deep', world: 'Exterior / hill road', note: 'Street, studio, store, rooftop, festival ground.' }, { key: 'Content', index: '04', src: 'assets/char-lobby.png', pos: 'center 14%', posMobile: 'center 10%', tone: 'cool', world: 'Lobby / night', note: 'Reels, stills, campaigns, ads. Continuously.' } ]; const vsVariables = ['Voice', 'Personality', 'Language', 'Culture']; /* The world frame — identical on every breakpoint, only the box changes. */ function CharacterFrame({ active, step, mobile }) { const current = vsWorlds[active]; return (
{vsWorlds[active].note}
{vsWorlds[active].note}