[claude] Homepage value proposition — 10-second clarity (#809) (#1338)
Some checks failed
Tests / lint (push) Has been cancelled
Tests / test (push) Has been cancelled

This commit was merged in pull request #1338.
This commit is contained in:
2026-03-24 02:41:57 +00:00
parent c3f1598c78
commit 3349948f7f
4 changed files with 561 additions and 2 deletions

View File

@@ -3075,3 +3075,347 @@
padding: 0.4rem 0.5rem;
}
}
/* ── Landing page (homepage value proposition) ────────────────── */
.lp-wrap {
max-width: 960px;
margin: 0 auto;
padding: 0 1.5rem 4rem;
}
/* Hero */
.lp-hero {
text-align: center;
padding: 4rem 0 3rem;
}
.lp-hero-eyebrow {
font-size: 10px;
font-weight: 700;
letter-spacing: 0.18em;
color: var(--purple);
margin-bottom: 1.25rem;
}
.lp-hero-title {
font-size: clamp(2rem, 6vw, 3.5rem);
font-weight: 700;
line-height: 1.1;
color: var(--text-bright);
margin-bottom: 1.25rem;
letter-spacing: -0.02em;
}
.lp-hero-sub {
font-size: 1.1rem;
color: var(--text);
line-height: 1.7;
max-width: 480px;
margin: 0 auto 2rem;
}
.lp-hero-cta-row {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
justify-content: center;
margin-bottom: 1.5rem;
}
.lp-hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 11px;
letter-spacing: 0.06em;
color: var(--text-dim);
border: 1px solid var(--border);
border-radius: 999px;
padding: 5px 14px;
}
.lp-badge-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--green);
box-shadow: 0 0 6px var(--green);
animation: lp-pulse 2s infinite;
flex-shrink: 0;
}
@keyframes lp-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.35; }
}
/* Shared buttons */
.lp-btn {
display: inline-block;
font-family: var(--font);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.12em;
border-radius: var(--radius-sm);
padding: 10px 22px;
text-decoration: none;
transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
cursor: pointer;
}
.lp-btn-primary {
background: var(--purple);
color: #fff;
border: 1px solid var(--purple);
}
.lp-btn-primary:hover {
background: #a855f7;
border-color: #a855f7;
box-shadow: 0 0 14px rgba(168, 85, 247, 0.45);
color: #fff;
}
.lp-btn-secondary {
background: transparent;
color: var(--text-bright);
border: 1px solid var(--border);
}
.lp-btn-secondary:hover {
border-color: var(--purple);
color: var(--purple);
}
.lp-btn-ghost {
background: transparent;
color: var(--text-dim);
border: 1px solid transparent;
}
.lp-btn-ghost:hover {
color: var(--text);
border-color: var(--border);
}
.lp-btn-sm {
font-size: 10px;
padding: 8px 16px;
}
.lp-btn-lg {
font-size: 13px;
padding: 14px 32px;
}
/* Shared section */
.lp-section {
padding: 3.5rem 0;
border-top: 1px solid var(--border);
}
.lp-section-title {
font-size: 1.35rem;
font-weight: 700;
color: var(--text-bright);
letter-spacing: -0.01em;
margin-bottom: 0.5rem;
}
.lp-section-sub {
color: var(--text-dim);
font-size: 0.9rem;
margin-bottom: 2.5rem;
}
/* Value cards */
.lp-value-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1.25rem;
}
.lp-value-card {
background: var(--bg-panel);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 1.5rem 1.25rem;
}
.lp-value-icon {
font-size: 1.6rem;
display: block;
margin-bottom: 0.75rem;
}
.lp-value-card h3 {
font-size: 0.9rem;
font-weight: 700;
color: var(--text-bright);
letter-spacing: 0.05em;
margin-bottom: 0.5rem;
text-transform: uppercase;
}
.lp-value-card p {
font-size: 0.85rem;
color: var(--text);
line-height: 1.6;
margin: 0;
}
/* Capability accordion */
.lp-caps-list {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.lp-cap-item {
background: var(--bg-panel);
border: 1px solid var(--border);
border-radius: var(--radius-md);
overflow: hidden;
transition: border-color 0.2s;
}
.lp-cap-item[open] {
border-color: var(--purple);
}
.lp-cap-summary {
display: flex;
align-items: center;
gap: 1rem;
padding: 1rem 1.25rem;
cursor: pointer;
list-style: none;
user-select: none;
}
.lp-cap-summary::-webkit-details-marker { display: none; }
.lp-cap-icon {
font-size: 1.25rem;
flex-shrink: 0;
}
.lp-cap-label {
font-size: 0.9rem;
font-weight: 700;
letter-spacing: 0.06em;
color: var(--text-bright);
text-transform: uppercase;
flex: 1;
}
.lp-cap-chevron {
font-size: 0.7rem;
color: var(--text-dim);
transition: transform 0.2s;
}
.lp-cap-item[open] .lp-cap-chevron {
transform: rotate(180deg);
}
.lp-cap-body {
padding: 0 1.25rem 1.25rem;
border-top: 1px solid var(--border);
}
.lp-cap-body p {
font-size: 0.875rem;
color: var(--text);
line-height: 1.65;
margin: 0.875rem 0 0.75rem;
}
.lp-cap-bullets {
margin: 0;
padding-left: 1.1rem;
font-size: 0.8rem;
color: var(--text-dim);
line-height: 1.8;
}
/* Stats */
.lp-stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 1.25rem;
}
.lp-stat-card {
background: var(--bg-panel);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 1.5rem 1rem;
text-align: center;
}
.lp-stat-num {
font-size: 1.75rem;
font-weight: 700;
color: var(--purple);
letter-spacing: -0.03em;
line-height: 1;
margin-bottom: 0.5rem;
}
.lp-stat-label {
font-size: 9px;
font-weight: 700;
letter-spacing: 0.14em;
color: var(--text-dim);
text-transform: uppercase;
}
/* Audience CTAs */
.lp-audience-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
gap: 1.25rem;
}
.lp-audience-card {
position: relative;
background: var(--bg-panel);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 1.75rem 1.5rem;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.lp-audience-featured {
border-color: var(--purple);
background: rgba(124, 58, 237, 0.07);
}
.lp-audience-badge {
position: absolute;
top: -10px;
left: 50%;
transform: translateX(-50%);
background: var(--purple);
color: #fff;
font-size: 8px;
font-weight: 700;
letter-spacing: 0.14em;
padding: 3px 10px;
border-radius: 999px;
white-space: nowrap;
}
.lp-audience-icon {
font-size: 1.75rem;
}
.lp-audience-card h3 {
font-size: 0.95rem;
font-weight: 700;
color: var(--text-bright);
letter-spacing: 0.04em;
text-transform: uppercase;
margin: 0;
}
.lp-audience-card p {
font-size: 0.85rem;
color: var(--text);
line-height: 1.65;
margin: 0;
flex: 1;
}
/* Final CTA */
.lp-final-cta {
text-align: center;
border-top: 1px solid var(--border);
padding: 4rem 0 2rem;
}
.lp-final-cta-title {
font-size: clamp(1.5rem, 4vw, 2.5rem);
font-weight: 700;
color: var(--text-bright);
margin-bottom: 0.75rem;
letter-spacing: -0.02em;
}
.lp-final-cta-sub {
color: var(--text-dim);
font-size: 0.875rem;
letter-spacing: 0.04em;
margin-bottom: 2rem;
}
/* Responsive */
@media (max-width: 600px) {
.lp-hero { padding: 2.5rem 0 2rem; }
.lp-hero-cta-row { flex-direction: column; align-items: center; }
.lp-value-grid { grid-template-columns: 1fr; }
.lp-stats-grid { grid-template-columns: repeat(2, 1fr); }
.lp-audience-grid { grid-template-columns: 1fr; }
}