Components

All components are Astro .astro files in src/components/. Styles are scoped via Astro’s <style> tags and reference global tokens.

Buttons

Three button variants defined globally in global.css:

btn-primary

Dark background, white text. Primary call-to-action.

.btn-primary {
  background: var(--color-accent);        /* #111827 */
  color: #fff;
  padding: 12px 24px;
  border-radius: var(--radius-lg);        /* 12px */
  font-size: var(--text-small);           /* 0.875rem */
  font-weight: 600;
}
/* Hover: background accent-hover, shadow-sm */

btn-secondary

Transparent with border. Secondary action.

.btn-secondary {
  background: transparent;
  color: var(--color-text);
  border: 1px solid var(--color-border);
  padding: 12px 24px;
  border-radius: var(--radius-lg);
  font-size: var(--text-small);
  font-weight: 600;
}
/* Hover: background bg-alt */

btn-ghost

Transparent, no border. Tertiary action.

.btn-ghost {
  background: transparent;
  color: var(--color-text-secondary);
  padding: 12px 24px;
  border-radius: var(--radius-lg);
  font-size: var(--text-small);
  font-weight: 500;
}
/* Hover: background bg-alt, color text */

Badge

Uppercase pill label used for section categorization.

.badge {
  padding: 6px 16px;
  border-radius: var(--radius-pill);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--color-text-muted);
}

Cards

FeatureCard

Grid item with optional icon, title, and description.

ProductCard

Linked card for product showcases. Lifts on hover.

Fixed position, backdrop blur, pill-shaped.

Hero (Hero.astro)

Centered layout with badge, title, subtitle, optional CTA buttons and install block.

FAQ (FAQ.astro)

Accordion using native <details>/<summary>.

Testimonials (Testimonials.astro)

3-card carousel with center focus.

ValuePanel (ValuePanel.astro)

2-column grid with text + visual content.

StatsRow (StatsRow.astro)

3-column stat display with dividers.

CodeBlock (CodeBlock.astro)

Terminal-style code display.

InstallBlock (InstallBlock.astro)

Single-command install display with copy button.