De ontwerpkeuzes achter de 2026 pagina’s, de startpagina en de contactpagina. Alles hier is opgebouwd op basis van de live lessen en tokens: als iets er op deze pagina verkeerd uitziet, is het ook op de website verkeerd.
De regels waaraan elke pagina zich houdt. Wanneer zich een nieuw geval voordoet, wordt dit binnen deze regels opgelost, en niet eromheen.
Client-First-klassennamen, Webflow-variabelen en Designer-besturingselementen. Aangepaste code alleen voor wat de Designer niet kan weergeven (:has, :checked, autofill, keyframes), opgenomen in de koptekst van de pagina en voorzien van commentaar.
Verticaal ritme wordt gerealiseerd door opvulling binnen een sectie, nooit door marges tussen secties. Binnen een sectie wordt ruimte gecreëerd door ‘flex’ of ‘grid gap’, nooit door ‘margin-bottom’. Elke tekstklasse moet zijn boven- en ondermarge op 0 zetten, anders komen de standaardmarges van Webflow voor koppen en alinea’s erdoorheen.
px alleen voor randen en schaduwen, die decoratief zijn. rem voor lettergrootte, opvulling en tussenruimtes, zodat deze meegroeien met de lettergrootte van de lezer. ch voor de leesbreedte (max-width-text is 60 ch). Letterafstand in em, zodat de tracking meeschuift met de lettergrootte.
De afmetingen worden per breekpunt in de Designer ingesteld (desktop, tablet, mobiel), nooit met `clamp()`. Wat je in een breekpunt ziet, is precies wat er wordt geleverd.
Tekstklassen hebben hun eigen lettertype, grootte en kleur. De uitlijning en breedte worden bepaald door de container: dezelfde koptekst van het type h1 wordt gecentreerd weergegeven op de startpagina (binnen section-header.is-center) en links uitgelijnd op de pagina ‘Contact/Verkoop’.
Elke regel is bijna zwart, nooit grijs; grijze regels worden als ontbrekend beschouwd. border/subtle is alleen bedoeld voor paneelranden.
Een paginaspecifieke aanpassing wordt een combo-klasse, zodat de gedeelde klasse elders ongewijzigd blijft. Geef de combo een naam die aangeeft wat hij doet (is-line, is-full, is-tight), en hernoem hem wanneer dat verandert.
Geen vastgezette fasen, scroll-snap of scrollwielstappen. Motion past alleen de opmaak aan van inhoud die normaal scrolt; native CSS-sticky is toegestaan omdat de lezer dit nog steeds zelf regelt.
Semantische tokens in de collectie ` folk 2026`. De meeste zijn aliassen voor de oude standaardcollectie, zodat elke hexadecimale waarde op één plek staat. De `ui/*`-tokens zijn uitsluitend bedoeld voor de productmock-ups en worden nooit gebruikt om de pagina op te maken.
Drie families, één schaal. De klasse moet overeenkomen met het kopniveau: `heading-style-h1` alleen voor de enige H1-kop op de pagina, `heading-style-h2` voor elke sectietitel en `h3` voor de titels van artikelen.
Inter, hoofdtekst, velden, knoppen, product-UI
Een inleidende alinea, die spaarzaam wordt gebruikt wanneer een paragraaf nog wat extra nadruk nodig heeft.
Hoofdtekst. Zwart, nooit gedempt of secundair. Combineer dit met `max-width-text (60ch)` voor alles wat langer is dan één regel.
Secundaire details: rollen onder een pseudoniem, beschrijvingen van kaarten.
Elke productafbeelding maakt uitsluitend gebruik van deze zeven stijlen, zodat alle afbeeldingen tegelijkertijd worden aangepast. De formaten zijn opgeslagen in folk 2026 als ui/type-tokens: pas een token aan om de stijl van alle afbeeldingen te wijzigen. De dikte is 400 of 500.
ui-t-display
Uxum 1,5 rem / 1,5 rem · 500
Klanten
App-balk en paginatitels in de desktop-app
ui-t-display-sm
Uxum 1,25 rem / 1,3125 rem · 500
Louise Martin
Contact- en profielnamen, titels op het telefoonscherm
ui-t-ondertitel
Inter 0,9375 rem / 1,25 rem · 500
Overzicht van relaties
Sectietitels, zoekveld, uitgebreide samenvatting
ui-t-text
Inter 0,8125 rem / 1,125 rem · 400
Na de demo is er contact opgenomen; we wachten nu op de prijsopgave.
Hoofdtekst, lijstitems, menu-items
ui-t-text-medium
Inter 0,8125 rem / 1,125 rem · 500
Acme Corp
Namen, rijdtitel, waarden, knoppen
ui-t-caption
Inter 0,75 rem / 1 rem · 400
2 dagen geleden
Secundaire regels, tijdstempels, transcripties
ui-t-caption-medium
Inter 0,75 rem / 1 rem · 500
Laatste interactie
Kolomkoppen, labels, labels van groepen in de zijbalk
Kleur
basis ui/tekst · is-gedempt ui/gedempt · is-vaag ui/plaatshouder
ui/text: de standaardinstelling
is-muted: on text, text-medium, caption, caption-medium
is-faint: alleen op tekst en bijschriften
Elementen met opmaak
ui-btn · ui-tag · ui-pill · ui-tab · ui-nav-item
Knoppen, tags, pillen, tabbladen en navigatie-items behouden hun eigen klasse, maar koppelen lettergrootte, regelafstand en lettertypefamilie aan dezelfde ui/type-tokens. Geef nooit een lettergrootte rechtstreeks op.
Uitzonderingen
zeldzaam houden
Geist Mono-cijfers (ui-num, ui-mono, ui-deal_num), initialen van de avatar in 11px, het toetsensymbool (ui-key) en de tijd in de statusbalk in lettergrootte 600.
De map ‘Product Icons’ bevat alle symbolen en merktekens die in de productafbeeldingen worden gebruikt.
Regels
16px · huidige kleur
Overal dezelfde grootte: 16px, zowel op desktop- als op telefoonschermen. Het pictogram neemt de kleur van zijn container over, dus stel de kleur in op het bovenliggende element, nooit op het pictogram zelf. Plak nooit een SVG-bestand rechtstreeks in een illustratie: voeg het pictogram eerst toe aan de map ‘Product Icons’ en voeg het daarna in.
Pictogram / …
49 interface-symbolen
Pictogram / Chevronsymbool naar links
Pictogram / Chevronsymbool naar rechts
Pictogram / Pijl naar beneden
Pictogram / Pijl omhoog
Pictogram / Uitvouwen
Pictogram / Zoeken
Pictogram / Bel
Pictogram / E-mail
Pictogram / Telefoon
Pictogram / Vinkje in een cirkel
Pictogram / Grafiek
Pictogram / Persoon
Pictogram / Contour van een persoon
Pictogram / Gebouw
Pictogram / Kantoor
Pictogram / Meer
Pictogram / Dollar
Pictogram / Plus
Pictogram / Bij
Pictogram / Cirkel met chevron
Pictogram / Close
Pictogram / Link
Pictogram / Glinstering
Pictogram / Klok
Pictogram / Kalender
Pictogram / Account
Pictogram / Chat
Pictogram / Opmerking
Pictogram / Toverstaf
Pictogram / Wereldbol
Pictogram / Beugels
Pictogram / Vetgedrukt
Pictogram / Cursief
Pictogram / Onderstreping
Pictogram / Bijlage
Pictogram / Zijbalk
Pictogram / Apps
Pictogram / Bout
Pictogram / Database
Pictogram / Kubus
Pictogram / Sorteren
Pictogram / Filter
Pictogram / Microfoon
Pictogram / Opnemen
Pictogram / Volume
Pictogram / Vinkje
Pictogram / Shift
Pictogram / Backspace
Pictogram / Assistent
Logo / …
10 merktekens, eigen kleuren
Logo / folk
Logo / LinkedIn
Logo / LinkedIn-cirkel
Logo / Gmail
Logo / WhatsApp
Logo / X
Logo / Google Agenda
Logo / Outlook
Logo / OpenAI
Logo / Claude
Geen pictogrammen
merklogo's en tekeningen
De logo-chips ‘Orbit’ en ‘Consolidate’ behouden hun eigen afmetingen. Draadpijlen, sterren, cursors, golfbalken en foto-avatars zijn geen pictogrammen.
Twee lagen. Een eenheidsloze numerieke schaal en zes semantische benamingen die daarop verwijzen. Klassen worden gekoppeld aan de semantische benaming, zodat de Designer de bedoeling correct interpreteert; de getallen dienen als nooduitgang. Geen T-shirtmaten, geen px-benamingen.
Elke sectie bestaat uit dezelfde vier lagen: sectienaam › padding-section › padding-global › container-large. De secties kunnen vervolgens vrij worden herschikt, zonder dat er berekeningen voor de marges nodig zijn.
container-large 90rem (1440px), zodat laptops met een breedte van 1440 tot 1728px een zijmarge behouden. container-medium 64rem, container-small 48rem. Mediabanden bevinden zich binnen de container en lopen niet tot aan de rand; alleen de hero-band loopt daarbuiten.
1,5 rem aan elke kant bij elk breekpunt.
Boven- en ondermarge van elke sectie. .is-hero stelt de bovenmarge in op 3rem, zodat de productfoto direct op de startpagina wordt weergegeven.
Titel en inleiding van een sectie. .is-tight verkleint de afstand tot de inhoud, .is-center centreert alles wat erin staat (home hero).
Gemeten in Figma: de kaarten in de 5-up-indeling en de logo-rij in de 6-up-indeling passen niet in een raster met 12 kolommen. Wat constant blijft, zijn de maat en de spatiëring van 1,5 rem, dus de rijen bestaan uit gelijke delen. Hero-secties met twee kolommen gebruiken hun eigen raster (contact-hero: 1fr 1fr, 6 rem spatiëring, gestapeld op tablet).
Desktop vanaf 992px (met 1440 en 1920 daarboven), tablet tot 991px, mobiel (liggend) tot 767px, mobiel (staand) tot 479px. Lettertype en spatiëring veranderen op tablets en mobiele apparaten.
De rijen op deze pagina hebben de standaard haarlijn van het systeem: 1px, rand/haarlijn, met opvulling in de tussenruimte.
Zo begint een sectie: een regel over de hele breedte van de container, gevolgd door de titel. Dit wordt toegepast op elke sectie op de startpagina na de hero, en op de hero van ‘Contact & Verkoop’.
Alleen de regel, wanneer de inhoud zelf de spatiëring bepaalt (CTA in de voettekst).
Lijsten worden in elke rij gescheiden door een dunne lijn bovenaan, nooit alleen door spaties.
Overal scherpe hoeken: kaarten, panelen, velden, logotegels. De enige uitzondering is de primaire CTA, een volledige ‘pill’ (straal van 999px).
Paneelstreken maken gebruik van een omtrek (alle vier de lange handschriften), zodat ze geen ruimte innemen in de opmaak en over de onderliggende elementen heen worden weergegeven. Alles wat aan één kant staat, zoals een rijlijn of een onderstreping, maakt gebruik van een rand.
Elk demoformulier is gekoppeld aan het kwalificatiescript dat voor de hele site geldt. Je kunt de opmaak naar eigen inzicht aanpassen; laat de koppeling hieronder echter precies zoals hij is.
Wrapper .signup-form_wrap, formulier met data-folk-demo="contact", één input[type=email], één .js-select met de waarden 1-2, 3-9, 10-49, 50-249, 250-999, 1000+. Het script zoekt het bedrijf op wanneer de muisaanwijzer van het e-mailveld wordt verwijderd, en stuurt vervolgens gekwalificeerde 10+ door naar /demo-calendly, gekwalificeerde 3–9 naar /book-a-folk-demo-2, en alle anderen naar de omleiding voor niet-gekwalificeerde gebruikers.
E-mailadres, teamgrootte en knop in één omlijnde rij, 0,875 rem, 3 rem hoog.
Neem contact op met de verkoopafdeling. Geen kader, geen achtergrond, tekst van 1,25 rem, een zwarte onderstreping van 1 px, 4 rem hoog. De plaatshouder is de titel (geen labels; elk veld heeft een aria-label). Plaatshouder en niet-geselecteerde keuzelijst in tekst/secundair. Geen onderstreping bij focus: de cursor dient als aanwijzing, en de keuzelijst toont alleen een lijn van 2 px wanneer er toetsenbordfocus is.
Zwarte pil, volledige breedte, 1 rem, 3,5 rem hoog.
Velden dicht bij elkaar (0,5 rem), knop en stapel notities (1 rem), blok (2 rem) tussen de twee groepen.
Een native select-element in plaats van optietegels: de tegels hadden een brugscript nodig om het kwalificatiescript te bereiken, terwijl de select-elementen dat niet nodig hebben. De paginakoptekst wordt over de blauwe automatisch invullen-functie van Chrome heen weergegeven en het lettertype van het veld blijft bij de voorgestelde waarden.
Verschijningen zijn eigenschappen, geen interacties. Elementen verschijnen en verdwijnen om beurten; er is geen vervaging en er wordt niet gewacht op de scrollpositie van de lezer nadat het element in beeld is gekomen.
Op een sectie of een raster. load speelt met de pagina (helden), toont de groep wanneer deze het scherm binnenkomt en scrolt item voor item naarmate ze verschijnen. data-reveal-at="60%" zorgt ervoor dat dit wordt uitgesteld totdat de bovenkant die hoogte bereikt.
omhoog: vervagen en 1rem omhoog. regels: een titel die regel voor regel wordt onthuld. vervagen: alleen de dekking; wordt gebruikt voor zeer smalle containers, zodat de regel samen met de bijbehorende sectie wordt weergegeven.
Eén kenmerk in plaats van drie, zoals bij de gebruikelijke patronen.
Titels boven de vouw maken gebruik van de ‘reveal’-functie die uitsluitend op CSS is gebaseerd, waardoor ze direct als ‘painted’ worden geteld (LCP). Pas nooit een JS-fade toe op een container waarin de H1-tag staat.
Met beperkte animaties, zonder JavaScript of in de Designer is alles gewoon zichtbaar. De engine is reveal.js in de voettekst van de site; de modi die alleen op de startpagina gelden, zijn ondergebracht in reveal-extra.js.
Gedeelde secties worden als Webflow-componenten opgeslagen, zodat een wijziging op één plek automatisch wordt doorgevoerd op elke pagina waar ze worden gebruikt.
Als je een van beide bewerkt, worden alle pagina’s aangepast. De ‘Base’-variant van de voettekst bevat het CTA-formulier. Geef de elementen .nav-items-wrapper, .nav-item-wrapper, .logo-context-menu en .sub-nav-item nooit een andere naam: scripts en CSS maken hier gebruik van.
De logo-muur en de rijen met getuigenissen van het bedrijf, die worden hergebruikt bij de verkoop via contact.
Het inline-demoformulier, dat al is gekoppeld aan het kwalificatiescript.
Illustraties zijn gecodeerde Webflow-elementen, geen afbeeldingen: scherp bij elke DPI, interactief en animeerbaar. Ze maken gebruik van hun eigen ui-klassen en tokens en nemen nooit de spatiëring van de pagina over. Elke geanimeerde illustratie bevat een instantie van de bijbehorende Code-component, zodat een script slechts één keer hoeft te worden bewerkt. Alle illustraties staan vermeld op /illustrations; voeg elke nieuwe illustratie daar toe.