Botões
Five button variants cover every interaction pattern. Primary and Hero buttons are reserved for conversion actions (routes to /agendar or /aplicar only). Secondary and Ghost buttons handle navigation and secondary actions. Link buttons work inline within body text.
Every button variant with live hover, focus, active, and disabled states. Use the tabs to switch variants. All states in the grid are rendered as static CSS snapshots. The "Interactive" section below each grid uses real event handlers.
The primary blue CTA button is the highest-emphasis action element. It uses asymmetric vertical padding (13px top, 15px bottom) adapted from Stripe's optical centering technique. At our larger padding, 1px difference is sufficient to make the text appear perfectly centered.
A larger version of the primary button for hero sections. Same visual weight, increased tap target and prominence. Use only once per page, above the fold.
Secondary (Outline)
Transparent background with a visible border. Used for alternative actions next to a primary button, or as a standalone non-conversion action.
Ghost (Text + Arrow)
Minimal text button with an arrow suffix that shifts right on hover. Used for tertiary navigation and content links within cards.
Link buttons appear inline within body copy. For CTA buttons that navigate to a URL, use an <a> tag styled as a button. This preserves accessibility semantics while maintaining visual consistency.
All primary and hero CTA buttons must route to one of two conversion endpoints. There are no other valid CTA destinations.
Strategy call booking. Use for buttons like "Agendar Reunião", "Book a Call", "Schedule Strategy Session".
Application form. Use for buttons like "Aplicar Agora", "Apply Now", "Start Your Application".
Icons can be placed on the left (action emphasis) or right (directional/navigation). Icons are 16px inline SVGs that inherit button text color. Maintain 8px gap between icon and text.
- Use primary/hero buttons only for conversion CTAs (/agendar or /aplicar)
- Pair primary + secondary together (never two primaries side by side)
- Use ghost buttons for card CTAs and in-content navigation
- Use link buttons for inline text references
- Include focus-visible styles for keyboard navigation
- Place more than one primary button per viewport
- Use primary buttons for non-conversion actions (Learn More, Read Article)
- Animate button text or icons with bounce/spring easing
- Use blue background on secondary buttons — blue is reserved for primary
- Remove the min-width from primary buttons — it prevents visual inconsistency