welcome-backer was overlapping the bottom of the fenja wordmark
now that the Innovationsfonden SVG grew to 24px (taller row, lower
visual centre). top bumped from +45px to +80px below viewport
mid, and transform translate from -50% to -28% so the block sits
slightly right of the logo's centreline instead of under it.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Hero .support and welcome-backer now carry the same text sizing —
11px / weight 600 / uppercase / 0.18em tracking — so the lockup
reads identically on the entrance and on the overview hero.
Innovationsfonden SVG bumps 14→24px on the hero and 16→24px on
the welcome page, so the wordmark is meaningfully visible while
the accompanying label stays small.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A small supporter lockup (uppercase "Backed by" + redrawn
Innovationsfonden wordmark, same treatment as the hero's .support
block) sits directly under the fixed welcome-logo at left:75%,
~45px below the logo's centre. Fades in with the welcome step via
the same body:has(#step-welcome.is-active) trigger the logo uses,
hidden on the email step and on narrow viewports.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Stack title bar moves from top-left next to the site-mark to
centered at ~14vh so the title anchors visually to the cards
below. Font size bumped to clamp(2rem, 3.6vw, 3rem).
- Counter ("1 / 4 … 4 / 4") relocates from the title bar into
each .layer-card as a .card-counter element in the top-right of
each card-box. No longer driven by ScrollTrigger onUpdate —
each card carries its own number, so stacked + grid phases
both read correctly without JS. Grid phase shrinks the counter
so it doesn't compete with the per-cell label.
- SCENE_ANCHOR_OFFSET for stack-scene drops from 1800 back to 0,
so clicking the "Capabilities" dot lands at the top of the
pin — the title and first card come in together instead of
starting mid-stack.
Welcome step: the "desktop experience" aside and its CSS are
removed. Users now see only the two definitions before the CTA.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Timeline page:
- .page-sub: final sentence wrapped in .page-sub-accent and styled
crimson so the rhetorical beat lifts off the block.
- Scroll-to-begin hint is now toggled from applyScroll() against
state.target, so it dismisses on first commit AND re-appears when
the reader scrolls all the way back to the start. onWheel no longer
hard-adds .hint-dismissed; the applyScroll toggle drives both ways.
Overview page:
- Hero scroll icon: size and presence bumped (2px line, 44px tall, 11px
chevron, weight 600, color:var(--ink)) so it reads as a confident
cue, not a whisper at the bottom of the hero.
- Architecture scene gains a title bar pinned with the scene: "The
Fenja AI platform in four steps" with a 1/4 → 4/4 counter driven by
the scroll-trigger onUpdate. Bar is placed below the site-mark's
fixed position so the two don't collide.
- Dot-nav: dot size 5px → 10px (1.5px ring) for better click target +
visual weight. Buttons for "Words" and "Participate" removed — the
corresponding intermediate sections now map to their nearest
surviving dot in bifrost.js's scroll-spy (words-scene →
stack-scene, bifrost-meaning → bifrost).
- Renames: "Hero" → "Fenja introduction", "Architecture" →
"Capabilities", "Bifrost" → "Project Bifrost".
- scrollTo() adds a per-scene SCENE_ANCHOR_OFFSET — stack-scene lands
+2100px into its 5000px pin so the reader arrives on the fully
stacked state instead of an empty pre-animation frame.
Welcome step (public/entrance.html):
- New .welcome-note callout between definitions and CTA advising
desktop viewing and gentle scrolling so readers don't fly past
animated sections before they've resolved.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>