:root {
  --font-body: "Aptos", "Segoe UI", Arial, sans-serif;
  --font-heading: "Segoe UI", Arial, sans-serif;
  --font-nav: "Aptos", "Segoe UI", Arial, sans-serif;
  --surface: #fbfcf7;
  --surface-raised: #ffffff;
  --surface-alt: #eef7f4;
  --surface-soft: #fff7d9;
  --surface-cool: #e9f6fb;
  --surface-warm: #fff1e5;
  --surface-proof: #f6f5ff;
  --surface-footer: #e5efe9;
  --ink: #21332f;
  --body: #40514d;
  --muted: #65736e;
  --rule: rgba(48, 89, 79, 0.2);
  --accent: #178f7a;
  --accent-ink: #ffffff;
  --focus: #c26a22;
}

.site-mark {
  letter-spacing: 0.4px;
}

.site-header {
  background: rgba(251, 252, 247, 0.95);
}

.hero {
  background:
    linear-gradient(180deg, rgba(251, 252, 247, 0.98), rgba(238, 247, 244, 0.82)),
    var(--surface);
}

.hero__title {
  max-width: 11ch;
}

.top-features {
  background:
    linear-gradient(90deg, rgba(233, 246, 251, 0.95), rgba(255, 247, 217, 0.78)),
    var(--surface-cool);
}

.section--sparkles-note {
  background:
    linear-gradient(90deg, rgba(255, 247, 217, 0.95), rgba(238, 247, 244, 0.86)),
    var(--surface-soft);
}

.section--alt {
  background:
    linear-gradient(90deg, rgba(238, 247, 244, 0.95), rgba(251, 252, 247, 0.84)),
    var(--surface-alt);
}

.section--warm {
  background:
    linear-gradient(90deg, rgba(255, 241, 229, 0.96), rgba(255, 247, 217, 0.78)),
    var(--surface-warm);
}

.section--soft {
  background:
    linear-gradient(90deg, rgba(246, 245, 255, 0.94), rgba(233, 246, 251, 0.76)),
    var(--surface-proof);
}

.section--proof {
  background:
    linear-gradient(180deg, rgba(246, 245, 255, 0.98), rgba(238, 247, 244, 0.72)),
    var(--surface-proof);
}

.button,
.contact-link,
.mobile-link,
.widget-link {
  border-radius: 6px;
}

.button--primary,
.contact-link--primary,
.mobile-link--primary,
.widget-link--primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}

.module-card,
.contact-card,
.timeline-step,
.proof-card {
  border-radius: 8px;
}

.section-badge span {
  background: #ffe57a;
  color: #1f332f;
}
