diff --git a/apps/marketing/public/assets/inbox-film-poster.jpg b/apps/marketing/public/assets/inbox-film-poster.jpg
new file mode 100644
index 0000000000..34620a85c1
Binary files /dev/null and b/apps/marketing/public/assets/inbox-film-poster.jpg differ
diff --git a/apps/marketing/public/assets/inbox-film.mp4 b/apps/marketing/public/assets/inbox-film.mp4
new file mode 100644
index 0000000000..f90a1e721b
Binary files /dev/null and b/apps/marketing/public/assets/inbox-film.mp4 differ
diff --git a/apps/marketing/src/pages/[inbox].astro b/apps/marketing/src/pages/[inbox].astro
index adcdc32fcb..6c9a4de87b 100644
--- a/apps/marketing/src/pages/[inbox].astro
+++ b/apps/marketing/src/pages/[inbox].astro
@@ -82,6 +82,30 @@ const steps = [
+
+
+
+
+
+
{
+ filmVideo.play().catch(() => {});
+ });
+ filmVideo.addEventListener('play', () => {
+ filmPlay.hidden = true;
+ filmVideo.controls = true;
+ });
+ }
+
// Lightbox: the 2x render of the mode on screen.
const lb = document.querySelector('[data-lightbox-modal]');
const img = lb?.querySelector('.ib-lightbox-img');
@@ -462,6 +503,79 @@ const steps = [
margin-top: 3.5rem;
}
+ /* ── The film (InboxShot's large frame, around a 16:9 player) ── */
+ .ib-film {
+ position: relative;
+ margin: 3.5rem 0 0;
+ border-radius: 12px;
+ overflow: hidden;
+ border: 1px solid var(--border);
+ background: #000;
+ box-shadow:
+ 0 30px 80px -20px color-mix(in oklab, #000 45%, transparent),
+ 0 1px 2px color-mix(in oklab, var(--foreground) 6%, transparent);
+ }
+
+ :global(.light) .ib-film {
+ box-shadow: 0 30px 70px -24px color-mix(in oklab, var(--foreground) 22%, transparent);
+ }
+
+ .ib-film-video {
+ display: block;
+ width: 100%;
+ height: auto;
+ aspect-ratio: 16 / 9;
+ }
+
+ /* The whole poster is the button; the dot is code-review.astro's
+ cr-demo-play, larger. */
+ .ib-film-play {
+ position: absolute;
+ inset: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0;
+ border: none;
+ background: none;
+ cursor: pointer;
+ }
+
+ .ib-film-play[hidden] { display: none; }
+
+ .ib-film-play-dot {
+ width: 76px;
+ height: 76px;
+ border-radius: 999px;
+ background: color-mix(in oklab, var(--primary) 92%, transparent);
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
+ transition: background-color 0.15s;
+ }
+
+ .ib-film-play-dot svg {
+ width: 34px;
+ height: 34px;
+ margin-left: 4px;
+ }
+
+ .ib-film-play:hover .ib-film-play-dot { background: var(--primary); }
+
+ .ib-film-play:focus-visible {
+ outline: 2px solid var(--primary);
+ outline-offset: -4px;
+ border-radius: 12px;
+ }
+
+ @media (max-width: 639px) {
+ .ib-film { margin-top: 2.5rem; }
+ .ib-film-play-dot { width: 56px; height: 56px; }
+ .ib-film-play-dot svg { width: 26px; height: 26px; margin-left: 3px; }
+ }
+
/* ── Chapter markers (cr-arc) ── */
.ib-arc {
display: flex;