/* ══════════════════════════════════════════
   LAYOUT HELPERS
══════════════════════════════════════════ */
.container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section { padding: 80px 0; position: relative; }
.section-white  { background: var(--white); }
.section-slate  { background: var(--surface); }
.section-ink    { background: var(--ink); }
.section-near-black { background: var(--ink-deep); }

/* Ambient glow */
.glow { position: absolute; pointer-events: none; border-radius: 50%; }
.glow-tl { top: -200px; left: -150px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(85,88,240,0.05) 0%, transparent 65%); }
.glow-br { bottom: -180px; right: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(85,88,240,0.04) 0%, transparent 65%); }

/* Section headers */
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.12em; color: var(--indigo);
  margin-bottom: 14px;
}
.eyebrow::before { content: ''; display: inline-block; width: 24px; height: 2px; background: var(--indigo); border-radius: 2px; }
.section-h2 {
  font-family: var(--font-brand);
  font-size: clamp(26px, 3.2vw, 38px); font-weight: 700;
  color: var(--ink); line-height: 1.15; margin-bottom: 12px;
}
.section-h2-lg {
  font-family: var(--font-brand);
  font-size: clamp(28px, 3.8vw, 44px); font-weight: 700;
  color: var(--ink); line-height: 1.15; margin-bottom: 14px;
}
.section-sub { font-size: 17px; color: var(--slate-light); line-height: 1.65; max-width: 600px; }
.section-header { margin-bottom: 52px; }
.section-header.centered { text-align: center; }
.section-header.centered .section-sub { margin: 0 auto; }
.section-header.centered .eyebrow { display: flex; justify-content: center; }
.section-header.centered .eyebrow::before { display: none; }

/* On dark bg */
.on-dark .section-h2,
.on-dark .section-h2-lg { color: var(--white); }
.on-dark .section-sub { color: rgba(255,255,255,0.65); }
.on-dark .eyebrow { color: var(--indigo-light); }
.on-dark .eyebrow::before { background: var(--indigo-light); }

/* ══════════════════════════════════════════
   HERO — COMMITTEE
══════════════════════════════════════════ */
.hero-committee {
  background: var(--ink);
  padding: 96px 0 88px;
  position: relative; overflow: hidden;
}
.hero-committee::before {
  content: '';
  position: absolute; top: -200px; left: -100px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(85,88,240,0.12) 0%, transparent 65%);
  pointer-events: none;
}
.hero-committee::after {
  content: '';
  position: absolute; bottom: -200px; right: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(85,88,240,0.07) 0%, transparent 65%);
  pointer-events: none;
}
.hero-grid {
  display: grid; grid-template-columns: 52% 48%;
  gap: 56px; align-items: center; position: relative; z-index: 1;
}

/* Committee cards */
.committee-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.committee-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-lg);
  padding: 18px;
  display: flex; align-items: center; gap: 14px;
  backdrop-filter: blur(10px);
  transition: border-color 0.2s;
}
.committee-card.champion {
  border-color: rgba(85,88,240,0.4);
  background: rgba(85,88,240,0.08);
}
.committee-avatar {
  width: 52px; height: 52px; border-radius: 50%;
  overflow: hidden; flex-shrink: 0;
  border: 2px solid rgba(255,255,255,0.15);
}
.committee-avatar img { width: 100%; height: 100%; object-fit: cover; }
.committee-avatar-placeholder {
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(85,88,240,0.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
}
.committee-info h4 { font-size: 14px; font-weight: 700; color: var(--white); margin-bottom: 2px; }
.committee-info p  { font-size: 11px; color: rgba(255,255,255,0.5); margin-bottom: 8px; }
.committee-signal  { font-size: 11px; color: rgba(255,255,255,0.45); line-height: 1.4; }

/* Stance pills (hero) */
.stance { display: inline-block; font-size: 11px; font-weight: 700; border-radius: var(--radius-pill); padding: 3px 10px; }
.stance-champion  { color: #2D7A4F; background: rgba(45,122,79,0.15); border: 1px solid rgba(45,122,79,0.3); }
.stance-supporter { color: #3B82F6; background: rgba(59,130,246,0.12); border: 1px solid rgba(59,130,246,0.25); }
.stance-reviewing { color: #D97706; background: rgba(217,119,6,0.12); border: 1px solid rgba(217,119,6,0.25); }
.stance-silent    { color: rgba(255,255,255,0.5); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); }

/* Hero message */
.hero-message { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero-eyebrow {
  display: inline-block; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--indigo-light); margin-bottom: 24px;
}
.hero-h1 {
  font-family: var(--font-brand);
  font-size: clamp(28px, 3.5vw, 42px); font-weight: 700;
  color: var(--white); line-height: 1.15; margin-bottom: 18px;
}
.hero-h1 em { color: var(--indigo-light); font-style: normal; }
.hero-sub {
  font-size: 17px; color: rgba(255,255,255,0.65);
  line-height: 1.65; margin-bottom: 32px; max-width: 440px;
}
.hero-stats {
  width: 100%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-md);
  padding: 8px 0;
  margin-bottom: 32px;
  display: flex; flex-direction: column;
}
.hero-stat { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: start; padding: 14px 24px; }
.hero-stat + .hero-stat { border-top: 1px solid rgba(255,255,255,0.07); }
.hero-stat-num { font-size: 22px; font-weight: 800; color: var(--indigo-light); line-height: 1.2; text-align: left; }
.hero-stat-label { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.5; text-align: left; padding-top: 3px; }
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  border-radius: var(--radius-sm); font-family: var(--font-ui);
  font-weight: 600; font-size: 14px; cursor: pointer;
  transition: all 0.18s; border: none; text-decoration: none;
}
.btn-primary { background: var(--indigo); color: var(--white); padding: 13px 26px; box-shadow: var(--shadow-indigo); }
.btn-primary:hover { background: var(--indigo-dark); transform: translateY(-1px); box-shadow: var(--shadow-indigo); }
.btn-primary-lg { padding: 15px 30px; font-size: 15px; }
.btn-secondary { background: transparent; color: var(--indigo); border: 1.5px solid rgba(85,88,240,0.4); padding: 13px 26px; }
.btn-secondary:hover { background: var(--indigo-pale); border-color: var(--indigo); }
.btn-outline-white { background: transparent; color: rgba(255,255,255,0.85); border: 1.5px solid rgba(255,255,255,0.3); padding: 13px 26px; }
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.6); color: var(--white); }

/* ══════════════════════════════════════════
   FAILURE MODES
══════════════════════════════════════════ */
.failure-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 32px; }
.failure-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  padding: 36px 32px;
  position: relative; overflow: hidden;
  box-shadow: var(--shadow-sm), var(--glass-inset);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.failure-card:hover { border-color: rgba(85,88,240,0.2); box-shadow: var(--shadow-lg); }
.failure-card-bg-icon {
  position: absolute; top: 20px; right: 24px;
  font-size: 48px; opacity: 0.07;
}
.failure-badge {
  display: inline-block; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: var(--radius-sm); padding: 5px 12px; margin-bottom: 20px;
}
.failure-badge-red  { background: var(--danger-bg); color: var(--danger-muted); }
.failure-badge-amber { background: var(--warn-bg); color: var(--warn-muted); }
.failure-card h3 {
  font-family: var(--font-brand); font-size: 24px; font-weight: 700;
  color: var(--ink); margin-bottom: 8px;
}
.failure-card .lead { font-size: 15px; font-weight: 600; color: var(--slate); margin-bottom: 16px; }
.failure-card p { font-size: 14px; color: var(--slate); line-height: 1.65; margin-bottom: 20px; }
.failure-cost {
  background: var(--border-light); border-left: 3px solid;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 14px 16px; margin-bottom: 16px;
}
.failure-cost-red   { border-color: var(--danger-muted); }
.failure-cost-amber { border-color: var(--warn-muted); }
.failure-cost h5 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--slate); margin-bottom: 6px; }
.failure-cost p { font-size: 13px; color: var(--slate); margin: 0; }
.failure-who { font-size: 13px; color: var(--slate-light); }
.failure-who strong { color: var(--ink); }

/* lucix solution callout */
.solution-callout {
  background: linear-gradient(135deg, rgba(85,88,240,0.06), rgba(85,88,240,0.02));
  border: 1px solid rgba(85,88,240,0.18);
  border-radius: var(--radius-lg);
  padding: 32px 36px;
  display: flex; align-items: center; gap: 24px;
}
.solution-mark {
  width: 48px; height: 48px; flex-shrink: 0;
  background: var(--indigo); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-brand); font-size: 20px; font-weight: 700; color: var(--white);
  box-shadow: var(--shadow-indigo);
}
.solution-callout h4 { font-size: 18px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.solution-callout p  { font-size: 15px; color: var(--slate); line-height: 1.6; margin: 0; }

/* ══════════════════════════════════════════
   STATS STRIP
══════════════════════════════════════════ */
.stats-strip {
  display: flex;
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  overflow: hidden;
  box-shadow: var(--shadow-sm), var(--glass-inset);
}
.stat-cell { flex: 1; padding: 32px 24px; text-align: center; position: relative; }
.stat-cell + .stat-cell::before {
  content: ''; position: absolute; left: 0; top: 20%; height: 60%;
  width: 1px; background: var(--border);
}
.stat-icon { width: 44px; height: 44px; background: var(--indigo-pale); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; font-size: 18px; color: var(--indigo); }
.stat-num  { font-family: var(--font-brand); font-size: 32px; font-weight: 700; color: var(--ink); line-height: 1; margin-bottom: 6px; }
.stat-lbl  { font-size: 13px; color: var(--slate-light); line-height: 1.4; }
.stat-src  { font-size: 11px; color: var(--muted); margin-top: 6px; }

/* Quote card */
.quote-card {
  display: flex; gap: 24px; align-items: flex-start;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 32px;
  box-shadow: var(--shadow-sm), var(--glass-inset);
  margin-top: 36px;
}
.quote-avatar { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid rgba(85,88,240,0.2); }
.quote-avatar img { width: 100%; height: 100%; object-fit: cover; }
.quote-body blockquote { font-size: 16px; color: var(--ink); line-height: 1.65; font-style: italic; margin-bottom: 12px; }
.quote-body blockquote::before { content: '"'; font-size: 24px; color: var(--indigo); vertical-align: -4px; margin-right: 2px; font-family: Georgia, serif; font-style: normal; }
.quote-attr-name { font-size: 14px; font-weight: 700; color: var(--ink); }
.quote-attr-meta { font-size: 13px; color: var(--slate-light); }

/* ══════════════════════════════════════════
   RESEARCH CARDS
══════════════════════════════════════════ */
.research-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 48px; }
.research-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  box-shadow: var(--shadow-sm), var(--glass-inset);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.research-card:hover { border-color: rgba(85,88,240,0.25); box-shadow: var(--shadow-lg); }
.research-num { font-family: var(--font-brand); font-size: 40px; font-weight: 700; color: var(--indigo); line-height: 1; margin-bottom: 8px; }
.research-label { font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 8px; line-height: 1.4; }
.research-insight { font-size: 13px; color: var(--slate); line-height: 1.6; margin-bottom: 10px; font-style: italic; }
.research-source { font-size: 11px; color: var(--muted); }

/* Pattern grid */
.pattern-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-bottom: 24px; }
.pattern-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-md);
  padding: 22px;
  box-shadow: var(--shadow-xs), var(--glass-inset);
}
.pattern-card h4 { font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.pattern-problem { font-size: 13px; color: var(--slate); margin-bottom: 4px; }
.pattern-consequence { font-size: 12px; color: var(--danger-muted); font-weight: 500; }

.insight-strip {
  background: var(--indigo-pale); border: 1px solid rgba(85,88,240,0.2);
  border-radius: var(--radius-md); padding: 16px 20px;
  font-size: 14px; font-weight: 600; color: var(--indigo); margin-bottom: 40px;
}

/* Gap comparison */
.gap-comp-grid { display: grid; grid-template-columns: 1fr 40px 1fr; gap: 0; align-items: center; }
.gap-col {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  box-shadow: var(--shadow-sm), var(--glass-inset);
}
.gap-col.lucix { border-color: rgba(85,88,240,0.3); background: rgba(85,88,240,0.04); }
.gap-arrow-wrap { display: flex; justify-content: center; }
.gap-arrow-wrap i { color: var(--indigo); font-size: 20px; }
.gap-col h4 { font-size: 16px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.gap-sub { font-size: 12px; color: var(--slate-light); margin-bottom: 16px; }
.gap-list li { font-size: 13px; color: var(--slate); padding: 6px 0; border-bottom: 1px solid var(--border); padding-left: 16px; position: relative; }
.gap-list li::before { content: '•'; position: absolute; left: 0; color: var(--indigo); }
.gap-col.lucix .gap-list li::before { content: '✓'; color: var(--success-muted); }

/* ══════════════════════════════════════════
   HOW IT WORKS — PROCESS
══════════════════════════════════════════ */
.process-row { display: flex; align-items: center; gap: 0; margin-bottom: 56px; }
.process-step {
  flex: 1;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 28px 24px; text-align: center;
  box-shadow: var(--shadow-sm), var(--glass-inset);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.process-step:hover { border-color: rgba(85,88,240,0.25); box-shadow: var(--shadow-lg); }
.process-icon {
  width: 56px; height: 56px; margin: 0 auto 16px;
  background: var(--indigo-pale); border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: var(--indigo);
}
.process-num { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--indigo); margin-bottom: 6px; }
.process-step h3 { font-family: var(--font-brand); font-size: 18px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.process-step p { font-size: 13px; color: var(--slate); line-height: 1.6; }
.process-arrow { padding: 0 12px; color: var(--muted); font-size: 18px; flex-shrink: 0; }

/* Tabs */
.tabs-wrap { background: var(--glass-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); border: 1px solid var(--glass-border); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm), var(--glass-inset); overflow: hidden; }
.tabs-header {
  display: flex; border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.5);
}
.tab-btn {
  flex: 1; padding: 16px 12px;
  font-size: 13px; font-weight: 600; color: var(--slate);
  background: none; border: none; cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.15s; font-family: var(--font-ui);
}
.tab-btn:hover { color: var(--ink); }
.tab-btn.active { color: var(--indigo); border-bottom-color: var(--indigo); background: rgba(85,88,240,0.03); }
.tab-pane { display: none; padding: 36px 32px; }
.tab-pane.active { display: block; }
.tab-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; }
.tab-pane h4 { font-family: var(--font-brand); font-size: 22px; font-weight: 700; color: var(--ink); margin-bottom: 12px; }
.tab-pane > p { font-size: 15px; color: var(--slate); line-height: 1.65; margin-bottom: 24px; }
.tab-pane .section-sub { font-size: 15px; color: var(--slate); max-width: none; }

/* Info box */
.info-box {
  display: flex; gap: 14px; padding: 16px 18px;
  border-radius: var(--radius-md); margin-bottom: 20px;
}
.info-box-indigo { background: var(--indigo-pale); border: 1px solid rgba(85,88,240,0.2); }
.info-box-success { background: var(--success-bg); border: 1px solid var(--success-border); }
.info-box i { color: var(--indigo); font-size: 16px; flex-shrink: 0; margin-top: 2px; }
.info-box p { font-size: 13px; color: var(--ink); line-height: 1.6; margin: 0; }

/* Feature list */
.feature-list { display: flex; flex-direction: column; gap: 12px; }
.feature-item { display: flex; gap: 12px; align-items: flex-start; }
.feature-check { width: 22px; height: 22px; background: var(--indigo-pale); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--indigo); font-size: 11px; flex-shrink: 0; margin-top: 1px; }
.feature-item p { font-size: 13px; color: var(--ink); line-height: 1.55; margin: 0; }
.feature-item strong { color: var(--ink); }

/* Visual card (tab right side) */
.visual-card {
  background: var(--border-light);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.visual-header {
  background: var(--ink-mid); color: rgba(255,255,255,0.8);
  font-size: 12px; font-weight: 600; padding: 12px 16px;
}
.visual-body { padding: 20px; }

/* Comparison (probe vs traditional) */
.comp-row { margin-bottom: 12px; }
.comp-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }
.comp-old .comp-label { color: var(--danger-muted); }
.comp-new .comp-label { color: var(--success-muted); }
.comp-text { font-size: 13px; color: var(--ink); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 14px; margin-bottom: 4px; font-style: italic; }
.comp-result { font-size: 12px; color: var(--slate-light); padding-left: 4px; }

/* Two-stance diagram */
.stance-defs { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.stance-def {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 16px;
  display: flex; gap: 14px; align-items: flex-start;
}
.stance-def-mark { font-size: 20px; font-weight: 900; color: var(--indigo); flex-shrink: 0; }
.stance-def h5 { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.stance-def p { font-size: 12px; color: var(--slate); margin-bottom: 6px; line-height: 1.5; }
.stance-def-ex { font-size: 11px; color: var(--indigo); font-style: italic; }
.delta-row { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 8px 0; }
.delta-sym { font-size: 24px; font-weight: 700; color: var(--indigo); }
.delta-lbl { font-size: 13px; font-weight: 600; color: var(--slate); }

/* Bar chart (tab visual) */
.bar-chart { padding: 20px; }
.bar-row { margin-bottom: 14px; }
.bar-label { font-size: 12px; font-weight: 600; color: var(--slate); margin-bottom: 6px; }
.bar-track { height: 28px; background: var(--border-light); border-radius: var(--radius-sm); overflow: hidden; }
.bar-fill { height: 100%; border-radius: var(--radius-sm); display: flex; align-items: center; padding-left: 10px; font-size: 12px; font-weight: 700; color: var(--white); transition: width 0.8s ease; }
.bar-indigo { background: var(--indigo); }
.bar-success { background: var(--success-muted); }
.bar-muted   { background: var(--muted); }

/* 8 factors grid (tab) */
.factors-grid-tab { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 20px; }
.factor-tile {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 14px 12px;
  text-align: center; transition: border-color 0.15s;
}
.factor-tile:hover { border-color: rgba(85,88,240,0.3); }
.factor-tile i { font-size: 18px; color: var(--indigo); display: block; margin-bottom: 8px; }
.factor-tile h5 { font-size: 12px; font-weight: 700; color: var(--ink); margin-bottom: 4px; line-height: 1.3; }
.factor-tile p { font-size: 11px; color: var(--slate-light); line-height: 1.4; }

/* FOMU steps */
.fomu-steps { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.fomu-step {
  display: flex; gap: 14px; align-items: flex-start;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-sm); padding: 12px 14px;
}
.fomu-num { width: 28px; height: 28px; background: var(--indigo); color: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0; }
.fomu-step h5 { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 3px; }
.fomu-step p { font-size: 12px; color: var(--slate); margin: 0; line-height: 1.5; }

/* ══════════════════════════════════════════
   BEFORE/AFTER COMPARISON (Traditional vs lucix)
══════════════════════════════════════════ */
.trad-vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 40px; }
.trad-card, .lucix-card {
  border-radius: var(--radius-lg);
  overflow: hidden; box-shadow: var(--shadow-sm);
}
.trad-card { border: 1px solid var(--danger-bg); }
.lucix-card { border: 1px solid rgba(85,88,240,0.25); }
.trad-header, .lucix-header {
  padding: 14px 20px;
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-brand); font-size: 16px; font-weight: 700;
}
.trad-header  { background: var(--danger-bg); color: var(--danger-muted); }
.lucix-header { background: var(--indigo-pale); color: var(--indigo); }
.trad-body, .lucix-body { background: var(--glass-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); }
.approach-row { display: flex; gap: 0; border-bottom: 1px solid var(--border); }
.approach-row:last-child { border-bottom: none; }
.approach-key { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--slate); padding: 12px 16px; width: 110px; flex-shrink: 0; border-right: 1px solid var(--border); background: var(--border-light); display: flex; align-items: center; }
.approach-val { font-size: 13px; color: var(--ink); padding: 12px 16px; line-height: 1.5; display: flex; align-items: center; }
.approach-val.bad  { color: var(--danger-muted); font-weight: 600; }
.approach-val.good { color: var(--success-muted); font-weight: 600; }

/* ══════════════════════════════════════════
   WHERE WE HELP (industries)
══════════════════════════════════════════ */
.industries-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.industry-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
  display: flex; align-items: flex-start; gap: 14px;
  box-shadow: var(--shadow-xs), var(--glass-inset);
  transition: border-color 0.2s, transform 0.2s;
}
.industry-card:hover { border-color: rgba(85,88,240,0.25); transform: translateY(-2px); }
.industry-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: var(--indigo-pale); border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--indigo); font-size: 16px;
}
.industry-card h3 { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.industry-card p  { font-size: 12px; color: var(--slate); line-height: 1.55; }

/* ══════════════════════════════════════════
   WHO WE ARE
══════════════════════════════════════════ */
.who-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; margin-bottom: 40px; }
.who-text { font-size: 15px; color: var(--slate); line-height: 1.75; margin-bottom: 16px; }
.who-cards { display: flex; flex-direction: column; gap: 12px; }
.who-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-md); padding: 18px 20px;
  box-shadow: var(--shadow-xs), var(--glass-inset);
}
.who-card h4 { font-size: 13px; font-weight: 700; color: var(--indigo); margin-bottom: 4px; }
.who-card p  { font-size: 13px; color: var(--slate); line-height: 1.55; }
.team-photo-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 40px; }
.team-photo-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  overflow: hidden; text-align: center;
  box-shadow: var(--shadow-xs), var(--glass-inset);
}
.team-photo-card img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.team-photo-info { padding: 12px; }
.team-photo-name { font-size: 14px; font-weight: 700; color: var(--ink); }
.team-photo-role { font-size: 12px; color: var(--slate-light); }

/* ══════════════════════════════════════════
   RESOURCES
══════════════════════════════════════════ */
.resources-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.resource-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 24px 22px;
  box-shadow: var(--shadow-sm), var(--glass-inset);
  transition: border-color 0.2s, box-shadow 0.2s;
  display: flex; flex-direction: column;
}
.resource-card:hover { border-color: rgba(85,88,240,0.25); box-shadow: var(--shadow-lg); }
.resource-icon { width: 44px; height: 44px; background: var(--indigo-pale); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; color: var(--indigo); font-size: 18px; margin-bottom: 16px; }
.resource-card h3 { font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.resource-card p { font-size: 13px; color: var(--slate); line-height: 1.6; margin-bottom: 16px; flex: 1; }
.resource-link { font-size: 13px; font-weight: 700; color: var(--indigo); display: inline-flex; align-items: center; gap: 6px; transition: gap 0.18s; }
.resource-link:hover { gap: 10px; }

/* ══════════════════════════════════════════
   CONTACT
══════════════════════════════════════════ */
.contact-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; }
.contact-form { display: flex; flex-direction: column; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 13px; font-weight: 600; color: var(--ink); }
.form-group input, .form-group textarea {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--radius-sm); padding: 12px 14px;
  font-size: 14px; font-family: var(--font-ui); color: var(--ink);
  transition: border-color 0.15s;
  outline: none;
}
.form-group input:focus, .form-group textarea:focus { border-color: var(--indigo); }
.form-group textarea { resize: vertical; min-height: 120px; }
.btn-full { width: 100%; justify-content: center; }
.contact-info { display: flex; flex-direction: column; gap: 12px; }
.contact-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-md); padding: 20px;
  box-shadow: var(--shadow-xs), var(--glass-inset);
}
.contact-card h4 { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--indigo); margin-bottom: 6px; }
.contact-card p, .contact-card a { font-size: 14px; color: var(--ink); }
.social-links { display: flex; gap: 10px; }
.social-link {
  width: 36px; height: 36px; background: var(--indigo-pale);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--indigo); font-size: 15px; transition: background 0.15s;
}
.social-link:hover { background: var(--indigo); color: var(--white); }

/* ══════════════════════════════════════════
   CTA SECTION
══════════════════════════════════════════ */
.cta-section { text-align: center; padding: 80px 32px; }
.cta-box { max-width: 580px; margin: 0 auto; }
.cta-box h2 { font-family: var(--font-brand); font-size: 36px; font-weight: 700; color: var(--white); margin-bottom: 14px; line-height: 1.15; }
.cta-box p  { font-size: 17px; color: rgba(255,255,255,0.65); margin-bottom: 36px; line-height: 1.6; }
.cta-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.footer { padding: 60px 32px 0; }
.footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 2.6fr; gap: 56px; padding-bottom: 48px; }
.footer-brand-name { font-family: var(--font-brand); font-size: 22px; font-weight: 700; color: var(--white); margin-bottom: 10px; }
.footer-brand-name span { color: var(--indigo-light); }
.footer-tagline { font-size: 13px; color: rgba(255,255,255,0.45); line-height: 1.6; max-width: 220px; }
.footer-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.footer-col h5 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.85); margin-bottom: 16px; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { font-size: 13px; color: rgba(255,255,255,0.45); transition: color 0.15s; }
.footer-col ul li a:hover { color: rgba(255,255,255,0.85); }
.footer-bottom { max-width: 1200px; margin: 0 auto; border-top: 1px solid rgba(255,255,255,0.07); padding: 20px 0; }
.footer-bottom p { font-size: 12px; color: rgba(255,255,255,0.3); text-align: center; }

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; }
  .committee-grid { grid-template-columns: 1fr 1fr; }
  .failure-grid, .trad-vs-grid, .who-grid, .contact-grid { grid-template-columns: 1fr; }
  .research-grid { grid-template-columns: 1fr; gap: 12px; }
  .industries-grid { grid-template-columns: repeat(2,1fr); }
  .resources-grid { grid-template-columns: repeat(2,1fr); }
  .team-photo-grid { grid-template-columns: repeat(2,1fr); }
  .tab-grid { grid-template-columns: 1fr; }
  .stats-strip { flex-wrap: wrap; }
  .stat-cell { min-width: 50%; }
  .stat-cell + .stat-cell::before { display: none; }
  .factors-grid-tab { grid-template-columns: repeat(2,1fr); }
  .gap-comp-grid { grid-template-columns: 1fr; }
  .gap-arrow-wrap { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-links { grid-template-columns: repeat(2,1fr); }
}