Jun 2023 – Jun 2026
Switzerland
National Event Manager
ESN Switzerland
- Planned and delivered 70+ events across Swiss university sections.
- Led multinational teams for events with 300+ participants.
Reference
Every value below is parsed from src/styles/tokens.css at build time, so this page cannot drift from the stylesheet. Components consume semantic tokens only, never the raw ramps.
01
Layer 1. Reference these only when defining a semantic alias.
Layer 2. The only colours a component may use.
The same markup under both themes. Dark mode reassigns aliases in one block and followsprefers-color-scheme, with data-theme as an override hook.
02
One family: Archivo, self-hosted by Astro's font pipeline. Hierarchy comes from weight (400 to 900) and size, never from a second typeface. --family-display is an alias so components can say what they mean.
Fluid between 360px and 1280px viewports.
Eyebrow · uppercase, tracked
Marketing+
Lead paragraph: sets up a section in one breath, sits at --text-lg in muted ink.
Body copy at --text-md on a --measure of 64 characters. Numbers such as CHF 50,000 and 2023–2026 use tabular figures so table rows and date rails never shift.
03
04
Renders <a> with href, otherwise<button>. Three variants, three sizes.
Non-interactive label. Neutral for tools, accent for emphasis.
Three tones, an optional accent rule, and whole-card linking when givenhref.
Headline metric in the display face, tabular figures.
70+
Events delivered
Across Swiss sections
CHF 50k
Budget per event
3.3
Profitability index
Launch campaign
CEFR proficiency. Label and level text carry the meaning; the pips are decorative.
English
C2
German
B2
Polish
A2
Ukrainian
Native
Period rail plus substance. Bullets are authored in the slot.
Jun 2023 – Jun 2026
Switzerland
ESN Switzerland
Linked chips for sponsors and stakeholders. Each chip shows the brand's own unmodified mark, or the partner's name when no licence-clean asset exists. Marks stay on a light plate in both themes: recolouring a trademark is what guidelines forbid.
Both render once per page from Layout.astro: the bar at the top of this page and the closing band below are the live instances. Neither takes page-level props beyond its link list.
05
These helpers cover layout and typographic roles so components stay free of one-off wrappers. Anything with state or variants belongs in src/components/ui/ instead.
.containerdata-width="narrow | wide"..stack--stack-gap..cluster--cluster-gap..grid--grid-min and --grid-gap..prose / .lead.eyebrow / .meta.visually-hiddendata-numeric.display.section-titleSection..eyebrow[data-size="xs"]