:root {
  --bb-ink: #08110C;
  --bb-slate: #0F1F16;
  --bb-slate-light: #173324;
  --bb-green: #228B22;
  --bb-green-light: #39A83B;
  --bb-green-muted: rgba(34, 139, 34, 0.16);
  --bb-blue: #2F6BFF;
  --bb-blue-light: #68A4FF;
  --bb-blue-muted: rgba(47, 107, 255, 0.16);
  --bb-surface: #102117;
  --bb-surface-2: #153021;
  --bb-border: #23442F;
  --bb-text-primary: #F6F8FB;
  --bb-text-secondary: #C7D0D8;
  --bb-text-tertiary: #8EA0B0;
  --bb-success: #4CAF82;
  --bb-info: #68A4FF;
  --bb-warn: #68A4FF;
  --bb-danger: #E05C5C;
  --bb-gradient-hero: linear-gradient(135deg, #08110C 0%, #12311E 55%, #0B1734 100%);
  --bb-gradient-accent: linear-gradient(90deg, #228B22, #2F6BFF);
  --bb-gradient-card: linear-gradient(145deg, #102117, #132A2F);
}

body.bb-app-body {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--bb-ink);
  color: var(--bb-text-primary);
  -webkit-font-smoothing: antialiased;
}

main { min-height: 70vh; }
a { text-decoration: none; }
.bb-display {
  font-family: 'Instrument Serif', Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.08;
  color: var(--bb-text-primary);
}
.bb-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bb-green-light);
}
.bb-eyebrow::before,
.bb-eyebrow::after { content: '—'; opacity: .45; }
.bb-muted, .text-muted { color: var(--bb-text-secondary) !important; }
.bb-section { padding: 6rem 0; }
.bb-section-lg { padding: 7rem 0; }
.bb-section-dark-alt { background: #10251a; }

.bb-navbar {
  background: rgba(26, 28, 34, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(56,61,80,0.7);
  padding: .9rem 0;
}
.bb-logo-dot { color: var(--bb-green-light); }
.bb-nav-links .nav-link {
  color: var(--bb-text-secondary) !important;
  font-size: .95rem;
  font-weight: 500;
  padding: .5rem .9rem !important;
}
.bb-nav-links .nav-link:hover { color: var(--bb-text-primary) !important; }
.navbar-toggler { border-color: rgba(255,255,255,.25); }
.navbar-toggler-icon { filter: invert(1); }

.btn-bb-primary {
  background: var(--bb-green);
  color: #ffffff;
  border: none;
  border-radius: 999px;
  font-weight: 700;
  padding: .85rem 1.6rem;
  box-shadow: 0 0 24px rgba(34,139,34,.18);
}
.btn-bb-primary:hover { background: var(--bb-green-light); color: #ffffff; transform: translateY(-1px); }
.btn-bb-secondary {
  background: transparent;
  color: var(--bb-text-primary);
  border: 1.5px solid var(--bb-border);
  border-radius: 999px;
  font-weight: 600;
  padding: .85rem 1.6rem;
}
.btn-bb-secondary:hover { border-color: var(--bb-blue-light); color: var(--bb-text-primary); }
.btn-bb-sm { padding: .65rem 1.2rem; font-size: .9rem; }
.btn-bb-lg { padding: 1rem 2rem; font-size: 1rem; }

.bb-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.bb-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  display: none;
}
.bb-badge.has-dot::before { display: inline-block; }
.bb-badge-ai { background: var(--bb-blue-muted); color: var(--bb-blue-light); }
.bb-badge-gold { background: var(--bb-green-muted); color: var(--bb-green-light); }
.bb-badge-draft { background: rgba(47,107,255,.12); color: var(--bb-blue-light); }

.bb-hero {
  background: radial-gradient(circle at top center, rgba(34,139,34,.18), transparent 28%), var(--bb-gradient-hero);
  position: relative;
  overflow: hidden;
}
.bb-hero-headline { font-size: clamp(3.2rem, 7vw, 5.8rem); }
.bb-hero-headline-em { color: var(--bb-green-light); font-style: italic; }
.bb-hero-sub {
  max-width: 760px;
  font-size: 1.18rem;
  line-height: 1.8;
  color: var(--bb-text-secondary);
}
.bb-hero-proof {
  color: var(--bb-text-tertiary);
  font-size: .95rem;
}

.bb-workflow-shell,
.bb-service-band,
.bb-feature-panel,
.bb-card {
  background: var(--bb-gradient-card);
  border: 1px solid var(--bb-border);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.bb-workflow-shell { padding: 1.5rem; }
.bb-workflow-step {
  height: 100%;
  padding: 1.2rem;
  border-radius: 16px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.04);
}
.bb-step-number {
  color: var(--bb-green-light);
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .12em;
  margin-bottom: .85rem;
}
.bb-workflow-step h3 { font-size: 1.2rem; margin-bottom: .65rem; }
.bb-workflow-step p { color: var(--bb-text-secondary); margin: 0; line-height: 1.65; }

.bb-card,
.bb-feature-panel,
.bb-service-band { padding: 1.75rem; }
.bb-card-featured { border-top: 2px solid var(--bb-green-light); }
.bb-card-icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(34,139,34,.14);
  color: var(--bb-green-light);
  font-size: 1.4rem;
}
.bb-section-header .bb-section-sub {
  max-width: 640px;
  color: var(--bb-text-secondary);
  font-size: 1.08rem;
  line-height: 1.8;
}

footer {
  background: var(--mm-navbar-bg) !important;
  color: var(--bb-text-secondary) !important;
  border-top: 1px solid rgba(56,61,80,0.7);
}
.bb-footer-logo {
  max-height: 64px;
  width: auto;
  display: block;
}
footer a { color: var(--bb-text-secondary) !important; }
footer a:hover { color: var(--bb-blue-light) !important; }

input::placeholder, textarea::placeholder, select::placeholder,
.form-control::placeholder {
  color: rgba(255,255,255,0.28) !important;
}
.form-control, .form-select, textarea {
  background: #1f2430;
  border-color: var(--bb-border);
  color: var(--bb-text-primary);
}
.form-control:focus, .form-select:focus, textarea:focus {
  background: #1f2430;
  color: var(--bb-text-primary);
  border-color: var(--bb-green-light);
  box-shadow: 0 0 0 .2rem rgba(34,139,34,.18);
}

@media (max-width: 991px) {
  .bb-section, .bb-section-lg { padding: 4.5rem 0; }
  .bb-hero-headline { font-size: clamp(2.7rem, 11vw, 4.6rem); }
}
