Skip to content

Commit bfbe80b

Browse files
bloveclaude
andcommitted
feat(website): display headline, amber action and runway centreline
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 9aeb932 commit bfbe80b

1 file changed

Lines changed: 49 additions & 38 deletions

File tree

apps/website/src/styles/landing.css

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -616,58 +616,69 @@
616616
}
617617
}
618618

619-
/* OpenSourceStrip — components/landing/OpenSourceStrip.tsx
620-
*
621-
* A strip, not a section: the sentence sits at the left edge of the page
622-
* container and the action at the right, so it reads as an aside between the
623-
* stage and the teams block. It deliberately undercuts the tight section
624-
* rhythm (48–80px) — at that height the band still reads as a full closing
625-
* beat, which is the volume this replaced. The [data-tight] selector is two
626-
* attributes, so the override has to carry both to win. */
627-
[data-ui="section"][data-tight].open-source-strip {
628-
padding-top: clamp(28px, 3.2vw, 44px);
629-
padding-bottom: clamp(28px, 3.2vw, 44px);
630-
}
631-
.open-source-strip-inner {
632-
display: flex;
633-
align-items: center;
634-
justify-content: space-between;
635-
gap: 20px 32px;
636-
flex-wrap: wrap;
619+
/* The Fork us band — components/landing/OpenSourceStrip.tsx.
620+
* No padding override: the band takes the standard --spacing-section-y, which
621+
* is where its ~461px comes from. The dark surface already sets position:
622+
* relative, but the runway depends on it, so it is set here too rather than
623+
* inherited from a rule that could change for unrelated reasons. */
624+
.open-source-strip {
625+
position: relative;
637626
}
638-
.open-source-strip-line {
639-
/* Body-scale editorial copy, not display type: it carries an italic <em>,
640-
and Archivo Black has no italic. --font-sans (Archivo) does. */
641-
font-family: var(--font-sans);
642-
font-size: 23px;
643-
line-height: 1.35;
627+
.open-source-strip-eyebrow {
628+
font-family: var(--font-mono);
629+
font-size: 11px;
630+
font-weight: 700;
631+
letter-spacing: 0.18em;
632+
text-transform: uppercase;
633+
color: var(--color-signal);
634+
margin: 0 0 22px;
635+
}
636+
.open-source-strip-headline {
637+
/* --font-display is available here now: the italic <em> this line used to
638+
carry is gone, and Archivo Black has no italic. */
639+
font-family: var(--font-display);
644640
font-weight: 400;
645-
letter-spacing: -0.005em;
641+
font-size: clamp(56px, 8.5vw, 116px);
642+
line-height: 0.9;
643+
letter-spacing: -0.04em;
646644
color: var(--color-text-primary);
647645
margin: 0;
648646
}
649-
.open-source-strip-line em {
650-
font-style: italic;
651-
}
652647
.open-source-strip-actions {
653648
display: flex;
654649
align-items: center;
655-
gap: 18px;
656-
flex: none;
650+
gap: 20px;
651+
margin-top: 38px;
657652
}
658653
.open-source-strip-licence {
659-
font-family: var(--font-sans);
660-
font-size: 12px;
661-
letter-spacing: 0.02em;
654+
font-family: var(--font-mono);
655+
font-size: 11px;
656+
letter-spacing: 0.12em;
657+
text-transform: uppercase;
662658
color: var(--color-text-muted);
663-
border: 1px solid var(--color-border);
664-
border-radius: var(--radius-pill, 999px);
665-
padding: 4px 10px;
666659
white-space: nowrap;
667660
}
661+
/* The runway centreline. A fixed 46px dash on a 92px period rather than a
662+
* proportional one, so it reads as the same painted marking at every width. */
663+
.open-source-strip-runway {
664+
position: absolute;
665+
left: 0;
666+
right: 0;
667+
bottom: 30px;
668+
height: 6px;
669+
background: repeating-linear-gradient(
670+
90deg,
671+
rgba(255, 175, 0, 0.5) 0 46px,
672+
transparent 46px 92px
673+
);
674+
}
668675
@media (max-width: 640px) {
669-
.open-source-strip-line {
670-
font-size: 21px;
676+
.open-source-strip-headline {
677+
font-size: clamp(44px, 13vw, 56px);
678+
}
679+
.open-source-strip-actions {
680+
flex-wrap: wrap;
681+
gap: 14px;
671682
}
672683
}
673684

0 commit comments

Comments
 (0)