:root { --bg-primary: #0a0a0f; --bg-secondary: #12121a; --bg-card: #1a1a2e; --bg-card-hover: #22223a; --bg-input: #15151f; --accent: #6c5ce7; --accent-light: #a29bfe; --accent-glow: rgba(108, 92, 231, 0.3); --green: #00b894; --green-glow: rgba(0, 184, 148, 0.3); --red: #ff6b6b; --orange: #ffa502; --blue: #54a0ff; --pink: #ff6b9d; --yellow: #feca57; --text-primary: #f0f0f5; --text-secondary: #a0a0b5; --text-muted: #666680; --border: #2a2a40; --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; --font-mono: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace; --focus-outline: 2px solid var(--accent-light); } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: var(--font-sans); background: var(--bg-primary); color: var(--text-primary); line-height: 1.6; overflow-x: hidden; } /* NAV */ nav { position: fixed; top: 0; width: 100%; z-index: 100; backdrop-filter: blur(20px); background: rgba(10, 10, 15, 0.85); border-bottom: 1px solid var(--border); } .nav-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; height: 64px; display: flex; align-items: center; justify-content: space-between; } .logo { font-size: 1.3rem; font-weight: 700; color: var(--text-primary); text-decoration: none; display: flex; align-items: center; gap: 8px; } .logo-icon { width: 32px; height: 32px; background: linear-gradient(135deg, var(--accent), var(--accent-light)); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.1rem; color: white; } .nav-links { display: flex; align-items: center; gap: 32px; list-style: none; } .nav-links a { color: var(--text-secondary); text-decoration: none; font-size: 0.9rem; transition: color 0.2s; } .nav-links a:hover { color: var(--text-primary); } .nav-links a:focus-visible { outline: var(--focus-outline); outline-offset: 4px; } .nav-cta { background: var(--accent) !important; color: white !important; padding: 8px 20px; border-radius: 8px; font-weight: 600; transition: transform 0.2s, box-shadow 0.2s !important; } .nav-cta:hover { transform: translateY(-1px); box-shadow: 0 4px 20px var(--accent-glow); } .mobile-toggle { display: none; background: none; border: none; color: var(--text-primary); font-size: 1.5rem; cursor: pointer; padding: 8px; } /* HEADER */ .page-header { padding: 120px 24px 48px; text-align: center; position: relative; overflow: hidden; } .page-header::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(ellipse at 30% 20%, var(--accent-glow) 0%, transparent 50%), radial-gradient(ellipse at 70% 60%, var(--green-glow) 0%, transparent 50%); animation: heroGlow 15s ease-in-out infinite alternate; pointer-events: none; } @keyframes heroGlow { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(-5%, 5%) scale(1.1); } } .page-header h1 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; letter-spacing: -0.03em; position: relative; margin-bottom: 12px; } .page-header h1 .gradient { background: linear-gradient(135deg, var(--accent-light), var(--green)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .page-header p { color: var(--text-secondary); font-size: 1.1rem; max-width: 600px; margin: 0 auto; position: relative; } .breadcrumbs { display: flex; align-items: center; gap: 8px; justify-content: center; margin-bottom: 16px; flex-wrap: wrap; } .breadcrumb { color: var(--text-muted); font-size: 0.8rem; text-decoration: none; transition: color 0.2s; } .breadcrumb:hover { color: var(--accent-light); } .breadcrumb:last-child { color: var(--text-secondary); font-weight: 600; } .breadcrumb-separator { color: var(--border); font-size: 0.7rem; } /* METHOD TABS */ .method-tabs { display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; justify-content: center; } .method-tab { padding: 10px 20px; border-radius: 8px; font-size: 0.9rem; font-weight: 600; cursor: pointer; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-secondary); transition: all 0.2s; font-family: var(--font-sans); } .method-tab:hover { border-color: var(--accent); color: var(--text-primary); } .method-tab.active { background: var(--accent); color: white; border-color: var(--accent); } .method-tab:focus-visible { outline: var(--focus-outline); outline-offset: 2px; } /* CALC LAYOUT */ .calc-layout { max-width: 1200px; margin: 0 auto; padding: 0 24px 80px; display: grid; grid-template-columns: 420px 1fr; gap: 32px; align-items: start; } /* INPUT PANEL */ .input-panel { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 16px; padding: 24px; position: sticky; top: 88px; max-height: calc(100vh - 104px); overflow-y: auto; } .input-panel::-webkit-scrollbar { width: 4px; } .input-panel::-webkit-scrollbar-track { background: transparent; } .input-panel::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; } .panel-section { margin-bottom: 24px; } .panel-section:last-child { margin-bottom: 0; } .panel-section-title { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent-light); margin-bottom: 16px; } .save-indicator { display: flex; align-items: center; gap: 6px; font-size: 0.7rem; color: var(--text-muted); padding: 8px 12px; background: var(--bg-card); border-radius: 8px; margin-bottom: 20px; border: 1px solid var(--border); } .save-indicator-icon { width: 12px; height: 12px; color: var(--green); } .input-wrapper { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; } .input-wrapper label { font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; display: flex; align-items: center; justify-content: space-between; } .input-wrapper label .label-value { color: var(--accent-light); font-family: var(--font-mono); } .input-wrapper input, .input-wrapper select { background: var(--bg-input); border: 1px solid var(--border); color: var(--text-primary); padding: 8px 12px; border-radius: 8px; font-size: 0.9rem; font-family: var(--font-mono); transition: border-color 0.2s; width: 100%; } .input-wrapper input:focus, .input-wrapper select:focus { outline: none; border-color: var(--accent); } .input-wrapper select { font-family: var(--font-sans); cursor: pointer; } /* SLIDER */ .slider-container { position: relative; } input[type="range"] { -webkit-appearance: none; width: 100%; height: 6px; background: var(--bg-card); border-radius: 3px; outline: none; border: none; padding: 0; margin-top: 4px; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; background: var(--accent); border-radius: 50%; cursor: pointer; box-shadow: 0 2px 8px var(--accent-glow); } input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; background: var(--accent); border-radius: 50%; cursor: pointer; border: none; } /* SHARE BAR */ .share-bar { display: flex; gap: 8px; margin-top: 8px; } .btn-share { flex: 1; background: var(--bg-card); border: 1px solid var(--border); color: var(--text-secondary); padding: 10px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s; font-family: var(--font-sans); } .btn-share:hover { border-color: var(--accent); color: var(--text-primary); } /* RESULTS PANEL */ .results-panel { display: flex; flex-direction: column; gap: 24px; } /* VALUATION HERO */ .valuation-hero { background: linear-gradient(135deg, var(--bg-secondary), var(--bg-card)); border: 1px solid var(--border); border-radius: 16px; padding: 32px; text-align: center; position: relative; overflow: hidden; } .valuation-hero::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(ellipse at 50% 50%, var(--accent-glow) 0%, transparent 60%); opacity: 0.3; pointer-events: none; } .valuation-label { font-size: 0.8rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 8px; position: relative; } .valuation-amount { font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 800; font-family: var(--font-mono); background: linear-gradient(135deg, var(--accent-light), var(--green)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; position: relative; margin-bottom: 8px; } .valuation-range { font-size: 0.9rem; color: var(--text-secondary); position: relative; } .valuation-range strong { color: var(--accent-light); } /* METHOD CARDS */ .method-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .method-card { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px; padding: 20px; text-align: center; transition: transform 0.2s; } .method-card:hover { transform: translateY(-2px); } .method-card-label { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; } .method-card-value { font-size: 1.6rem; font-weight: 800; font-family: var(--font-mono); margin-bottom: 4px; } .method-card-desc { font-size: 0.8rem; color: var(--text-secondary); } .method-card.best { border-color: var(--green); } .method-card.best .method-card-value { color: var(--green); } /* BREAKDOWN TABLE */ .breakdown-section { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 16px; padding: 24px; } .breakdown-section h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 8px; } .breakdown-subtitle { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 20px; } .breakdown-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } .breakdown-table th { text-align: left; padding: 10px 16px; border-bottom: 2px solid var(--border); color: var(--text-secondary); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; } .breakdown-table td { padding: 10px 16px; border-bottom: 1px solid var(--border); color: var(--text-primary); } .breakdown-table tr:last-child td { border-bottom: none; } .breakdown-bar-container { width: 100%; height: 8px; background: var(--bg-card); border-radius: 4px; overflow: hidden; } .breakdown-bar { height: 100%; border-radius: 4px; transition: width 0.3s ease; } /* CHART */ .chart-section { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 16px; padding: 24px; } .chart-section h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 8px; } .chart-subtitle { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 20px; } .comparison-chart { display: flex; flex-direction: column; gap: 16px; } .chart-row { display: flex; align-items: center; } .chart-label { width: 140px; font-size: 0.85rem; color: var(--text-secondary); flex-shrink: 0; } .chart-bar-container { flex: 1; height: 36px; background: var(--bg-card); border-radius: 6px; overflow: hidden; position: relative; } .chart-bar { height: 100%; display: flex; transition: width 0.5s ease; border-radius: 6px; } .chart-value { width: 100px; text-align: right; font-family: var(--font-mono); font-size: 0.9rem; font-weight: 600; color: var(--text-primary); flex-shrink: 0; } /* CTA */ .calc-cta { background: linear-gradient(135deg, var(--accent), var(--accent-light)); border-radius: 16px; padding: 32px; text-align: center; } .calc-cta h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 12px; } .calc-cta p { color: rgba(255,255,255,0.9); margin-bottom: 20px; font-size: 0.95rem; } .btn-white { display: inline-block; background: white; color: var(--accent); padding: 12px 28px; border-radius: 8px; font-weight: 600; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; } .btn-white:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,255,255,0.3); } /* FOOTER */ footer { background: var(--bg-secondary); border-top: 1px solid var(--border); padding: 40px 24px; margin-top: 80px; } .footer-inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; } .footer-left p { color: var(--text-secondary); font-size: 0.9rem; } .footer-links { display: flex; gap: 24px; list-style: none; } .footer-links a { color: var(--text-secondary); text-decoration: none; font-size: 0.85rem; transition: color 0.2s; } .footer-links a:hover { color: var(--text-primary); } /* TOAST */ .toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(100px); background: var(--green); color: white; padding: 12px 24px; border-radius: 8px; font-weight: 600; font-size: 0.9rem; transition: transform 0.3s ease; z-index: 1000; } .toast.show { transform: translateX(-50%) translateY(0); } .skip-link { position: absolute; top: -40px; left: 0; background: var(--accent); color: white; padding: 8px 16px; text-decoration: none; z-index: 1001; transition: top 0.3s; } .skip-link:focus { top: 0; } .theme-toggle { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-secondary); padding: 8px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; width: 36px; height: 36px; } .theme-toggle:hover { border-color: var(--accent); color: var(--text-primary); } .theme-toggle:focus-visible { outline: var(--focus-outline); outline-offset: 2px; } @media (max-width: 960px) { .calc-layout { grid-template-columns: 1fr; } .input-panel { position: static; max-height: none; } .method-results { grid-template-columns: 1fr; } } @media (max-width: 600px) { .nav-links { display: none; } .nav-links.open { display: flex; flex-direction: column; position: absolute; top: 64px; left: 0; right: 0; background: var(--bg-primary); border-bottom: 1px solid var(--border); padding: 24px; gap: 16px; } .mobile-toggle { display: block; } .footer-inner { flex-direction: column; text-align: center; } .chart-row { flex-direction: column; align-items: flex-start; gap: 8px; } .chart-label { width: 100%; } } @media (prefers-contrast: more) { :root { --border: #ffffff; --text-secondary: #e0e0e0; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } /* Floating Pro CTA */ .floating-pro-cta { position: fixed; bottom: -100px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, var(--accent), var(--accent-light)); border-radius: 16px; padding: 16px 24px; display: flex; align-items: center; gap: 16px; box-shadow: 0 8px 40px rgba(108, 92, 231, 0.5); z-index: 90; transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1); max-width: calc(100vw - 48px); } .floating-pro-cta.visible { bottom: 24px; } .floating-pro-cta-content { display: flex; flex-direction: column; align-items: flex-start; } .floating-pro-cta-title { font-size: 0.95rem; font-weight: 700; color: white; margin: 0; } .floating-pro-cta-text { font-size: 0.8rem; color: rgba(255,255,255,0.85); margin: 2px 0 0; } .floating-pro-cta-btn { background: white; color: var(--accent); padding: 10px 20px; border-radius: 8px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: transform 0.2s; } .floating-pro-cta-btn:hover { transform: translateY(-1px); } .floating-pro-cta-close { position: absolute; top: 4px; right: 8px; background: none; border: none; color: rgba(255,255,255,0.6); font-size: 1.2rem; cursor: pointer; padding: 4px 8px; line-height: 1; } .floating-pro-cta-close:hover { color: white; } @media (max-width: 768px) { .floating-pro-cta { flex-direction: column; gap: 12px; padding: 14px 18px; text-align: center; left: 12px; right: 12px; transform: none; width: auto; max-width: none; } .floating-pro-cta.visible { bottom: 16px; } .floating-pro-cta-content { align-items: center; } .floating-pro-cta-close { display: none; } } .social-proof { display: inline-flex; align-items: center; gap: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 20px; padding: 6px 14px; font-size: 0.85rem; color: var(--text-secondary); margin-top: 12px; } .social-proof-icon { display: flex; align-items: center; gap: 4px; } .social-proof-icon svg { width: 14px; height: 14px; fill: var(--green); } @media (max-width: 600px) { .social-proof { font-size: 0.75rem; padding: 4px 10px; } }
Saved locally
Valuation Method

Best for pre-revenue startups. Values based on 5 risk milestones.

Risk Milestones
Share
Estimated Pre-Money Valuation
$0
Based on Berkus method
Berkus Method
$0
Pre-revenue
Scorecard
$0
Early stage
VC Method
$0
Fundraising

Method Comparison

Visual comparison of all three valuation methods.

Valuation Breakdown

How each factor contributes to your valuation.

FactorValueContribution

Embed Free Startup Calculators on Your Site

Add equity dilution, SAFE note, runway, and offer comparison calculators to your website. One line of code.

Get Embed Code → For Accelerators

Next: Use your valuation in these calculators

SAFE Note Calculator

Model how SAFEs convert at your valuation

Dilution Calculator

See how funding rounds affect your ownership

Cap Table Builder

Build your full cap table with this valuation

Equity Split Calculator

Fair equity splits between cofounders

Equity Dilution Story Generator

See how your equity changes across rounds — share it

Get weekly founder insights

Equity breakdowns, fundraising math, and calculator tips. No spam.

Get Your Free Equity Dilution Report

A personalized analysis with benchmarks, recommendations, and exit projections. Takes 30 seconds.

Generate Free Report →

💼 Need an Investor-Ready PDF Report?

Professional multi-round dilution report with charts, benchmarks, and exit value analysis. Download as PDF in 60 seconds.

View Premium Report →
Link copied!