Skip to content

Commit 874ec7c

Browse files
website: add promo YouTube embed and refine intro copy
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent a26abd2 commit 874ec7c

2 files changed

Lines changed: 113 additions & 0 deletions

File tree

website/src/pages/index.astro

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ const features = [
3838
},
3939
];
4040
41+
const promoVideoId = 'vjHybT9BPU4';
42+
const promoEmbedUrl = `https://www.youtube.com/embed/${promoVideoId}?rel=0`;
43+
4144
const docsList = [
4245
{ name: 'docs/PRD.md', title: 'Product requirements', desc: 'Why money exists, what it commits to, and what it is not.', path: 'docs/PRD.md' },
4346
{ name: 'docs/ARCHITECTURE.md', title: 'Architecture', desc: 'Module boundaries, data flow, and contract design.', path: 'docs/ARCHITECTURE.md' },
@@ -74,6 +77,7 @@ const docsList = [
7477
<span>money</span>
7578
</a>
7679
<nav class="nav" aria-label="Page">
80+
<a href="#intro-video">Watch</a>
7781
<a href="#problem">Why</a>
7882
<a href="#features">Features</a>
7983
<a href="#quick-start">Quick start</a>
@@ -155,6 +159,30 @@ const docsList = [
155159
</aside>
156160
</section>
157161

162+
<!-- ============================ Promo video ============================ -->
163+
<section id="intro-video" class="intro-video" aria-labelledby="intro-video-heading">
164+
<p class="section-eyebrow">Introduction</p>
165+
<h2 id="intro-video-heading">See money in action</h2>
166+
<p class="section-lede intro-video-lede">
167+
A product introduction: what money does, how the CLI fits in, and how JSON contracts work for external agents.
168+
</p>
169+
<div class="video-shell">
170+
<div class="video-frame">
171+
<iframe
172+
src={promoEmbedUrl}
173+
title="money — product introduction"
174+
loading="lazy"
175+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
176+
referrerpolicy="strict-origin-when-cross-origin"
177+
allowfullscreen
178+
></iframe>
179+
</div>
180+
</div>
181+
<p class="video-caption">
182+
Hosted on YouTube · <a href={`https://youtu.be/${promoVideoId}`}>Open in new tab</a>
183+
</p>
184+
</section>
185+
158186
<!-- ============================ Why ============================ -->
159187
<section id="problem" aria-labelledby="problem-heading">
160188
<p class="section-eyebrow">Why money</p>

website/src/styles/global.css

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,91 @@ section > h2 {
606606
}
607607
}
608608

609+
/* ------------------------------------------------------------------ */
610+
/* Promo video (YouTube embed) */
611+
/* ------------------------------------------------------------------ */
612+
613+
.intro-video {
614+
text-align: center;
615+
}
616+
617+
.intro-video .section-eyebrow,
618+
.intro-video h2,
619+
.intro-video .intro-video-lede {
620+
margin-inline: auto;
621+
}
622+
623+
.intro-video-lede {
624+
max-width: 38rem;
625+
}
626+
627+
.video-shell {
628+
max-width: min(52rem, 100%);
629+
margin-inline: auto;
630+
margin-top: 1.5rem;
631+
}
632+
633+
.video-frame {
634+
position: relative;
635+
width: 100%;
636+
aspect-ratio: 16 / 9;
637+
border-radius: var(--radius);
638+
overflow: hidden;
639+
border: 1px solid var(--border);
640+
background: #060807;
641+
box-shadow:
642+
0 1px 0 rgba(255, 255, 255, 0.03) inset,
643+
0 24px 48px -18px rgba(0, 0, 0, 0.55),
644+
0 10px 20px -10px rgba(0, 0, 0, 0.4);
645+
}
646+
647+
.video-frame::before {
648+
content: "";
649+
position: absolute;
650+
inset: -1px;
651+
border-radius: inherit;
652+
background: linear-gradient(
653+
135deg,
654+
rgba(201, 168, 92, 0.16),
655+
transparent 35%,
656+
transparent 65%,
657+
rgba(95, 143, 106, 0.14)
658+
);
659+
-webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
660+
-webkit-mask-composite: xor;
661+
mask-composite: exclude;
662+
padding: 1px;
663+
pointer-events: none;
664+
z-index: 1;
665+
opacity: 0.65;
666+
}
667+
668+
.video-frame iframe {
669+
position: absolute;
670+
inset: 0;
671+
width: 100%;
672+
height: 100%;
673+
border: 0;
674+
z-index: 0;
675+
}
676+
677+
.video-caption {
678+
margin: 1rem 0 0;
679+
font-family: var(--font-mono);
680+
font-size: 0.78rem;
681+
color: var(--text-dim);
682+
}
683+
684+
.video-caption a {
685+
color: var(--text-muted);
686+
text-decoration: none;
687+
}
688+
689+
.video-caption a:hover {
690+
color: var(--accent);
691+
text-decoration: underline;
692+
}
693+
609694
/* ------------------------------------------------------------------ */
610695
/* Why / Problem */
611696
/* ------------------------------------------------------------------ */

0 commit comments

Comments
 (0)