/* ═══ CPL Investor Pitch Styles ═══ */

.pitch-hero { position:relative; padding:140px 0 80px; overflow:hidden; }
.pitch-hero-bg {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(79,127,255,0.08), rgba(139,92,246,0.06), rgba(236,72,153,0.04));
}
.pitch-hero-content { position:relative; z-index:1; text-align:center; }
.pitch-badge {
  display:inline-block; padding:8px 20px; border-radius:50px;
  background:rgba(234,179,8,0.1); border:1px solid rgba(234,179,8,0.25);
  color:#eab308; font-size:0.85rem; font-weight:600; margin-bottom:24px;
}
.pitch-hero h1 { font-size:3.5rem; line-height:1.1; margin-bottom:20px; }
.pitch-sub { font-size:1.15rem; color:var(--text-secondary); max-width:600px; margin:0 auto 40px; line-height:1.6; }
.pitch-hero-stats {
  display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap;
  padding:32px; border-radius:var(--radius);
  background:var(--glass); border:1px solid var(--glass-border);
}
.phs { text-align:center; }
.phs-val { font-family:'Outfit'; font-size:2rem; font-weight:900; color:var(--text-primary); }
.phs-lbl { font-size:0.8rem; color:var(--text-secondary); margin-top:4px; }
.phs-divider { width:1px; height:40px; background:var(--glass-border); }

/* ─── PROBLEM ─── */
.problem-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.problem-card {
  padding:28px; border-radius:var(--radius);
  background:var(--glass); border:1px solid var(--glass-border);
  transition:all 0.3s;
}
.problem-card:hover { border-color:rgba(239,68,68,0.2); transform:translateY(-4px); }
.pc-icon { font-size:2rem; margin-bottom:12px; }
.problem-card h3 { font-size:1.1rem; margin-bottom:8px; }
.problem-card p { font-size:0.9rem; color:var(--text-secondary); line-height:1.5; }

/* ─── SOLUTION ─── */
.solution-visual {
  display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap;
  padding:40px; border-radius:var(--radius);
  background:var(--glass); border:1px solid var(--glass-border);
}
.sv-item { text-align:center; min-width:120px; }
.sv-emoji { font-size:2.5rem; margin-bottom:8px; }
.sv-label { font-weight:700; font-size:1rem; margin-bottom:4px; }
.sv-desc { font-size:0.8rem; color:var(--text-secondary); }
.sv-plus,.sv-equals { font-family:'Outfit'; font-size:2rem; font-weight:700; color:var(--text-secondary); }
.sv-result { padding:20px; border-radius:var(--radius-sm); background:rgba(139,92,246,0.08); border:1px solid rgba(139,92,246,0.2); }

/* ─── MARKET ─── */
.market-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.ring-outer {
  width:320px; height:320px; border-radius:50%; margin:0 auto;
  background:rgba(79,127,255,0.06); border:2px solid rgba(79,127,255,0.15);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.ring-middle {
  width:220px; height:220px; border-radius:50%;
  background:rgba(139,92,246,0.08); border:2px solid rgba(139,92,246,0.2);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.ring-inner {
  width:130px; height:130px; border-radius:50%;
  background:rgba(236,72,153,0.1); border:2px solid rgba(236,72,153,0.25);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.ring-val { font-family:'Outfit'; font-size:1.4rem; font-weight:900; color:#ec4899; }
.ring-lbl { font-size:0.7rem; color:var(--text-secondary); }
.ring-tag {
  position:absolute; padding:4px 12px; border-radius:50px;
  font-size:0.7rem; font-weight:600; white-space:nowrap;
}
.ring-tag-mid { bottom:-14px; background:rgba(139,92,246,0.15); color:#8b5cf6; }
.ring-tag-out { bottom:-14px; background:rgba(79,127,255,0.15); color:#4f7fff; }
.market-details { display:flex; flex-direction:column; gap:20px; }
.md-item {
  display:flex; gap:16px; align-items:flex-start;
  padding:20px; border-radius:var(--radius-sm);
  background:var(--glass); border:1px solid var(--glass-border);
}
.md-color { width:4px; height:40px; border-radius:4px; flex-shrink:0; margin-top:4px; }
.md-item h4 { margin-bottom:4px; font-size:1rem; }
.md-item p { font-size:0.85rem; color:var(--text-secondary); line-height:1.4; }

/* ─── REVENUE ─── */
.revenue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:32px; }
.rev-card {
  padding:24px; border-radius:var(--radius-sm); text-align:center;
  background:var(--glass); border:1px solid var(--glass-border);
  transition:all 0.3s;
}
.rev-card:hover { transform:translateY(-4px); border-color:rgba(139,92,246,0.2); }
.rev-icon { font-size:1.8rem; margin-bottom:8px; }
.rev-name { font-weight:700; font-size:0.95rem; margin-bottom:4px; }
.rev-val { font-family:'Outfit'; font-weight:800; font-size:1.2rem; color:var(--accent-green); }
.rev-desc { font-size:0.75rem; color:var(--text-secondary); margin-top:4px; }
.revenue-projection {
  padding:32px; border-radius:var(--radius);
  background:var(--glass); border:1px solid var(--glass-border);
}
.revenue-projection h3 { text-align:center; margin-bottom:20px; font-size:1.1rem; color:var(--text-secondary); }
#revenue-chart { display:block; margin:0 auto; }

/* ─── COMPARABLES ─── */
.comp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.comp-card {
  padding:28px; border-radius:var(--radius); text-align:center;
  background:var(--glass); border:1px solid var(--glass-border);
  transition:all 0.3s;
}
.comp-card:hover { transform:translateY(-4px); }
.comp-logo { font-size:2.5rem; margin-bottom:12px; }
.comp-name { font-weight:800; font-size:1.2rem; margin-bottom:4px; }
.comp-val { font-family:'Outfit'; font-size:1.8rem; font-weight:900; margin-bottom:4px; }
.comp-desc { font-size:0.8rem; color:var(--text-secondary); line-height:1.4; }
.comp-tag {
  display:inline-block; margin-top:12px; padding:4px 14px; border-radius:50px;
  font-size:0.75rem; font-weight:600;
}

/* ─── TRACTION ─── */
.traction-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.traction-card {
  padding:24px; border-radius:var(--radius-sm);
  background:var(--glass); border:1px solid var(--glass-border);
}
.tc-val { font-family:'Outfit'; font-size:2rem; font-weight:900; margin-bottom:4px; }
.tc-lbl { font-size:0.9rem; font-weight:600; margin-bottom:4px; }
.tc-desc { font-size:0.8rem; color:var(--text-secondary); }

/* ─── ASK ─── */
.ask-card {
  text-align:center; padding:48px;
  border-radius:var(--radius);
  background:var(--glass); border:1px solid var(--glass-border);
  position:relative; overflow:hidden;
}
.ask-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(79,127,255,0.05), rgba(139,92,246,0.05), rgba(236,72,153,0.03));
}
.ask-card>* { position:relative; z-index:1; }
.ask-badge {
  display:inline-block; padding:6px 18px; border-radius:50px;
  background:rgba(139,92,246,0.1); border:1px solid rgba(139,92,246,0.2);
  color:var(--accent-purple); font-size:0.85rem; font-weight:600; margin-bottom:20px;
}
.ask-card h2 { font-size:2.2rem; margin-bottom:12px; }
.ask-card>p { color:var(--text-secondary); margin-bottom:32px; }
.use-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; text-align:center; }
.use-item { padding:20px; border-radius:var(--radius-sm); background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.04); }
.use-pct { font-family:'Outfit'; font-size:2rem; font-weight:900; margin-bottom:4px; }
.use-lbl { font-weight:700; font-size:0.9rem; margin-bottom:4px; }
.use-desc { font-size:0.75rem; color:var(--text-secondary); }

/* ─── RESPONSIVE ─── */
@media(max-width:768px) {
  .pitch-hero h1 { font-size:2.2rem; }
  .problem-grid,.market-grid,.comp-grid,.use-grid { grid-template-columns:1fr; }
  .solution-visual { flex-direction:column; }
  .ring-outer { width:250px; height:250px; }
  .ring-middle { width:170px; height:170px; }
  .ring-inner { width:100px; height:100px; }
}
