<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Edge of the Fairway</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=DM+Mono:wght@300;400&family=DM+Sans:wght@300;400;500&display=swap" rel="stylesheet">
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--green: #1a3a2a;
--green-mid: #2d5a3d;
--gold: #c9a84c;
--gold-light: #e8c97a;
--cream: #f5f0e8;
--cream-dark: #ede6d6;
--text-muted: #6b6b60;
}
body {
font-family: 'DM Sans', sans-serif;
background: #f5f0e8;
color: #1a1a18;
overflow-x: hidden;
}
nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: 1.2rem 3rem;
background: rgba(245,240,232,0.92);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(201,168,76,0.2);
}
.logo {
font-family: 'Playfair Display', serif;
font-size: 1.4rem;
color: #1a3a2a;
}
.logo span {
color: #c9a84c;
font-style: italic;
}
.nav-links {
display: flex;
gap: 2rem;
align-items: center;
}
.nav-links a {
font-size: 0.8rem;
font-family: 'DM Mono', monospace;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #6b6b60;
text-decoration: none;
}
.nav-cta {
background: #1a3a2a;
color: #f5f0e8 !important;
padding: 0.5rem 1.2rem;
border-radius: 2px;
}
.hero {
min-height: 100vh;
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
padding: 8rem 3rem 4rem;
gap: 4rem;
}
.hero-eyebrow,
.section-eyebrow {
font-family: 'DM Mono', monospace;
font-size: 0.7rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #c9a84c;
margin-bottom: 1.5rem;
display: flex;
align-items: center;
gap: 0.75rem;
}
.hero-eyebrow::before,
.section-eyebrow::before {
content: '';
display: block;
width: 32px;
height: 1px;
background: #c9a84c;
}
.hero h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(2.8rem, 5vw, 4.5rem);
line-height: 1.08;
font-weight: 700;
margin-bottom: 1.5rem;
color: #1a3a2a;
}
.hero h1 em,
.section-title em,
.cta-title em {
font-style: italic;
color: #c9a84c;
}
.hero-sub {
font-size: 1rem;
line-height: 1.7;
color: #6b6b60;
max-width: 420px;
margin-bottom: 2.5rem;
font-weight: 300;
}
.hero-actions {
display: flex;
gap: 1rem;
align-items: center;
}
.btn-primary {
background: #1a3a2a;
color: #f5f0e8;
padding: 0.9rem 2rem;
border-radius: 2px;
font-size: 0.85rem;
font-family: 'DM Mono', monospace;
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
border: none;
}
.btn-ghost {
color: #1a3a2a;
padding: 0.9rem 1.5rem;
font-size: 0.85rem;
font-family: 'DM Mono', monospace;
letter-spacing: 0.06em;
text-transform: uppercase;
text-decoration: none;
border-bottom: 1px solid #1a3a2a;
}
.matchup-card {
background: #1a3a2a;
border-radius: 4px;
padding: 1.5rem;
color: #f5f0e8;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1.25rem;
}
.card-label {
font-family: 'DM Mono', monospace;
font-size: 0.65rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: rgba(245,240,232,0.5);
}
.card-badge {
background: #c9a84c;
color: #1a3a2a;
font-family: 'DM Mono', monospace;
font-size: 0.6rem;
letter-spacing: 0.1em;
text-transform: uppercase;
padding: 0.25rem 0.6rem;
border-radius: 2px;
}
.matchup-players {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.25rem;
}
.player {
flex: 1;
}
.player-name {
font-family: 'Playfair Display', serif;
font-size: 1.1rem;
margin-bottom: 0.2rem;
}
.player-rank {
font-family: 'DM Mono', monospace;
font-size: 0.65rem;
color: rgba(245,240,232,0.5);
}
.vs-divider {
font-family: 'Playfair Display', serif;
font-style: italic;
font-size: 0.9rem;
color: #c9a84c;
}
.stat-row {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 0.5rem;
}
.stat-box {
background: rgba(255,255,255,0.06);
border-radius: 2px;
padding: 0.6rem 0.75rem;
}
.stat-name {
font-family: 'DM Mono', monospace;
font-size: 0.55rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(245,240,232,0.4);
margin-bottom: 0.3rem;
}
.stat-vals {
display: flex;
justify-content: space-between;
}
.stat-val {
font-size: 0.9rem;
font-weight: 500;
}
.stat-val.win {
color: #e8c97a;
}
.stat-val.lose {
color: rgba(245,240,232,0.5);
}
.edge-bar {
background: #f5f0e8;
border-radius: 4px;
padding: 1rem 1.25rem;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 1rem;
}
.edge-label {
font-family: 'DM Mono', monospace;
font-size: 0.65rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #6b6b60;
}
.edge-name {
font-family: 'Playfair Display', serif;
font-size: 1rem;
color: #1a3a2a;
margin-top: 0.1rem;
}
.edge-num {
font-family: 'DM Mono', monospace;
font-size: 1.5rem;
color: #c9a84c;
}
.edge-desc {
font-family: 'DM Mono', monospace;
font-size: 0.6rem;
color: #6b6b60;
}
.ticker {
background: #1a3a2a;
padding: 0.6rem 3rem;
overflow: hidden;
white-space: nowrap;
}
.ticker-inner {
display: inline-block;
animation: ticker 28s linear infinite;
font-family: 'DM Mono', monospace;
font-size: 0.7rem;
letter-spacing: 0.12em;
color: rgba(245,240,232,0.6);
}
.ticker-inner span {
color: #c9a84c;
margin: 0 0.4rem;
}
@keyframes ticker {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}
.features {
padding: 6rem 3rem;
max-width: 1100px;
margin: 0 auto;
}
.section-title {
font-family: 'Playfair Display', serif;
font-size: clamp(2rem, 3vw, 2.8rem);
color: #1a3a2a;
margin-bottom: 3.5rem;
max-width: 500px;
line-height: 1.2;
}
.features-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5px;
background: #ede6d6;
border: 1.5px solid #ede6d6;
border-radius: 4px;
overflow: hidden;
}
.feature-cell {
background: #f5f0e8;
padding: 2rem 1.75rem;
}
.feature-icon {
width: 36px;
height: 36px;
background: #1a3a2a;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 1.25rem;
}
.feature-title {
font-family: 'Playfair Display', serif;
font-size: 1.1rem;
color: #1a3a2a;
margin-bottom: 0.6rem;
}
.feature-desc {
font-size: 0.85rem;
line-height: 1.65;
color: #6b6b60;
font-weight: 300;
}
.cta-section {
padding: 7rem 3rem;
text-align: center;
}
.cta-title {
font-family: 'Playfair Display', serif;
font-size: clamp(2.2rem, 4vw, 3.5rem);
color: #1a3a2a;
line-height: 1.1;
margin-bottom: 1rem;
}
.cta-sub {
font-size: 0.95rem;
color: #6b6b60;
margin-bottom: 2.5rem;
font-weight: 300;
}
.email-form {
display: flex;
max-width: 420px;
margin: 0 auto;
}
.email-form input {
flex: 1;
padding: 0.85rem 1.2rem;
border: 1px solid #ede6d6;
border-right: none;
border-radius: 2px 0 0 2px;
font-family: 'DM Sans', sans-serif;
font-size: 0.9rem;
background: #f5f0e8;
color: #1a1a18;
outline: none;
}
.email-form button {
background: #1a3a2a;
color: #f5f0e8;
border: none;
padding: 0.85rem 1.5rem;
border-radius: 0 2px 2px 0;
font-family: 'DM Mono', monospace;
font-size: 0.7rem;
letter-spacing: 0.1em;
text-transform: uppercase;
cursor: pointer;
white-space: nowrap;
}
footer {
background: #1a3a2a;
color: rgba(245,240,232,0.5);
padding: 2rem 3rem;
display: flex;
justify-content: space-between;
align-items: center;
font-family: 'DM Mono', monospace;
font-size: 0.65rem;
letter-spacing: 0.1em;
}
.footer-logo {
font-family: 'Playfair Display', serif;
font-size: 1.1rem;
color: #f5f0e8;
}
.footer-logo span {
color: #c9a84c;
font-style: italic;
}
@media (max-width: 900px) {
.hero {
grid-template-columns: 1fr;
}
.features-grid {
grid-template-columns: 1fr;
}
footer {
flex-direction: column;
gap: 1rem;
text-align: center;
}
nav {
padding: 1rem 1.5rem;
}
.nav-links {
gap: 1rem;
}
}
@media (max-width: 640px) {
.hero,
.features,
.cta-section {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.hero-actions {
flex-direction: column;
align-items: flex-start;
}
.email-form {
flex-direction: column;
}
.email-form input {
border-right: 1px solid #ede6d6;
border-radius: 2px;
margin-bottom: 0.75rem;
}
.email-form button {
border-radius: 2px;
}
.nav-links a:not(.nav-cta) {
display: none;
}
}
</style>
</head>
<body>
<nav>
<div class="logo">Edge of the <span>Fairway</span></div>
<div class="nav-links">
<a href="#">Matchups</a>
<a href="#">Model</a>
<a href="#">About</a>
<a href="#waitlist" class="nav-cta">Join Waitlist</a>
</div>
</nav>
<section class="hero">
<div>
<div class="hero-eyebrow">PGA Tour H2H Analytics</div>
<h1>
Bet matchups with a <em>real edge</em>
</h1>
<p class="hero-sub">
Strokes gained breakdowns, course fit scores, and sharp model ratings
for every PGA Tour head-to-head pairing — every round, every tournament.
</p>
<div class="hero-actions">
<a href="#waitlist" class="btn-primary">Join the Waitlist</a>
<a href="#how-it-works" class="btn-ghost">See the model →</a>
</div>
</div>
<div>
<div class="matchup-card">
<div class="card-header">
<div class="card-label">Round 2 — The Masters</div>
<div class="card-badge">Live Edge</div>
</div>
<div class="matchup-players">
<div class="player">
<div class="player-name">S. Scheffler</div>
<div class="player-rank">World #1 · FWE Score 94</div>
</div>
<div class="vs-divider">vs</div>
<div class="player" style="text-align:right;">
<div class="player-name">R. McIlroy</div>
<div class="player-rank">World #3 · FWE Score 81</div>
</div>
</div>
<div class="stat-row">
<div class="stat-box">
<div class="stat-name">SG: App</div>
<div class="stat-vals">
<span class="stat-val win">+1.4</span>
<span class="stat-val lose">+0.9</span>
</div>
</div>
<div class="stat-box">
<div class="stat-name">Course Fit</div>
<div class="stat-vals">
<span class="stat-val win">A+</span>
<span class="stat-val lose">B+</span>
</div>
</div>
<div class="stat-box">
<div class="stat-name">Form (L6)</div>
<div class="stat-vals">
<span class="stat-val win">9.2</span>
<span class="stat-val lose">7.8</span>
</div>
</div>
</div>
<div class="edge-bar">
<div>
<div class="edge-label">Model favors</div>
<div class="edge-name">Scottie Scheffler</div>
</div>
<div style="text-align:right;">
<div class="edge-num">+1.8</div>
<div class="edge-desc">strokes projected edge</div>
</div>
</div>
</div>
</div>
</section>
<div class="ticker">
<div class="ticker-inner">
Scheffler vs McIlroy<span>·</span>Edge: +1.8 strokes<span>·</span>
Spieth vs Fleetwood<span>·</span>Edge: +0.7 strokes<span>·</span>
Rahm vs Hovland<span>·</span>Edge: +1.1 strokes<span>·</span>
Thomas vs Morikawa<span>·</span>Edge: +0.5 strokes<span>·</span>
Burns vs Finau<span>·</span>Edge: +0.9 strokes<span>·</span>
</div>
</div>
<section class="features" id="how-it-works">
<div class="section-eyebrow">Why Edge of the Fairway</div>
<h2 class="section-title">
Every number that <em>actually matters</em>
</h2>
<div class="features-grid">
<div class="feature-cell">
<div class="feature-icon">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#c9a84c" stroke-width="1.5">
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>
</svg>
</div>
<div class="feature-title">Strokes Gained Breakdown</div>
<div class="feature-desc">
Full SG splits — off the tee, approach, around the green, and putting.
</div>
</div>
<div class="feature-cell">
<div class="feature-icon">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#c9a84c" stroke-width="1.5">
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>
</svg>
</div>
<div class="feature-title">Course Fit Scoring</div>
<div class="feature-desc">
A–F grades matching players to course characteristics and conditions.
</div>
</div>
<div class="feature-cell">
<div class="feature-icon">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#c9a84c" stroke-width="1.5">
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>
</svg>
</div>
<div class="feature-title">Recent Form Ratings</div>
<div class="feature-desc">
Weighted ratings across recent tournaments with recency adjustment.
</div>
</div>
</div>
</section>
<section class="cta-section" id="waitlist">
<div class="section-eyebrow" style="justify-content:center;">
Early Access
</div>
<h2 class="cta-title">
Stop guessing.<br>
<em>Start edging.</em>
</h2>
<p class="cta-sub">
Join the waitlist and be first to know when we launch.
</p>
<form class="email-form">
<input type="email" placeholder="your@email.com">
<button type="submit">Join Waitlist</button>
</form>
</section>
<footer>
<div class="footer-logo">Edge of the <span>Fairway</span></div>
<div>© 2025 Edge of the Fairway · Golf H2H Analytics</div>
<div>Not affiliated with the PGA Tour</div>
</footer>
</body>
</html>