:root {
  --primary: #2c2b47;
  --primary-dark: #1f1e34;
  --secondary: #6d6aaf;
  --accent: #acf248;
  --heading: #111827;
  --text: #374151;
  --text-muted: #6b7280;
  --surface: #ffffff;
  --surface-alt: #f5f7fb;
  --surface-dark: #111827;
  --on-surface: #374151;
  --on-surface-alt: #374151;
  --on-dark: #f9fafb;
  --on-primary: #ffffff;
}

body {
  font-family: var(--font-body, system-ui, sans-serif);
  color: var(--text);
  background: var(--surface);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading, system-ui, sans-serif);
  color: var(--heading);
}

.title {
  color: var(--heading) !important;
}

.subtitle {
  color: var(--text-muted) !important;
}

.has-background-dark,
.footer.has-background-dark,
.section-dark {
  background-color: var(--surface-dark) !important;
  color: var(--on-dark);
}

.has-background-dark .title,
.footer .title,
.section-dark .title,
.section-dark h1,
.section-dark h2,
.section-dark h3 {
  color: #ffffff !important;
}

.hero.is-primary,
.section-primary,
.has-background-primary {
  background-color: var(--primary) !important;
  color: var(--on-primary);
}

.hero.is-primary .title,
.hero.is-primary .subtitle,
.section-primary .title,
.section-primary h1,
.section-primary h2 {
  color: #ffffff !important;
}

.has-background-light,
.section-alt {
  background-color: var(--surface-alt) !important;
  color: var(--on-surface-alt);
}

.has-background-light .title,
.section-alt .title {
  color: var(--heading) !important;
}

a {
  color: var(--primary);
}

a:hover {
  color: var(--primary-dark);
}

.button.is-primary {
  background-color: var(--primary);
  border-color: transparent;
  color: var(--on-primary);
}

.button.is-primary:hover {
  background-color: var(--primary-dark);
}

.box,
.card {
  background: var(--surface);
  color: var(--text);
}

.box .title,
.card .title {
  color: var(--heading) !important;
}
