chore: ruler files update

Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
This commit is contained in:
2026-05-24 21:03:49 -04:00
parent 97b3ddd653
commit abb472c83d
303 changed files with 46670 additions and 25369 deletions

View File

@@ -0,0 +1,493 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Meridian — Business Intelligence for Modern Teams</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
font-family: 'Inter', sans-serif;
background: #FAFAF8;
color: #1a1a1a;
}
/* NAV */
nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 96px;
height: 80px;
}
.nav-logo {
font-size: 20px;
font-weight: 500;
letter-spacing: -0.3px;
display: flex;
align-items: center;
gap: 8px;
color: #1a1a1a;
}
.nav-logo-icon {
width: 32px;
height: 32px;
background: #E8E4DF;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: center;
}
.nav-logo-icon svg { width: 18px; height: 18px; color: #D4A574; }
.nav-links {
display: flex;
gap: 40px;
list-style: none;
}
.nav-links a {
font-size: 14px;
font-weight: 400;
text-decoration: none;
color: #777;
transition: color 0.2s;
}
.nav-links a:hover { color: #1a1a1a; }
.nav-right {
display: flex;
align-items: center;
gap: 24px;
}
.nav-signin {
font-size: 14px;
font-weight: 400;
text-decoration: none;
color: #777;
transition: color 0.2s;
}
.nav-signin:hover { color: #1a1a1a; }
.nav-cta {
font-size: 13px;
font-weight: 400;
padding: 10px 24px;
background: #1a1a1a;
color: #FAFAF8;
border: none;
border-radius: 2px;
cursor: pointer;
transition: background 0.2s;
}
.nav-cta:hover { background: #333; }
/* HERO LAYOUT */
.hero {
padding: 24px 96px 0 96px;
display: grid;
grid-template-columns: 480px 1fr;
gap: 64px;
align-items: start;
height: calc(900px - 80px);
position: relative;
}
/* LEFT TEXT */
.hero-text {
padding-top: 48px;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 0;
padding: 0;
background: transparent;
margin-bottom: 32px;
}
.hero-badge-dot {
display: none;
}
.hero-badge span {
font-size: 10px;
font-weight: 400;
color: #B0ACA4;
letter-spacing: 4px;
text-transform: uppercase;
}
.hero-headline {
font-size: 48px;
font-weight: 300;
line-height: 1.15;
letter-spacing: -1.5px;
margin-bottom: 24px;
color: #1a1a1a;
}
.hero-headline em {
font-style: italic;
font-weight: 300;
color: #1a1a1a;
}
.hero-subtitle {
font-size: 17px;
font-weight: 300;
line-height: 1.7;
color: #888;
margin-bottom: 48px;
max-width: 400px;
}
.hero-ctas {
display: flex;
gap: 16px;
margin-bottom: 64px;
}
.btn-primary {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
padding: 14px 32px;
background: #1a1a1a;
color: #FAFAF8;
border: none;
border-radius: 2px;
cursor: pointer;
transition: all 0.2s;
}
.btn-primary:hover { background: #333; }
.btn-secondary {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
padding: 14px 32px;
background: transparent;
color: #777;
border: 1px solid #ddd;
border-radius: 2px;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.2s;
}
.btn-secondary:hover { border-color: #aaa; color: #1a1a1a; }
.btn-secondary svg { width: 15px; height: 15px; }
/* METRICS ROW */
.metrics {
display: flex;
gap: 48px;
}
.metric {
display: flex;
flex-direction: column;
gap: 4px;
}
.metric-value {
font-size: 36px;
font-weight: 200;
letter-spacing: -1px;
color: #1a1a1a;
}
.metric-value span { color: #D4A574; }
.metric-label {
font-size: 12px;
font-weight: 400;
color: #aaa;
letter-spacing: 0.3px;
}
/* RIGHT — DASHBOARD */
.hero-dashboard {
position: relative;
padding-top: 16px;
}
.dashboard-card {
background: #FFFFFF;
border-radius: 2px;
box-shadow:
0 1px 2px rgba(0,0,0,0.02),
0 4px 16px rgba(0,0,0,0.04);
padding: 28px;
width: 100%;
}
/* Dashboard header */
.dash-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
}
.dash-title {
font-size: 14px;
font-weight: 500;
color: #1a1a1a;
}
.dash-period {
font-size: 12px;
font-weight: 400;
color: #aaa;
padding: 4px 12px;
border: 1px solid #eee;
border-radius: 2px;
}
/* KPI strip */
.kpi-strip {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1px;
background: #f0eeeb;
border-radius: 2px;
overflow: hidden;
margin-bottom: 24px;
}
.kpi-item {
background: #FAFAF8;
padding: 18px 16px;
text-align: center;
}
.kpi-item-value {
font-size: 22px;
font-weight: 300;
color: #1a1a1a;
letter-spacing: -0.5px;
margin-bottom: 4px;
}
.kpi-item-label {
font-size: 10px;
font-weight: 500;
color: #bbb;
letter-spacing: 0.5px;
text-transform: uppercase;
}
/* Chart */
.chart-container {
margin-bottom: 24px;
position: relative;
height: 200px;
}
.chart-svg {
width: 100%;
height: 100%;
}
/* Bottom section */
.dash-bottom-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.insight-card {
background: #FAFAF8;
border-radius: 2px;
padding: 16px;
}
.insight-icon {
width: 28px;
height: 28px;
background: #F0EBE3;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px;
}
.insight-icon svg { width: 14px; height: 14px; color: #D4A574; }
.insight-title {
font-size: 12px;
font-weight: 500;
color: #1a1a1a;
margin-bottom: 4px;
}
.insight-desc {
font-size: 11px;
font-weight: 300;
color: #999;
line-height: 1.5;
}
/* TRUST BAR */
.trust-bar {
position: absolute;
bottom: 24px;
left: 96px;
display: flex;
align-items: center;
gap: 40px;
}
.trust-label {
font-size: 11px;
font-weight: 400;
color: #ccc;
white-space: nowrap;
}
.trust-logos {
display: flex;
gap: 40px;
align-items: center;
}
.trust-logo {
font-size: 14px;
font-weight: 400;
color: #ccc;
letter-spacing: 0.3px;
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="nav-logo">
<div class="nav-logo-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"/>
</svg>
</div>
Meridian
</div>
<ul class="nav-links">
<li><a href="#">Product</a></li>
<li><a href="#">Pricing</a></li>
<li><a href="#">Docs</a></li>
<li><a href="#">Blog</a></li>
</ul>
<div class="nav-right">
<a href="#" class="nav-signin">Sign In</a>
<button class="nav-cta">Get Started</button>
</div>
</nav>
<!-- HERO -->
<div class="hero">
<!-- LEFT -->
<div class="hero-text">
<div class="hero-badge">
<div class="hero-badge-dot"></div>
<span>Business Intelligence for Modern Teams</span>
</div>
<h1 class="hero-headline">Turn data into <em>decisions,</em> not dashboards<span style="color:#D4A574;font-weight:300;">.</span></h1>
<p class="hero-subtitle">AI-powered analytics that tells you what matters, when it matters. Less noise, more clarity.</p>
<div class="hero-ctas">
<button class="btn-primary">Start Free Trial</button>
<button class="btn-secondary">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="5 3 19 12 5 21 5 3"/></svg>
Watch Demo
</button>
</div>
<div class="metrics">
<div class="metric">
<div class="metric-value">3<span>x</span></div>
<div class="metric-label">Faster insights</div>
</div>
<div class="metric">
<div class="metric-value">50<span>%</span></div>
<div class="metric-label">Less meeting time</div>
</div>
<div class="metric">
<div class="metric-value">99.9<span>%</span></div>
<div class="metric-label">Uptime SLA</div>
</div>
</div>
</div>
<!-- RIGHT — FLOATING DASHBOARD -->
<div class="hero-dashboard">
<div class="dashboard-card">
<div class="dash-header">
<div class="dash-title">Performance Overview</div>
<div class="dash-period">Last 30 days</div>
</div>
<div class="kpi-strip">
<div class="kpi-item">
<div class="kpi-item-value">$2.4M</div>
<div class="kpi-item-label">Revenue</div>
</div>
<div class="kpi-item">
<div class="kpi-item-value">84.2K</div>
<div class="kpi-item-label">Users</div>
</div>
<div class="kpi-item">
<div class="kpi-item-value">1.2%</div>
<div class="kpi-item-label">Churn</div>
</div>
<div class="kpi-item">
<div class="kpi-item-value">$142</div>
<div class="kpi-item-label">ARPU</div>
</div>
</div>
<!-- SVG Chart -->
<div class="chart-container">
<svg class="chart-svg" viewBox="0 0 700 200" preserveAspectRatio="none">
<!-- Grid lines -->
<line x1="0" y1="50" x2="700" y2="50" stroke="#f0eeeb" stroke-width="1"/>
<line x1="0" y1="100" x2="700" y2="100" stroke="#f0eeeb" stroke-width="1"/>
<line x1="0" y1="150" x2="700" y2="150" stroke="#f0eeeb" stroke-width="1"/>
<!-- Area fill -->
<defs>
<linearGradient id="areaGrad" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#D4A574" stop-opacity="0.15"/>
<stop offset="100%" stop-color="#D4A574" stop-opacity="0.01"/>
</linearGradient>
</defs>
<path d="M0,160 C50,155 100,140 150,120 C200,100 250,110 300,85 C350,60 400,70 450,50 C500,30 550,45 600,35 C650,25 680,20 700,15 L700,200 L0,200 Z" fill="url(#areaGrad)"/>
<!-- Main line -->
<path d="M0,160 C50,155 100,140 150,120 C200,100 250,110 300,85 C350,60 400,70 450,50 C500,30 550,45 600,35 C650,25 680,20 700,15" fill="none" stroke="#D4A574" stroke-width="2.5" stroke-linecap="round"/>
<!-- Secondary line -->
<path d="M0,170 C50,165 100,158 150,150 C200,142 250,145 300,135 C350,125 400,128 450,118 C500,108 550,112 600,105 C650,98 680,95 700,90" fill="none" stroke="#e0d5c8" stroke-width="1.5" stroke-dasharray="4,4"/>
<!-- Data point -->
<circle cx="600" cy="35" r="5" fill="#D4A574"/>
<circle cx="600" cy="35" r="8" fill="none" stroke="#D4A574" stroke-width="1" opacity="0.4"/>
</svg>
</div>
<div class="dash-bottom-row">
<div class="insight-card">
<div class="insight-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
</div>
<div class="insight-title">AI Insight: Revenue Acceleration</div>
<div class="insight-desc">Enterprise segment grew 23% this quarter, driven by 4 new accounts. Recommend increasing sales capacity.</div>
</div>
<div class="insight-card">
<div class="insight-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
</div>
<div class="insight-title">Predicted: Q3 Target On Track</div>
<div class="insight-desc">Based on current trajectory, 89% probability of hitting $3.2M quarterly target. Pipeline looks healthy.</div>
</div>
</div>
</div>
</div>
<!-- TRUST BAR -->
<div class="trust-bar">
<span class="trust-label">Trusted by teams at</span>
<div class="trust-logos">
<span class="trust-logo">Stripe</span>
<span class="trust-logo">Notion</span>
<span class="trust-logo">Linear</span>
<span class="trust-logo">Vercel</span>
<span class="trust-logo">Figma</span>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
lucide.createIcons();
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

@@ -0,0 +1,556 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Meridian — Business Intelligence for Modern Teams</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
font-family: 'Helvetica Neue', Arial, sans-serif;
background: #FFFFFF;
color: #000000;
}
/* NAV */
nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 80px;
height: 72px;
border-bottom: 1px solid #000;
}
.nav-logo {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 700;
font-size: 22px;
letter-spacing: -0.5px;
display: flex;
align-items: center;
gap: 8px;
}
.nav-logo svg { width: 24px; height: 24px; }
.nav-links {
display: flex;
gap: 40px;
list-style: none;
}
.nav-links a {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 13px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
text-decoration: none;
color: #000;
transition: color 0.2s;
}
.nav-links a:hover { color: #E63946; }
.nav-signin {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
text-decoration: none;
color: #000;
padding: 8px 20px;
border: 2px solid #000;
transition: all 0.2s;
}
.nav-signin:hover { background: #000; color: #fff; }
/* HERO */
.hero {
display: grid;
grid-template-columns: 1fr 1fr;
height: calc(900px - 72px);
}
/* LEFT PANEL */
.hero-left {
padding: 64px 80px 48px 80px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
}
.hero-label {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 3px;
color: #E63946;
margin-bottom: 24px;
}
.hero-headline {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 52px;
font-weight: 900;
line-height: 1.05;
letter-spacing: -2px;
margin-bottom: 20px;
max-width: 520px;
}
.hero-headline span { color: #E63946; }
.hero-subtitle {
font-size: 17px;
font-weight: 400;
line-height: 1.6;
color: #444;
max-width: 440px;
margin-bottom: 36px;
}
.hero-ctas {
display: flex;
gap: 16px;
margin-bottom: 48px;
}
.btn-primary {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
padding: 16px 36px;
background: #E63946;
color: #fff;
border: none;
cursor: pointer;
transition: background 0.2s;
}
.btn-primary:hover { background: #c4303c; }
.btn-secondary {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
padding: 16px 36px;
background: transparent;
color: #000;
border: 2px solid #000;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.2s;
}
.btn-secondary:hover { background: #000; color: #fff; }
.btn-secondary svg { width: 16px; height: 16px; }
/* BIG NUMBER */
.big-number {
position: absolute;
bottom: 64px;
left: 80px;
display: flex;
align-items: baseline;
gap: 40px;
}
.big-number-main {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 140px;
font-weight: 700;
line-height: 1;
letter-spacing: -6px;
color: #E63946;
}
.big-number-label {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 13px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 2px;
color: #666;
max-width: 100px;
line-height: 1.5;
}
.big-number-divider {
width: 1px;
height: 48px;
background: #ccc;
}
.metric-small {
display: flex;
flex-direction: column;
gap: 4px;
}
.metric-small-value {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 32px;
font-weight: 700;
letter-spacing: -1px;
}
.metric-small-label {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 2px;
color: #888;
}
/* RIGHT PANEL — DASHBOARD */
.hero-right {
background: #000;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
}
/* Dashboard grid */
.dash-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 4px;
}
.dash-title {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 13px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 2px;
color: #666;
}
.dash-live {
display: flex;
align-items: center;
gap: 6px;
font-size: 11px;
font-weight: 500;
color: #E63946;
text-transform: uppercase;
letter-spacing: 1px;
}
.dash-live-dot {
width: 6px;
height: 6px;
background: #E63946;
border-radius: 50%;
}
/* KPI Row */
.kpi-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
.kpi-card {
background: #111;
border: 1px solid #222;
padding: 20px;
}
.kpi-label {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
color: #555;
margin-bottom: 8px;
}
.kpi-value {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 28px;
font-weight: 700;
color: #fff;
letter-spacing: -1px;
}
.kpi-change {
font-size: 12px;
font-weight: 500;
color: #E63946;
margin-top: 4px;
}
.kpi-change.positive { color: #fff; opacity: 0.7; }
/* Chart area */
.chart-area {
flex: 1;
background: #111;
border: 1px solid #222;
padding: 24px;
display: flex;
flex-direction: column;
}
.chart-top {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.chart-label {
font-size: 11px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
color: #555;
}
.chart-tabs {
display: flex;
gap: 2px;
}
.chart-tab {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1px;
color: #444;
padding: 4px 12px;
background: transparent;
border: 1px solid #333;
}
.chart-tab.active {
color: #fff;
background: #E63946;
border-color: #E63946;
}
.chart-bars {
display: flex;
align-items: flex-end;
gap: 6px;
flex: 1;
padding-top: 12px;
}
.chart-bar-group {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.chart-bar {
width: 100%;
background: #222;
position: relative;
}
.chart-bar.accent { background: #E63946; }
.chart-bar-label {
font-size: 9px;
color: #444;
font-weight: 500;
letter-spacing: 0.5px;
}
/* Bottom row */
.dash-bottom {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.data-table {
background: #111;
border: 1px solid #222;
padding: 16px;
}
.data-table-title {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
color: #555;
margin-bottom: 12px;
}
.data-row {
display: flex;
justify-content: space-between;
padding: 6px 0;
border-bottom: 1px solid #1a1a1a;
}
.data-row:last-child { border-bottom: none; }
.data-row-label {
font-size: 12px;
color: #888;
}
.data-row-value {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 12px;
font-weight: 600;
color: #fff;
}
.data-row-value.red { color: #E63946; }
/* TRUST BAR */
.trust-bar {
position: absolute;
bottom: 0;
left: 0;
right: 0;
border-top: 1px solid #e0e0e0;
padding: 0 80px;
height: 56px;
display: flex;
align-items: center;
gap: 48px;
background: #fff;
}
.trust-label {
font-size: 11px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 2px;
color: #aaa;
white-space: nowrap;
}
.trust-logos {
display: flex;
gap: 48px;
align-items: center;
}
.trust-logo {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 15px;
font-weight: 600;
color: #bbb;
letter-spacing: 1px;
}
</style>
</head>
<body>
<!-- NAVIGATION -->
<nav>
<div class="nav-logo">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
<polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"/>
<line x1="12" y1="22" x2="12" y2="15.5"/>
<polyline points="22 8.5 12 15.5 2 8.5"/>
</svg>
Meridian
</div>
<ul class="nav-links">
<li><a href="#">Product</a></li>
<li><a href="#">Pricing</a></li>
<li><a href="#">Docs</a></li>
<li><a href="#">Blog</a></li>
</ul>
<a href="#" class="nav-signin">Sign In</a>
</nav>
<!-- HERO -->
<div class="hero">
<!-- LEFT -->
<div class="hero-left">
<div class="hero-label">Business Intelligence for Modern Teams</div>
<h1 class="hero-headline">Turn data into <span>decisions,</span> not dashboards</h1>
<p class="hero-subtitle">AI-powered analytics that tells you what matters, when it matters. Stop drowning in charts and start acting on real insights.</p>
<div class="hero-ctas">
<button class="btn-primary">Start Free Trial</button>
<button class="btn-secondary">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="5 3 19 12 5 21 5 3"/></svg>
Watch Demo
</button>
</div>
<div class="big-number">
<div class="big-number-main">3x</div>
<div class="big-number-label">Faster Insights</div>
<div class="big-number-divider"></div>
<div class="metric-small">
<div class="metric-small-value">50%</div>
<div class="metric-small-label">Less Meeting Time</div>
</div>
<div class="big-number-divider"></div>
<div class="metric-small">
<div class="metric-small-value">99.9%</div>
<div class="metric-small-label">Uptime</div>
</div>
</div>
</div>
<!-- RIGHT — DASHBOARD MOCKUP -->
<div class="hero-right">
<div class="dash-header">
<div class="dash-title">Analytics Overview</div>
<div class="dash-live"><div class="dash-live-dot"></div> Live</div>
</div>
<div class="kpi-row">
<div class="kpi-card">
<div class="kpi-label">Revenue</div>
<div class="kpi-value">$2.4M</div>
<div class="kpi-change positive">+12.3%</div>
</div>
<div class="kpi-card">
<div class="kpi-label">Active Users</div>
<div class="kpi-value">84.2K</div>
<div class="kpi-change positive">+8.7%</div>
</div>
<div class="kpi-card">
<div class="kpi-label">Churn Rate</div>
<div class="kpi-value">1.2%</div>
<div class="kpi-change red">-0.3pp</div>
</div>
</div>
<div class="chart-area">
<div class="chart-top">
<div class="chart-label">Monthly Performance</div>
<div class="chart-tabs">
<div class="chart-tab">7D</div>
<div class="chart-tab active">30D</div>
<div class="chart-tab">90D</div>
</div>
</div>
<div class="chart-bars">
<div class="chart-bar-group"><div class="chart-bar" style="height:60px"></div><div class="chart-bar-label">Jan</div></div>
<div class="chart-bar-group"><div class="chart-bar" style="height:80px"></div><div class="chart-bar-label">Feb</div></div>
<div class="chart-bar-group"><div class="chart-bar" style="height:55px"></div><div class="chart-bar-label">Mar</div></div>
<div class="chart-bar-group"><div class="chart-bar accent" style="height:110px"></div><div class="chart-bar-label">Apr</div></div>
<div class="chart-bar-group"><div class="chart-bar" style="height:95px"></div><div class="chart-bar-label">May</div></div>
<div class="chart-bar-group"><div class="chart-bar accent" style="height:130px"></div><div class="chart-bar-label">Jun</div></div>
<div class="chart-bar-group"><div class="chart-bar" style="height:105px"></div><div class="chart-bar-label">Jul</div></div>
<div class="chart-bar-group"><div class="chart-bar accent" style="height:145px"></div><div class="chart-bar-label">Aug</div></div>
<div class="chart-bar-group"><div class="chart-bar" style="height:120px"></div><div class="chart-bar-label">Sep</div></div>
<div class="chart-bar-group"><div class="chart-bar" style="height:100px"></div><div class="chart-bar-label">Oct</div></div>
</div>
</div>
<div class="dash-bottom">
<div class="data-table">
<div class="data-table-title">Top Segments</div>
<div class="data-row"><span class="data-row-label">Enterprise</span><span class="data-row-value">$1.1M</span></div>
<div class="data-row"><span class="data-row-label">Mid-Market</span><span class="data-row-value">$820K</span></div>
<div class="data-row"><span class="data-row-label">SMB</span><span class="data-row-value">$480K</span></div>
</div>
<div class="data-table">
<div class="data-table-title">AI Alerts Today</div>
<div class="data-row"><span class="data-row-label">Revenue spike detected</span><span class="data-row-value red">High</span></div>
<div class="data-row"><span class="data-row-label">Churn risk: Acme Corp</span><span class="data-row-value red">Med</span></div>
<div class="data-row"><span class="data-row-label">Expansion signal: Bolt</span><span class="data-row-value" style="color:#888">Low</span></div>
</div>
</div>
</div>
</div>
<!-- TRUST BAR (absolutely positioned at bottom-left) -->
<div class="trust-bar" style="position:fixed; bottom:0; left:0; width:720px; z-index:10;">
<span class="trust-label">Trusted by</span>
<div class="trust-logos">
<span class="trust-logo">Stripe</span>
<span class="trust-logo">Notion</span>
<span class="trust-logo">Linear</span>
<span class="trust-logo">Vercel</span>
<span class="trust-logo">Figma</span>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
lucide.createIcons();
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -0,0 +1,604 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Meridian — Business Intelligence for Modern Teams</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Serif+SC:wght@300;400;500;600&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
font-family: 'Inter', sans-serif;
background: #F5F0EB;
color: #3a3a3a;
}
/* NAV */
nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 80px;
height: 72px;
}
.nav-logo {
font-family: 'Noto Serif SC', serif;
font-size: 20px;
font-weight: 500;
letter-spacing: -0.3px;
color: #3a3a3a;
display: flex;
align-items: center;
gap: 10px;
}
.nav-logo-mark {
width: 28px;
height: 28px;
border-radius: 50%;
background: #6B8F71;
display: flex;
align-items: center;
justify-content: center;
}
.nav-logo-mark svg { width: 14px; height: 14px; color: #F5F0EB; }
.nav-center {
display: flex;
gap: 40px;
list-style: none;
}
.nav-center a {
font-size: 14px;
font-weight: 400;
text-decoration: none;
color: #888;
transition: color 0.2s;
}
.nav-center a:hover { color: #3a3a3a; }
.nav-right {
display: flex;
align-items: center;
gap: 20px;
}
.nav-signin {
font-size: 14px;
font-weight: 400;
text-decoration: none;
color: #888;
}
.nav-cta {
font-family: 'Inter', sans-serif;
font-size: 13px;
font-weight: 500;
padding: 9px 22px;
background: #2D3436;
color: #F5F0EB;
border: none;
border-radius: 100px;
cursor: pointer;
transition: background 0.2s;
}
.nav-cta:hover { background: #3D4547; }
/* HERO */
.hero {
padding: 20px 80px 0 80px;
height: calc(900px - 72px);
display: flex;
flex-direction: column;
}
/* TOP SECTION: text + dashboard side by side */
.hero-top {
display: grid;
grid-template-columns: 500px 1fr;
gap: 60px;
flex: 1;
}
/* LEFT TEXT */
.hero-text {
padding-top: 32px;
display: flex;
flex-direction: column;
}
.hero-label {
font-size: 12px;
font-weight: 500;
color: #6B8F71;
letter-spacing: 1px;
margin-bottom: 20px;
}
.hero-headline {
font-family: 'Noto Serif SC', serif;
font-size: 44px;
font-weight: 400;
line-height: 1.25;
letter-spacing: -0.5px;
color: #2a2a2a;
margin-bottom: 16px;
}
.hero-headline em {
font-style: italic;
color: #7A8F71;
}
.hero-subtitle {
font-size: 16px;
font-weight: 300;
line-height: 1.7;
color: #999;
margin-bottom: 32px;
max-width: 400px;
}
.hero-ctas {
display: flex;
gap: 12px;
margin-bottom: 36px;
}
.btn-primary {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 500;
padding: 14px 28px;
background: rgba(107, 143, 113, 0.12);
color: #6B8F71;
border: 1px solid rgba(107, 143, 113, 0.3);
border-radius: 100px;
cursor: pointer;
transition: all 0.2s;
}
.btn-primary:hover { background: rgba(107, 143, 113, 0.18); }
.btn-secondary {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
padding: 14px 28px;
background: transparent;
color: #888;
border: 1px solid #d5cfc5;
border-radius: 100px;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.2s;
}
.btn-secondary:hover { border-color: #aaa; color: #555; }
.btn-secondary svg { width: 14px; height: 14px; }
/* FLOW DIAGRAM */
.flow-diagram {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 32px;
}
.flow-step {
display: flex;
align-items: center;
gap: 10px;
background: rgba(107, 143, 113, 0.1);
border: 1px solid rgba(107, 143, 113, 0.25);
border-radius: 100px;
padding: 8px 18px;
}
.flow-step-icon {
width: 24px;
height: 24px;
background: #6B8F71;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.flow-step-icon svg { width: 12px; height: 12px; color: #fff; }
.flow-step span {
font-size: 12px;
font-weight: 500;
color: #666;
}
.flow-arrow {
width: 20px;
display: flex;
align-items: center;
justify-content: center;
color: #ccc;
}
.flow-arrow svg { width: 16px; height: 16px; }
/* METRICS ROW */
.metrics-row {
display: flex;
gap: 40px;
}
.metric-card {
background: #fff;
border-radius: 16px;
padding: 20px 24px;
min-width: 130px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.metric-card-value {
font-family: 'Noto Serif SC', serif;
font-size: 28px;
font-weight: 400;
color: #2a2a2a;
letter-spacing: -0.5px;
margin-bottom: 4px;
}
.metric-card-value span { color: #6B8F71; }
.metric-card-label {
font-size: 11px;
font-weight: 400;
color: #bbb;
}
/* RIGHT — DASHBOARD */
.hero-dashboard {
padding-top: 8px;
}
.dashboard-frame {
background: #FFFFFF;
border-radius: 24px;
box-shadow:
0 1px 2px rgba(0,0,0,0.02),
0 4px 12px rgba(0,0,0,0.03),
0 16px 48px rgba(0,0,0,0.05);
padding: 24px;
height: 480px;
display: flex;
flex-direction: column;
}
/* Dash header */
.dash-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.dash-head-title {
font-size: 14px;
font-weight: 500;
color: #3a3a3a;
}
.dash-head-tag {
font-size: 11px;
font-weight: 400;
color: #6B8F71;
background: rgba(107, 143, 113, 0.1);
padding: 4px 12px;
border-radius: 100px;
}
/* KPI row */
.dash-kpis {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
margin-bottom: 20px;
}
.dash-kpi {
background: #FAFAF6;
border-radius: 14px;
padding: 16px;
text-align: center;
}
.dash-kpi-value {
font-size: 22px;
font-weight: 500;
color: #2a2a2a;
margin-bottom: 2px;
}
.dash-kpi-label {
font-size: 10px;
font-weight: 400;
color: #bbb;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.dash-kpi-change {
font-size: 11px;
font-weight: 500;
color: #6B8F71;
margin-top: 4px;
}
/* Chart area */
.dash-chart {
flex: 1;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 12px;
}
.chart-main {
background: #FAFAF6;
border-radius: 16px;
padding: 20px;
display: flex;
flex-direction: column;
}
.chart-main-label {
font-size: 11px;
font-weight: 500;
color: #aaa;
margin-bottom: 12px;
}
.chart-main-svg {
flex: 1;
}
/* Side panel */
.chart-side {
display: flex;
flex-direction: column;
gap: 10px;
}
.insight-bubble {
background: #FAFAF6;
border-radius: 16px;
padding: 14px 16px;
flex: 1;
}
.insight-bubble-header {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 8px;
}
.insight-bubble-icon {
width: 20px;
height: 20px;
background: rgba(107, 143, 113, 0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.insight-bubble-icon svg { width: 10px; height: 10px; color: #7A8F71; }
.insight-bubble-tag {
font-size: 10px;
font-weight: 500;
color: #6B8F71;
}
.insight-bubble-text {
font-size: 11px;
font-weight: 400;
color: #888;
line-height: 1.5;
}
/* TRUST BAR */
.trust-bar {
padding: 16px 0;
display: flex;
align-items: center;
gap: 40px;
border-top: 1px solid #e8e2d8;
}
.trust-label {
font-size: 11px;
font-weight: 400;
color: #ccc;
white-space: nowrap;
}
.trust-logos {
display: flex;
gap: 36px;
align-items: center;
}
.trust-logo {
font-size: 14px;
font-weight: 400;
color: #ccc;
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="nav-logo">
<div class="nav-logo-mark">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
<polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"/>
</svg>
</div>
Meridian
</div>
<ul class="nav-center">
<li><a href="#">Product</a></li>
<li><a href="#">Pricing</a></li>
<li><a href="#">Docs</a></li>
<li><a href="#">Blog</a></li>
</ul>
<div class="nav-right">
<a href="#" class="nav-signin">Sign In</a>
<button class="nav-cta">Start Free Trial</button>
</div>
</nav>
<!-- HERO -->
<div class="hero">
<div class="hero-top">
<!-- LEFT TEXT -->
<div class="hero-text">
<div class="hero-label">Business Intelligence for Modern Teams</div>
<h1 class="hero-headline">Turn data into <em>decisions,</em> not dashboards</h1>
<p class="hero-subtitle">AI-powered analytics that tells you what matters, when it matters. Clarity over complexity.</p>
<div class="hero-ctas">
<button class="btn-primary">Start Free Trial</button>
<button class="btn-secondary">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="5 3 19 12 5 21 5 3"/></svg>
Watch Demo
</button>
</div>
<!-- Flow diagram -->
<div class="flow-diagram">
<div class="flow-step">
<div class="flow-step-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>
</div>
<span>Raw Data</span>
</div>
<div class="flow-arrow">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>
</div>
<div class="flow-step">
<div class="flow-step-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
</div>
<span>AI Analysis</span>
</div>
<div class="flow-arrow">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>
</div>
<div class="flow-step">
<div class="flow-step-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
</div>
<span>Actionable Insight</span>
</div>
</div>
<!-- Metrics -->
<div class="metrics-row">
<div class="metric-card">
<div class="metric-card-value">3<span>x</span></div>
<div class="metric-card-label">Faster insights</div>
</div>
<div class="metric-card">
<div class="metric-card-value">50<span>%</span></div>
<div class="metric-card-label">Less meeting time</div>
</div>
<div class="metric-card">
<div class="metric-card-value">99.9<span>%</span></div>
<div class="metric-card-label">Uptime</div>
</div>
</div>
</div>
<!-- RIGHT — DASHBOARD -->
<div class="hero-dashboard">
<div class="dashboard-frame">
<div class="dash-head">
<div class="dash-head-title">Analytics Overview</div>
<div class="dash-head-tag">AI-Enhanced</div>
</div>
<div class="dash-kpis">
<div class="dash-kpi">
<div class="dash-kpi-value">$2.4M</div>
<div class="dash-kpi-label">Revenue</div>
<div class="dash-kpi-change">+12.3%</div>
</div>
<div class="dash-kpi">
<div class="dash-kpi-value">84.2K</div>
<div class="dash-kpi-label">Active Users</div>
<div class="dash-kpi-change">+8.7%</div>
</div>
<div class="dash-kpi">
<div class="dash-kpi-value">1.2%</div>
<div class="dash-kpi-label">Churn Rate</div>
<div class="dash-kpi-change">-0.3pp</div>
</div>
</div>
<div class="dash-chart">
<!-- Main chart with organic shapes -->
<div class="chart-main">
<div class="chart-main-label">Revenue Trend</div>
<svg class="chart-main-svg" viewBox="0 0 400 160" preserveAspectRatio="xMidYMid meet">
<!-- Soft grid -->
<line x1="0" y1="40" x2="400" y2="40" stroke="#ece7dd" stroke-width="1"/>
<line x1="0" y1="80" x2="400" y2="80" stroke="#ece7dd" stroke-width="1"/>
<line x1="0" y1="120" x2="400" y2="120" stroke="#ece7dd" stroke-width="1"/>
<!-- Rounded bars -->
<rect x="15" y="80" width="28" height="70" rx="8" ry="8" fill="#e2ddd4"/>
<rect x="58" y="65" width="28" height="85" rx="8" ry="8" fill="#e2ddd4"/>
<rect x="101" y="90" width="28" height="60" rx="8" ry="8" fill="#e2ddd4"/>
<rect x="144" y="50" width="28" height="100" rx="8" ry="8" fill="#6B8F71" opacity="0.6"/>
<rect x="187" y="60" width="28" height="90" rx="8" ry="8" fill="#e2ddd4"/>
<rect x="230" y="35" width="28" height="115" rx="8" ry="8" fill="#6B8F71" opacity="0.8"/>
<rect x="273" y="45" width="28" height="105" rx="8" ry="8" fill="#e2ddd4"/>
<rect x="316" y="25" width="28" height="125" rx="8" ry="8" fill="#6B8F71"/>
<rect x="359" y="40" width="28" height="110" rx="8" ry="8" fill="#e2ddd4"/>
<!-- Smooth trend line overlay -->
<path d="M29,75 C60,62 75,60 115,85 C140,70 155,47 172,45 C200,55 205,55 244,30 C270,40 280,40 330,20 C350,35 365,35 373,35" fill="none" stroke="#7A8F71" stroke-width="2" stroke-linecap="round" opacity="0.7"/>
<!-- Labels -->
<text x="22" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Jan</text>
<text x="72" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Feb</text>
<text x="115" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Mar</text>
<text x="158" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Apr</text>
<text x="201" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">May</text>
<text x="244" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Jun</text>
<text x="287" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Jul</text>
<text x="330" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Aug</text>
<text x="373" y="158" font-size="9" fill="#bbb" font-family="Inter" text-anchor="middle">Sep</text>
</svg>
</div>
<!-- Side insights -->
<div class="chart-side">
<div class="insight-bubble">
<div class="insight-bubble-header">
<div class="insight-bubble-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
</div>
<span class="insight-bubble-tag">AI Insight</span>
</div>
<div class="insight-bubble-text">Enterprise segment grew 23% this quarter. Four new accounts are driving acceleration.</div>
</div>
<div class="insight-bubble">
<div class="insight-bubble-header">
<div class="insight-bubble-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
</div>
<span class="insight-bubble-tag">Prediction</span>
</div>
<div class="insight-bubble-text">89% likelihood of hitting Q3 revenue target based on current pipeline velocity.</div>
</div>
<div class="insight-bubble">
<div class="insight-bubble-header">
<div class="insight-bubble-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
</div>
<span class="insight-bubble-tag">Alert</span>
</div>
<div class="insight-bubble-text">Churn risk detected for 2 mid-market accounts. Recommend outreach this week.</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- TRUST BAR -->
<div class="trust-bar">
<span class="trust-label">Trusted by teams at</span>
<div class="trust-logos">
<span class="trust-logo">Stripe</span>
<span class="trust-logo">Notion</span>
<span class="trust-logo">Linear</span>
<span class="trust-logo">Vercel</span>
<span class="trust-logo">Figma</span>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
lucide.createIcons();
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB