Skip to content
KR.

Lumina Strategy Solutions (SMC-Private) Limited — Lahore

2026

Lumina Strategy Solutions

A landing page that asks who you are in the hero, then remembers — because clients and candidates need different pages.

Design · Front-end · MotionOffline

Delivered to

Pakistan — B2B outsourcing and recruitment

Lumina Strategy Solutions

Everything

One page, vanilla CSS and JS

Legal pages: Generated from a script

Techniques

2

3 constants, formulas and guards

A marketing page for an outsourced sales, support and lead-generation team, which has the unusual problem of needing to sell to two audiences at once: companies looking to outsource, and people looking for a job. The page does not choose. It asks in the hero and reconfigures, and it remembers the answer so a returning visitor is not asked twice.

Offline

A marketing page for an outsourced sales and support team. Not linked from this page; claims are made against the source.

Two audiences that want opposite things, one page, and it remembers which you are.

For businessesCareers
For businessesOutsourced teamsLead generationCase for cost
CareersOpen rolesTrainingLife in the office

choice persisted · returning visitors land where they left off

Serving a business buyer and a job applicant from one page usually means writing for neither. The page asks in the hero instead, reconfigures, and remembers the answer — so a returning visitor is never asked twice.

What was built, and for whom.

  • Lumina Strategy Solutions

    Pakistan — B2B outsourcing and recruitment

    en

    A dual-audience hero with a persisted choice, animated statistics, and a circular-masked hero video that replays on re-entry.

Each one starts with something that was broken.

  1. 01

    Two audiences, one page, and the page remembers

    The failure

    Serving a business buyer and a job applicant from one page usually means writing for neither: the copy hedges, the calls to action compete, and every visitor reads half a page aimed at somebody else. Splitting into two sites doubles the maintenance and the ad spend.

    The decision

    Put the choice in the hero and let it reconfigure the page, then persist it so returning visitors land where they left off. The decision is made once, by the visitor, and the page stops hedging.

    • constantjs/main.js
      localStorage.setItem('lumina-audience', mode) — read back on load
    • guardjs/main.js
      Wrapped in try/catch — a browser refusing storage falls back to the default view rather than throwing

    What it cost

    A persisted choice can be wrong for a shared device, and there is no obvious affordance saying “you are seeing the careers version” beyond the toggle itself still being visible. The toggle stays on screen for exactly that reason.

  2. 02

    The hero video replays when the hero comes back

    The failure

    A hero video that plays once on load has already finished for anyone who scrolls down and returns — they come back to a frozen final frame, which reads as a broken video rather than a finished one.

    The decision

    Tie playback to the hero entering the viewport rather than to page load, so the video is playing whenever it is being looked at and idle whenever it is not. Masked to a circle, it reads as a motif rather than as a player.

    • guardjs/main.js
      if (!matchMedia('(prefers-reduced-motion: reduce)').matches) startAuto()

Every animation, with what it does when asked for less.

The last column is the one worth reading. “Respects reduced motion” is easy to assert and easy to skip, so where it is not true here, it says so.

Statistics count-up

1400ms on intersection

Ease-out

Skipped — the final value renders directly.

Hero video

Plays on entry, replays on re-entry

n/a

Autoplay is not started under the preference.

Audience switch

Instant reconfiguration

Short crossfade

Unaffected — it is navigation, not decoration.

What it was built on, what is claimed, and what is not.

Everything

One page, vanilla CSS and JS

No framework, no build step for the page itself.

Legal pages

Generated from a script

The policy routes are produced by a small generator rather than hand-maintained, so they share one shell and cannot drift apart.

Persistence

Local storage

One key, holding one choice — see the technique.

Claimed — and how to check it

  • The audience choice persists across visits

    The localStorage key written and read in js/main.js.

  • Storage failure degrades to the default view

    The try/catch around the write.

  • Autoplay is gated on motion preference

    The matchMedia guard before playback starts.

  • Legal pages are generated rather than hand-maintained

    The generator script in the repository root.

Not claimed

  • No traffic, lead or application figure.
  • No claim over the company's service copy or its office photography.
  • No measurement of which audience the toggle is used by — nothing on the page reports that anywhere.

Constants and guards read from the repository's single script file.