Landing hero → bundle visual system; claims filtered to earned only
Migrate the Landing hero (Landing-only component; LiveHeroProp/triplet untouched) to the design bundle's visual language: mono "SPORTS INTELLIGENCE TERMINAL" eyebrow, tightened 56px/800 headline "Every line, graded before you bet it.", dual mono CTAs (OPEN THE TERMINAL / SEE THE PUBLIC RECORD), proof chips. Claims audited against the held list — the bundle's marketing copy carries claims we have not earned; those did NOT ship: - "CLV-VERIFIED" chip + "verified against closing lines" — HELD (C4 broken) - "312 props / 47 games" count — fabricated demo → ABSENT (no count) Shipped copy is earned only: pre-graded, edge-ranked, settled in public, misses included; PUBLIC LEDGER / MISSES INCLUDED / 5 FREE READS chips. HELD + FLAGGED for a design pass (fabrication-backed, no honest designed state — check-don't-freelance): the edge-board demo (A+/A don't emit), the "grades calibrate · A+ hit 80%" claim (calibration unmeasured), and the tier-record band (real data is B/C-only, no ROI). Not built with fake data. Tokens via var(--g-a/--void/--border/…) with bundle-hex fallbacks (documented-intentional pattern). Build exit 0; parity QA green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCNgGSt5qvcLxaeQqa7Zpj
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
+85
-37
@@ -21,62 +21,110 @@ export default function Hero() {
|
||||
className="hero-grid"
|
||||
>
|
||||
<div className="animate-fade-up" style={{ maxWidth: 800 }}>
|
||||
<span
|
||||
{/* Bundle-migrated eyebrow. Mono, wide-tracked, signal green. */}
|
||||
<div
|
||||
className="mono"
|
||||
style={{
|
||||
display: 'inline-block',
|
||||
padding: '4px 12px',
|
||||
fontSize: 11,
|
||||
fontSize: 10.5,
|
||||
fontWeight: 700,
|
||||
letterSpacing: '0.10em',
|
||||
borderRadius: 999,
|
||||
background: 'var(--accent-glow)',
|
||||
color: 'var(--grade-a)',
|
||||
marginBottom: 24,
|
||||
textTransform: 'uppercase',
|
||||
}}
|
||||
>
|
||||
EVERY SPORT · EVERY PROP
|
||||
</span>
|
||||
<h1
|
||||
className="text-balance"
|
||||
style={{
|
||||
fontSize: 'clamp(36px, 6vw, 64px)',
|
||||
fontWeight: 700,
|
||||
letterSpacing: '-0.03em',
|
||||
lineHeight: 1.05,
|
||||
letterSpacing: '0.3em',
|
||||
color: 'var(--g-a, #00D4A0)',
|
||||
marginBottom: 20,
|
||||
}}
|
||||
>
|
||||
The books have every advantage.<br />
|
||||
<span style={{ color: 'var(--grade-a)' }}>We built this to give it back.</span>
|
||||
SPORTS INTELLIGENCE TERMINAL
|
||||
</div>
|
||||
<h1
|
||||
className="text-balance"
|
||||
style={{
|
||||
fontSize: 'clamp(36px, 6vw, 56px)',
|
||||
fontWeight: 800,
|
||||
letterSpacing: '-0.025em',
|
||||
lineHeight: 1.02,
|
||||
marginBottom: 18,
|
||||
}}
|
||||
>
|
||||
Every line, graded before you bet it.
|
||||
</h1>
|
||||
{/* CLAIMS-FILTERED subcopy: dropped the fabricated "312 props / 47
|
||||
games" count (absent, not faked) and "verified against closing
|
||||
lines" (CLV is held). What remains is earned: pre-graded, edge-
|
||||
ranked, settled in public, misses included. */}
|
||||
<p
|
||||
className="text-pretty"
|
||||
style={{
|
||||
fontSize: 18,
|
||||
fontSize: 16,
|
||||
color: 'var(--text-secondary)',
|
||||
lineHeight: 1.6,
|
||||
marginBottom: 32,
|
||||
maxWidth: 600,
|
||||
lineHeight: 1.55,
|
||||
marginBottom: 30,
|
||||
maxWidth: 460,
|
||||
}}
|
||||
>
|
||||
Grade your props across every sport with intelligence the books don't want you to have.
|
||||
Forty-plus factors. Kill conditions. Alt-line ladders. The honest ledger.
|
||||
Every prop graded and ranked by edge before the game starts — then settled in public.
|
||||
Misses included.
|
||||
</p>
|
||||
<SportBadgeStrip />
|
||||
|
||||
<div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', marginTop: 24 }}>
|
||||
<a href="/signup" className="btn-primary" style={{ padding: '14px 28px', fontSize: 15 }}>
|
||||
Get Started — Free
|
||||
{/* Bundle dual mono CTAs. */}
|
||||
<div style={{ display: 'flex', alignItems: 'center', gap: 12, flexWrap: 'wrap', marginTop: 24 }}>
|
||||
<a
|
||||
href="/dashboard"
|
||||
className="mono"
|
||||
style={{
|
||||
display: 'inline-flex',
|
||||
alignItems: 'center',
|
||||
height: 48,
|
||||
padding: '0 26px',
|
||||
borderRadius: 11,
|
||||
background: 'var(--g-a, #00D4A0)',
|
||||
color: 'var(--void, #06060B)',
|
||||
fontWeight: 800,
|
||||
fontSize: 12,
|
||||
letterSpacing: '0.1em',
|
||||
textDecoration: 'none',
|
||||
}}
|
||||
>
|
||||
OPEN THE TERMINAL
|
||||
</a>
|
||||
<a href="/ledger" className="btn-ghost" style={{ padding: '14px 28px', fontSize: 15 }}>
|
||||
See the Ledger
|
||||
<a
|
||||
href="/ledger"
|
||||
className="mono"
|
||||
style={{
|
||||
display: 'inline-flex',
|
||||
alignItems: 'center',
|
||||
height: 48,
|
||||
padding: '0 22px',
|
||||
borderRadius: 11,
|
||||
background: 'transparent',
|
||||
border: '1px solid var(--border)',
|
||||
color: 'var(--text-secondary)',
|
||||
fontWeight: 700,
|
||||
fontSize: 11,
|
||||
letterSpacing: '0.1em',
|
||||
textDecoration: 'none',
|
||||
}}
|
||||
>
|
||||
SEE THE PUBLIC RECORD
|
||||
</a>
|
||||
</div>
|
||||
<p style={{ fontSize: 13, color: 'var(--text-tertiary)', marginTop: 16 }}>
|
||||
5 free reads every month. No credit card. Cancel anytime.
|
||||
</p>
|
||||
|
||||
{/* Proof chips — CLV-VERIFIED intentionally NOT migrated (held). Only
|
||||
earned trust signals: the ledger is public and shows misses. */}
|
||||
<div style={{ display: 'flex', alignItems: 'center', gap: 20, marginTop: 26, flexWrap: 'wrap' }}>
|
||||
<span
|
||||
className="mono"
|
||||
style={{ display: 'inline-flex', alignItems: 'center', gap: 6, fontSize: 9.5, letterSpacing: '0.12em', color: 'var(--g-a, #00D4A0)' }}
|
||||
>
|
||||
<span style={{ width: 5, height: 5, borderRadius: '50%', background: 'var(--g-a, #00D4A0)' }} />
|
||||
PUBLIC LEDGER
|
||||
</span>
|
||||
<span className="mono" style={{ fontSize: 9.5, letterSpacing: '0.12em', color: 'var(--text-tertiary)' }}>
|
||||
MISSES INCLUDED
|
||||
</span>
|
||||
<span className="mono" style={{ fontSize: 9.5, letterSpacing: '0.12em', color: 'var(--text-tertiary)' }}>
|
||||
5 FREE READS / MO
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<LiveHeroProp />
|
||||
|
||||
Reference in New Issue
Block a user