body { font-family: 'Lato', sans-serif; }
h1, h2, h3, h4, h5 { font-family: 'Catamaran', sans-serif; }

/* Hero */
.hero {
  background: linear-gradient(135deg, #0d1117 0%, #1a2744 50%, #0d2137 100%);
  padding: 120px 0 80px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(13,110,253,0.15) 0%, transparent 70%);
  top: -100px; right: -100px;
  border-radius: 50%;
}
.hero::after {
  content: '';
  position: absolute;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(111,66,193,0.12) 0%, transparent 70%);
  bottom: -80px; left: -60px;
  border-radius: 50%;
}

/* Section alternating */
.section-light { background-color: #f8f9fa; }
.section-dark  { background-color: #0d1117; }
.section-mid   { background-color: #131c2e; }

/* Stat cards */
.stat-card {
  border: 1px solid rgba(13,110,253,0.2);
  border-radius: 12px;
  background: rgba(13,110,253,0.05);
  transition: transform 0.2s, border-color 0.2s;
}
.stat-card:hover { transform: translateY(-4px); border-color: rgba(13,110,253,0.5); }

/* Feature icons */
.feature-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

/* Roadmap */
.roadmap-item { border-left: 3px solid #0d6efd; padding-left: 1.25rem; margin-bottom: 0.75rem; }
.roadmap-item.done { border-color: #198754; }
.roadmap-item.in-progress { border-color: #fd7e14; }
.roadmap-item.planned { border-color: #6c757d; }

/* Metrics table */
.metrics-table th { background: #0d6efd; color: #fff; border: none; }
.metrics-table td { border-color: #dee2e6; }
.metrics-table tr:nth-child(even) td { background: #f0f5ff; }

/* Badge pill labels */
.badge-pill-list .badge { font-size: 0.8rem; padding: 0.45em 0.9em; margin: 0.2rem; }

/* Inline style replacements (CP-1275: removes unsafe-inline from style-src) */
.brand-accent       { color: #4d9fff; }
.hero-tagline       { max-width: 640px; }
.feature-card       { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); }
.bg-purple-dim      { background: rgba(111,66,193,0.2); }
.tech-divider       { border-color: rgba(255,255,255,0.1); }
.roadmap-item--consideration { border-color: #6c757d; }
.cta-container      { max-width: 720px; }

/* ===== CP-1409: New section styles ===== */

/* How It Works */
.how-it-works-step { text-align: center; padding: 1.5rem 1rem; }
.step-number {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: #0d6efd;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem;
}

/* Use-case cards */
.use-case-card {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  padding: 1.75rem;
  height: 100%;
  transition: border-color 0.2s, transform 0.2s;
}
.use-case-card:hover { border-color: rgba(13,110,253,0.5); transform: translateY(-3px); }

/* Pricing cards */
.pricing-card {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
  padding: 2rem;
  height: 100%;
  position: relative;
}
.pricing-card--recommended { border-color: #0d6efd; background: rgba(13,110,253,0.1); }
.pricing-badge {
  position: absolute;
  top: -14px; left: 50%; transform: translateX(-50%);
  background: #0d6efd; color: #fff;
  font-size: 0.75rem; font-weight: 700;
  padding: 0.25rem 1.25rem;
  border-radius: 20px; white-space: nowrap;
}
.pricing-feature-list { list-style: none; padding: 0; margin: 0; }
.pricing-feature-list li {
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  font-size: 0.9rem; color: rgba(255,255,255,0.7);
}
.pricing-feature-list li::before { content: '\2713\00a0'; color: #198754; font-weight: 700; }

/* FAQ accordion — dark background override */
.faq-accordion .accordion-item { border-color: rgba(255,255,255,0.12); background: transparent; }
.faq-accordion .accordion-button { background: transparent; color: #fff; font-weight: 600; box-shadow: none; }
.faq-accordion .accordion-button:not(.collapsed) { color: #4d9fff; background: transparent; }
.faq-accordion .accordion-button::after { filter: invert(1) brightness(2); }
.faq-accordion .accordion-body { color: rgba(255,255,255,0.65); font-size: 0.95rem; }
.faq-accordion .accordion-body a { color: #4d9fff; }

/* Trust badges */
.trust-badge-list {
  display: flex; flex-wrap: wrap;
  justify-content: center; gap: 0.25rem 1.5rem;
  list-style: none; padding: 0; margin: 0;
}
.trust-badge-list li { font-size: 0.85rem; color: rgba(255,255,255,0.5); }
.trust-badge-list li::before { content: '\2713\00a0'; color: #198754; }

/* Hero micro-copy */
.hero-microcopy { letter-spacing: 0.01em; }
