- isUpcoming() now checks startTime, not just date — past events hide after they start
- Cards without images get a gradient placeholder instead of collapsing to 0 height
- Merge two Reveal wrappers into one to prevent empty Reveal stuck at opacity 0
- Use flex layout with justify-center so single cards are centered
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add VictoryItem type (place, category, competition, location, date, image, link)
- Add RichListItem type for education with image/link support
- Backward-compatible DB parsing for old string[] formats
- Admin forms with structured fields and image upload per item
- Victory/education cards with photo overlay and lightbox
- Remove max-width constraint from trainer profile for full-width layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 13 team members with photos and Instagram links, 6 class types,
real contact info with two addresses, and Yandex Maps with markers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace default Next.js favicon with the Blackheart logo. Remove white
background from logo PNG for proper transparency in dark mode. Add
unoptimized prop to next/image to preserve alpha channel.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>