- From the promise of AI to the loss of sovereignty.
- Twenty-three headlines, quietly laid across a tinted map. Scroll the wheel — the map turns with you.
+ When AI runs Europe, who runs the AI?
+
+ We’ve spent years building data and AI across Denmark and Europe, watching one dependency harden after another. AI is different. The United States has made that clear. China has made that clear. You cannot stand strong in this century on AI you do not control — and for the first time in a generation, Europe has both the reason and the moment to build its own. The window is closing faster than most realise. It is open now. It will not be open long.
+ As AI moves into our hospitals, our courts, our defence, our schools — can we afford for the switch to sit in Washington?
+
@@ -2231,6 +2345,20 @@ html {
+
+
+
diff --git a/protected/timeline.js b/protected/timeline.js
index bab7110..c679fda 100644
--- a/protected/timeline.js
+++ b/protected/timeline.js
@@ -137,6 +137,12 @@ function onWheel(e) {
state.target = clamp(state.target + dy * 1.1, 0, state.max);
e.preventDefault();
kick();
+
+ // Dismiss the scroll hint on the very first wheel tick — instant fade.
+ // A separate class from `.is-scrolled` (which keys off 40px of travel
+ // and controls the front-matter) so the hint goes the moment the
+ // reader commits, not after inertia catches up.
+ document.getElementById('page-timeline')?.classList.add('hint-dismissed');
}
function kick() {
@@ -444,6 +450,7 @@ document.querySelectorAll('.dot-btn').forEach(btn => {
});
});
+
/* ─────────────────────────────────────────────────────────────
First name propagation — fetched from /auth/me on load.
Used by Scene 3 ("This is why we've invited you, [Name].").
diff --git a/public/entrance.html b/public/entrance.html
index 764e2f2..c94efae 100644
--- a/public/entrance.html
+++ b/public/entrance.html
@@ -59,10 +59,18 @@
position: relative;
z-index: 10;
width: 100%;
+ min-height: 100vh;
padding: 0 112px;
+ /* Vertically center the active step (email or welcome). Body-level
+ flex also centers, but an extra flex layer here ensures the
+ welcome step — which is taller than the email step — stays
+ anchored to the viewport centre rather than drifting down. */
+ display: flex;
+ align-items: center;
}
.entrance-inner {
- max-width: 560px;
+ max-width: 620px;
+ width: 100%;
}
/* ───── Steps ───── */
@@ -162,15 +170,47 @@
.welcome-body {
font-family: "Newsreader", Georgia, "Times New Roman", serif;
font-weight: 400;
- font-size: 18px;
+ font-size: 20px;
line-height: 1.55;
color: var(--ink);
- max-width: 540px;
+ max-width: 620px;
margin: 0 0 20px 0;
text-wrap: pretty;
}
.welcome-body em { font-style: italic; font-weight: 700; }
+ /* Two-line definition block: bold-italic term + short definition. */
+ .welcome-define {
+ max-width: 620px;
+ margin: 0 0 18px 0;
+ }
+ .welcome-term {
+ font-family: "Newsreader", Georgia, "Times New Roman", serif;
+ font-weight: 500;
+ font-size: 22px;
+ line-height: 1.2;
+ color: var(--ink);
+ margin: 0 0 2px 0;
+ }
+ .welcome-term em {
+ font-style: italic;
+ font-weight: 700;
+ }
+ .welcome-def {
+ font-family: "Newsreader", Georgia, "Times New Roman", serif;
+ font-weight: 400;
+ font-size: 19px;
+ line-height: 1.5;
+ color: var(--ink-soft);
+ margin: 0;
+ text-wrap: pretty;
+ }
+ .welcome-def em {
+ font-style: italic;
+ font-weight: 700;
+ color: var(--ink);
+ }
+
.welcome-cta {
all: unset;
display: inline-flex;
@@ -246,7 +286,7 @@
.tagline { font-size: 26px; margin-bottom: 32px; }
.currents { opacity: 0.5; }
.welcome-title { font-size: 38px; }
- .welcome-body { font-size: 16.5px; }
+ .welcome-body { font-size: 18px; }
.welcome-logo { display: none; }
}
@@ -291,16 +331,20 @@
Thank you for your
- Thank you for joining and for your interest in enabling sovereign AI
- in Denmark and Europe. Project Bifrost is a deliberate effort to
- advance it — the conviction that how we build these systems,
- and where, will shape the next decades.
-
-
- What follows is a timeline: twelve moments that explain why
- this matters now, and — at the end — a note on how
- Fenja AI addresses it.
+ This is a personal invitation because we believe your perspective
+ can make a meaningful contribution to an important mission: building
+ trusted, sovereign AI for Denmark and Europe. In this short web
+ experience, we will explain why this matters, what Fenja AI is, and
+ how you, through Project Bifrost, can help shape its future.
+