One demo button, worded and styled one way
Signed-in visitors can book a demo again. The bar offered them one button,
"Open Assembly", and no way to reach the demo form. It now carries "Book a demo"
beside it, and the mobile sheet carries the same pair. Suppressed on the demo
page itself, where it would point at the page you are reading.
Deliberately not behind hideDemo. That flag is passed on every page and
predates the signed-in nav, so honouring it would have made the whole thing a
no-op. It still governs the signed-out bar, which is unchanged.
One secondary treatment, not two. The signed-in demo link shipped as an
outlined button next to a filled primary, while the signed-out side pairs a
plain-text "Log in" with the same filled primary — the same slot wearing two
looks depending on who was looking. Both states now render byte-identical class
strings, in the bar and in the sheet.
One name for the button. The pricing page had reached three — "Book a demo",
"Book demo" and "Contact sales" — for controls that all open the same form.
They read from a single DEMO_CTA_LABEL now, along with the nav and the
rebrand page. "Book a demo" won on the count: the frozen content data already
said it about thirty-five times, and it matches the demo page's own title.
That retired a string comparison against the button's own label, which decided
whether a pricing tier routed to the demo or to signup. Renaming the button —
exactly what this release does — would otherwise have sent the Advanced tier to
signup silently, with no error and no failing build.
Still outstanding from the previous release, and not addressed here: reading the
session cookie in the root layout leaves every page server-rendered rather than
CDN-cached. Tracked in #22.