CTAs
Every call to action on the site, stacked in one place so they can be compared before anyone decides where they go. Rendered off the real design system, so what you see here is what ships. Not linked from anywhere and not indexed.
Each one has a name so it can be asked for out loud — “let’s use Split on the Athletes page” — without anyone opening a file or describing a layout. The names describe what you notice first, not what the component does, because all three do the same job.
Spotlight
A photograph, full width, with the ask on top of it.
parts/cta-band.php · section name: cta_band · Figma 6321:312
The full-width block that ends a page. It is the site's default last word: when a page has said its piece, this is what it asks for next.
On the site today: parts/cta-band.php, rendered on the home page. Two near-duplicates do the same job elsewhere — parts/cta-photo.php (3 call sites, 2 of which diverged from the part) and split_cta (2 call sites, byte-for-byte identical).
Open:
- MEASURED AGAINST FIGMA 6321:312 — band height (735px) and lead width (520px) match. The HEADLINE does not: the frame caps it at 1248px in a 1600 canvas, ours has no max-width and fills the container at 1328px. 80px too wide. Fix is one rule in css/ds/fixes.css; blocked while another session holds that file.
- Two buttons is the current shape. Is that the rule, or can it carry one?
- The band is black with a purple/magenta glow and a photo at 40% opacity behind it. The photo variant is a different component today — should they be one component with a background choice instead?
- Labels here are "Apply to Partner" and "Attend a Class". Both match the frame, so this entry is the reference for what the rest of the site should say.
Bring Bloom to your community.
Whether you're an IDD service provider, a supporter, or an athlete ready to move — there's a place for you.
Split
Two panels, two audiences, one action each.
inline split_cta markup · section name: cta_split · Figma 6467:1073
Splits the ask in two when a page genuinely serves two different audiences — an IDD provider and a donor want opposite things, and asking them both in one sentence serves neither.
On the site today: front-page.php and page-our-athletes.php as inline split_cta markup, byte-for-byte identical in both. Never extracted to a part.
Open:
- BUILT TO FIGMA 6467:1073, NOT to what the site currently renders. The live split_cta diverges hard: 24px gap and rounded corners the frame does not draw, 56px inset vs 80px, min-height 300px vs 683px, and a 46px headline where the frame sets ~97px — the same size as the band headline. It reads as a rough approximation rather than a port.
- Styles here are scoped to this page so nothing on the live site moves. Adopting it means promoting them to css/ds/fixes.css and replacing both inline copies with a part.
- The frame has NO gap between panels and square corners, so the two grounds meet on a hard edge at the centre. Confirm that is intended before it ships — it is the one choice that reads as deliberate or as unfinished depending on who is looking.
- One button per panel here, against two on the band. That looks like the actual rule: a panel is already a narrowed audience, so it gets one action.
Bring Bloom
to your org.
Partner with us to give your athletes access to adaptive fitness. Setup is simple, costs are low, and the impact is immediate.
Give $1, give a
Bloom class.
Your donation directly funds programming for adults with IDD who wouldn't otherwise have access to fitness.
Glow
No photograph — just the gradient and the words.
parts/cta-band.php with no image · section name: cta_glow · Figma 6321:1281
The same closer as Spotlight with the photograph removed, so the gradient carries it. Shorter, quieter, and the one that reads as ours rather than as a stock band with a picture behind it.
On the site today: Nowhere. The site cannot currently render this — see below.
Open:
- THIS IS THE SAME FIGMA COMPONENT AS CTA 01 (both instances are named "CTA Band"), just without the photo layer and 539px tall instead of 735px. So photo-vs-glow is a VARIANT of one component, which answers the open question on entry 01 — it is not two components.
- parts/cta-band.php cannot express it. The image argument uses `! empty( $args['image'] )`, so passing an empty string falls through to the community photo. There is no way to ask for no photo. That is a code gap, not a design one.
- THE GRADIENT WAS WRONG, and it is the thing that makes this original. Sampled off the frame: peak is rgb(41,14,39) over #080808, which is --purple at ~0.29 alpha. Ours ships 0.18 — roughly a third too weak. The centre is also off: the frame puts the ellipse at 45% across and ~69% down (900×500 at x=270,y=120); ours anchors it to "50% 100%", the bottom edge.
- Ours also adds a lime glow from the top at 4%. The frame has none — the top row samples pure (8,8,8). That was invented somewhere in the port.
- "Partner With Bloom" is a SEVENTH label pointing at /partners. Adding it to the pile rather than treating it as settled.
Every story starts with someone choosing to give.
$1 gives one adult with IDD access to one Bloom class. Your gift makes every one of these stories possible.