{
 "schema": "fundus-rezept/1",
 "stand": "02.11.2026",
 "basis": {
  "stand": "02.11.2026 (Runde 5: Redaktion nach KI-Audit und Lückenrecherche)",
  "muster": [
   "vt-cross-document-mpa",
   "css-view-reveal-nativ",
   "unterstreichung-varianten",
   "button-zustaende",
   "validierung-nach-interaktion",
   "consent-banner-gestaltet",
   "fokus-stil-system",
   "sprunglinks-landmarken",
   "bewegung-pausieren-schalter",
   "fehlerseite-leerzustand",
   "dialog-modal-nativ",
   "zoom-und-textabstand-robust",
   "kontrastmodus-forced-colors",
   "firmendaten-strukturiert",
   "sofort-navigation-vorladen",
   "danke-seite-naechste-schritte",
   "rechtstext-layout",
   "favicon-teilbild-system",
   "druckansicht-print"
  ],
  "beschreibung": "Grundausstattung, die jedes Rezept ohne Nennung bekommt: native Seitenübergänge zwischen echten Seiten (vt-cross-document-mpa) und Vorladen der Hauptwege (sofort-navigation-vorladen), beides nicht bei Onepagern; native Scroll-Reveals nur wo sinnvoll, Link-Unterstreichung, vollständige Button-Zustände, Validierung erst nach Interaktion, ein gestaltetes Consent-Banner, Fehlerseite und Leerzustand, natives Dialog-Modal und eine einzige Datenquelle für Firmendaten, aus der Kontaktblock, Öffnungszeiten und JSON-LD entstehen (firmendaten-strukturiert). Dazu die Barrierefreiheit der Kategorie zugang: sichtbarer Fokus, Sprunglinks und Landmarken, Pause für Bewegung, 200 % Zoom und Textabstände ohne Abschneiden (zoom-und-textabstand-robust), Kontrastmodus (kontrastmodus-forced-colors). In Sektionen dürfen Basis-Muster genannt werden, wenn sie dort besonders wichtig sind (z. B. Formular-Validierung); in den Kategorie-Listen der Rezepte stehen sie nicht. Seit 04.11.2026 gehören auch eine Danke-Seite mit nächsten Schritten nach jedem Formular (danke-seite-naechste-schritte) und lesbare Rechtsseiten im Look der Website (rechtstext-layout) dazu. Seit 05.11.2026 gehören dazu ein vollständiger Symbolsatz aus der Marke (favicon-teilbild-system, Variante satz) und ein Druckstil für die Rechtsseiten (druckansicht-print, Variante rechtstext).",
  "regeln": [
   "Keine Schrift kommt in mehr als 3 Rezepten vor (headline, text und akzent zusammen gezählt, alternative_eigenprojekt ausgenommen).",
   "Ein Rezept darf Headline- und Textschrift nicht 1:1 mit einem anderen Rezept teilen.",
   "Pflichtfeld signatur: 1–2 Muster, die kein anderes Rezept nutzt (Basis ausgenommen); jedes Signatur-Muster steht auch in den Muster-Listen des Rezepts.",
   "cinematic-video-hero nur mit eigenem, hochwertigem Footage. Für typische KMU-Kunden (Gastro, Mode/Concept Store) ist ein Foto-Hero Standard, Video steht unter hero_variante.",
   "Kontakt/Anfrage, Online-Termin und Anfahrt sind eigene Sektionen (kontakt-anfrage-formular bzw. mehrschritt-anfrage, termin-buchung-zwei-klick, karte-zwei-klick, oeffnungszeiten-status), auch wenn ein Rezept sie nicht nennt; die Adresse steht immer auch als Text da; studio-visitenkarte-footer steht nur im Footer.",
   "Drittanbieter-Inhalte (Video, Karte, Buchung, Social Feeds) erst nach Einwilligung bzw. Klick laden.",
   "Höchstens ein Material-Effekt (Glow, Verlaufsrahmen, Raster, Textur) pro Ansicht.",
   "Automatisch bewegte Inhalte (Laufband, Wortwechsel, Autoplay) nie für wichtige Information; immer pausierbar und unter prefers-reduced-motion statisch.",
   "Barrierefreiheit gehört zur Grundausstattung (BFSG seit 28.06.2025): sichtbarer Fokus (fokus-stil-system), Sprunglinks und Landmarken, Pause für alles, was sich länger als 5 s bewegt (bewegung-pausieren-schalter), native Dialoge, 200 % Zoom und 320 px Breite ohne Abschneiden (zoom-und-textabstand-robust), Kontrastmodus prüfen (kontrastmodus-forced-colors). Rechtliches (Erklärung zur Barrierefreiheit) vom Kunden prüfen lassen.",
   "Firmendaten (Name, Adresse, Telefon, Zeiten samt Sonderzeiten, Leistungen, Profil-Links) aus einer Quelle; JSON-LD nur für sichtbare Inhalte, keine eigenen Bewertungssterne im Markup (firmendaten-strukturiert).",
   "Wer online Verträge mit Verbrauchern schließt (Shop, Kurs, Abo, Mitgliedschaft, Online-Anmeldung), braucht im Footer ohne Login „Vertrag widerrufen“ und bei Dauerverträgen „Verträge hier kündigen“ (widerruf-und-kuendigung-schaltflaeche, seit 19.06.2026) – vom Kunden prüfen lassen.",
   "Bewertungen von Google oder anderen Plattformen nur mit Echtheitshinweis direkt an den gezeigten Bewertungen (bewertungsprofil-mit-echtheitshinweis); bewertungen-verteilung nur für eigene, geprüfte Bewertungen.",
   "Pflichtangaben (Impressum, Datenschutzerklärung, Branchenpflichten aus Leitfaden 8a und den Rezept-regeln) als Seiten, Links oder markierte Platzhalter; keine Rechtstexte erfinden, alles vom Kunden prüfen lassen. Chatbots und KI-Funktionen direkt beim Start kennzeichnen (Art. 50 KI-VO), keine pauschalen Umweltaussagen ohne Nachweis.",
   "consent-banner-gestaltet nur, wenn beim Laden einwilligungspflichtige Dienste laufen. Laden alle Dritten erst per 2-Klick, genügt ein Einstellungs-Dialog im Footer („Datenschutz-Einstellungen“) zum Widerrufen.",
   "Starter- und Beispielseiten ohne echte Daten: Bewertungen, Preise, Allergene und Kennzahlen als markierte Platzhalter, nie erfundene Kundenstimmen als echt.",
   "Werbung mit Rate, Zins, „0 %“, Ratenzahlung, Leasing oder „später bezahlen“ braucht ab 20.11.2026 finanzierung-pflichtangaben: effektiver Jahreszins mindestens so groß wie die Rate, Warnhinweis „Achtung! Kreditaufnahme kostet Geld.“ direkt dabei (vom Kunden prüfen lassen).",
   "Verkauf von Waren an Verbraucher braucht seit 27.09.2026 den EU-Hinweis zur gesetzlichen Gewährleistung (eu-gewaehrleistungshinweis), mindestens als Footer-Link, sicherer an Produktseite und Checkout; nur die amtliche Vorlage der EU-Kommission.",
   "Lange deutsche Wörter trennen: hyphens: auto mit lang=\"de\" für Fließtext und schmale Spalten, in Headlines weiche Trennstellen (&shy;) an den Wortfugen, nie bei Marken, Telefonnummern, Preisen und Codes (silbentrennung-komposita).",
   "Zahlen, Daten und Telefonnummern deutsch und einheitlich setzen: geschütztes Leerzeichen vor € und %, Bis-Strich ohne Leerzeichen für Spannen (9–13 Uhr), Telefon gegliedert und als tel:-Link mit +49, eine Satzregel je Seite (zahlen-datum-telefon-satz).",
   "Impressum, Datenschutz, AGB und Erklärung zur Barrierefreiheit als lesbare Seiten im Look der Website (rechtstext-layout): Impressum als kurzes Blatt ohne Inhaltsverzeichnis (Variante impressum), lange Texte mit Inhaltsverzeichnis, Ankern und Stand-Datum (Variante datenschutz); Sprünge aus dem Inhaltsverzeichnis landen sichtbar unter dem Kopf (anker-landung-markieren, Variante inhalt). Dazu ein Druckstil für dieselben Seiten (druckansicht-print, Variante rechtstext): A4 mit Kopf, Fuß, Stand und Seitenzahl, Linkadressen am Ende. Die Texte liefert der Kunde, vom Kunden prüfen lassen.",
   "Jedes Formular, das eine Anfrage, Buchung, Anmeldung oder Bewerbung abschickt, endet auf einer Danke-Seite mit den nächsten Schritten (danke-seite-naechste-schritte): Variante termin nach Buchungen, anfrage nach Angebots- und Kontaktanfragen, bestaetigen bei Newsletter und Erinnerungen mit Double-Opt-in; keine Werbung davor, keine Zeitzusage, die der Betrieb nicht hält.",
   "Formularfelder bekommen passende autocomplete-Werte, inputmode, sichtbare Beschriftung und Fehlertexte, die sagen, was zu tun ist (formular-eingabehilfen-autofill, Spickzettel in der Variante uebersicht).",
   "Jede Seite bekommt aus der Marke einen vollständigen Symbolsatz (favicon-teilbild-system, Variante satz): favicon.ico, icon.svg mit Dunkelmodus, apple-touch-icon, 192 und 512 px, maskierbares Icon und Manifest. Seiten, die geteilt werden (Veranstaltung, Artikel, Stelle, Objekt), bekommen zusätzlich ein Teilbild 1200 × 630 aus Rubrik und Titel (Variante teilbild), wo das Rezept es nennt.",
   "Jede Startseite hat einen Moment, an den man sich erinnert (rezept.moment: was, wo, gewicht, muster, variante): groß bzw. interaktiv, im ersten oder zweiten Bildschirm, abgeleitet aus Signatur und Branche. Auch ruhige Rezepte: dort langsam und groß, nie unsichtbar (Jury-Lehre 05.11.2026).",
   "Display-Schriften mit Haarlinien (Didone wie Bodoni Moda und Imbue, Display-Schnitte wie Libre Caslon Display, Fraunces und Newsreader mit hoher opsz und wght unter 400) zerfallen auf dem Bildschirm unter etwa 40 px. Display-Werte nur für die H1 ab etwa 2.75rem; H2 mit opsz an die Größe gekoppelt oder fest 24 bis 36 und höherem Gewicht (ab wght 500), H3 und kleiner in der Textschrift.",
   "Bilder: wenige, aber groß. Lieber ein Bild randlos oder über 7 bis 12 Spalten als drei mittelgroße; mittelgroße Fotos und dünne Strichzeichnungen wirken wie Vorlage. Zeichnungen kräftig und groß als eigene Bildwelt (Strich ab 2,5 px, Flächen in den Rezeptfarben), nie als dünne Icons (bildsprache.gewicht)."
  ],
  "herkunft": "Art-Director-Prüfung der 18 Rezepte, Runde 3 (Basis-Block, Signatur-Pflichtfeld, Schriftverteilung, 2-Klick-Muster). Runde 5 (02.11.2026): zugang-Muster, Firmendaten und Vorladen in die Grundausstattung, Regeln zu Kontakt, Verträgen, Bewertungen und Pflichtangaben (KI-Audit Befund 3, Lückenrecherche N1–N3, N6, K5). Runde 4 (04.11.2026): danke-seite-naechste-schritte und rechtstext-layout in die Grundausstattung, Grundregeln zu Silbentrennung, Zahlensatz, Rechtsseiten, Danke-Seite und Eingabehilfen. Runde 3 (05.11.2026): favicon-teilbild-system (satz) und druckansicht-print (rechtstext) in die Grundausstattung. Runde 3b (05.11.2026, Jury-Lehren): Feld moment je Rezept, Seitenwechsel mindestens 350–400 ms sichtbar, minimales Intro ruhiger Rezepte, Haarlinien-Regel, Bilder wenige und groß. Runde 3b (05.11.2026, Jury-Lehren): Feld moment je Rezept, Seitenwechsel mindestens 350–400 ms sichtbar, minimales Intro ruhiger Rezepte, Haarlinien-Regel, Bilder wenige und groß.",
  "bewegung_basis": {
   "stand": "05.11.2026",
   "zweck": "Bewegungs-Partitur: legt je Rezept fest, was sich beim Laden, Scrollen, Zeigen und beim Seitenwechsel bewegt, in welcher Reihenfolge, wie lange und mit welcher Kurve. Die gemeinsamen Regeln stehen hier einmal; rezepte[].bewegung nennt nur, was abweicht oder konkret ist. Die älteren Felder easing, dauer_ms, regel und beobachtet bleiben gültig und gehen vor, wo sie strenger sind.",
   "felder": {
    "kurve": "haupt = die eine Hauptkurve (--ease in tokens.css, aus dem Animationsstil); ein/aus = Eintritt und Austritt (--ease-ein, --ease-aus); ui = Öffnen/Schließen für Menüs, Formulare, Dialoge (--ui-ease-ein/--ui-ease-aus), wo das Rezept einen UI-Stil hat; gilt_fuer sagt, wofür die Hauptkurve gilt; ausnahme nennt die eine erlaubte Sonderkurve, falls das Rezept eine nennt.",
    "dauern": "In ms. klein = Hover, Farbe, Druck, Fokus; mittel = UI öffnen (Menü, Akkordeon, Reiter, Dialog); gross = Auftritt von Hero, Bild-Reveal, Signatur; seitenwechsel = Standard-Seitenwechsel gesamt; schliessen = mittel beim Schließen (mittel × aus_faktor, immer kürzer). tokens nennt die Variable aus tokens.css mit genau diesem Wert, sonst „eigener Wert“.",
    "laden": "Startseite beim ersten Aufruf im Tab: schritte in Reihenfolge, je teil, ab_ms (Liste = Zeilen der H1), dauer_ms (0 = steht), art. ende_ms = letzte Bewegung steht (ohne einmaliges Zurückskalieren des Hero-Bilds). wiederholt = jeder weitere Aufruf und Seiten ohne Intro.",
    "scroll": "reveals: höchstens drei Arten je Seite (art, muster, wo, dauer_ms, versatz_ms, weg, ausloeser). fortschritt: höchstens eine Fortschrittsanzeige, zählt nicht als Reveal. nie: zusätzlich zu basis.scroll.nie.",
    "hover": "Ein Satz für Link, Knopf, Karte und Bild mit derselben Kurve und denselben Dauern (ein_ms, aus_ms).",
    "signatur": "Die eine Signatur-Bewegung je Ansicht: muster, variante, bewegung, ausloeser, wiederholung.",
    "seitenwechsel": "muster (Kategorie seitenuebergaenge) mit variante bzw. spielart, zusatz (weitere Muster), richtung (Typen), geteilt (view-transition-name), dauer_ms; onepager = was ohne Seitenwechsel gilt.",
    "budget": "Rezept-eigene Grenzen zusätzlich zu basis.budget.",
    "reduziert": "Was bei prefers-reduced-motion und beim Schalter „Bewegung reduzieren“ bleibt.",
    "verboten": "Was für diese Branche zu viel wäre, zusätzlich zu basis.verboten und nicht_verwenden.",
    "partitur_herkunft": "Woher die Werte stammen: Starter-Seite, Demo (meta.json bau.werte), Rezept-Felder oder eigene Festlegung."
   },
   "kurve": [
    "Eine Hauptkurve und eine Dauer-Skala je Seite (Leitfaden B2). Eine zweite Kurve nur als Paar für das Schließen (B5) und, wo das Rezept einen UI-Stil hat, das UI-Paar.",
    "Kurven aus Demos werden auf die Tokens der Seite umgestellt; die Werte in meta.json sind Vorführwerte ihrer Welt.",
    "Scrollgekoppelte Bewegung läuft linear (der Scroll ist die Zeit), sie braucht keine eigene Kurve.",
    "Kein ease und kein ease-in-out mit 0,3 s für sichtbare Bewegung (B1)."
   ],
   "dauern": {
    "klein_ms": "80 bis 250",
    "mittel_ms": "200 bis 525",
    "gross_ms": "400 bis 1600",
    "seitenwechsel_ms": "400 bis 1500; sichtbare Veränderung mindestens 350 bis 400",
    "aus_faktor": "0,6 bis 0,75 laut Stil; Schließen nie langsamer als Öffnen",
    "rueckmeldung_max_ms": 500,
    "regeln": [
     "Rückmeldung auf eine Eingabe (Hover, Druck, Umschalten) nie über 500 ms (Leitfaden 6).",
     "Schließen = Öffnen × aus_faktor mit der Austrittskurve (B5).",
     "Opazität und Farbe laufen linear oder mit der Hauptkurve, nie mit Überschwingen.",
     "Alle Dauern als Variablen aus tokens.css, keine Zahl im CSS der Seite."
    ]
   },
   "laden": {
    "bedienbar_ab_ms": 0,
    "erster_einsatz_max_ms": 120,
    "letzter_einsatz_max_ms": 700,
    "ende_max_ms": {
     "kurze_stile": 1200,
     "lange_stile": 1800,
     "bild_ausklang": 2200
    },
    "kurze_stile": [
     "token-tech-praezise",
     "token-swiss-knackig",
     "token-toggle-asymmetrisch",
     "token-studio-signatur",
     "token-federnd-verspielt",
     "token-brutal-hart"
    ],
    "lange_stile": [
     "token-editorial-langsam",
     "token-luxus-weich",
     "token-kinetisch-inout"
    ],
    "regeln": [
     "Kopf, Navigation, Telefon und Haupthandlung stehen ab dem ersten Bild und sind bedienbar: keine Einblendung des Kopfs, kein pointer-events: none, kein inert, kein Deckel über Links.",
     "Reihenfolge: Kopf (steht) → H1 Zeile für Zeile → Hero-Bild → Satz und Handlung → alles Weitere erst beim Scrollen.",
     "Erster Einsatz spätestens 120 ms, letzter Einsatz spätestens 700 ms. ende_ms höchstens 1.200 ms bei kurzen Stilen und 1.800 ms bei langen Stilen; ein einmaliges Zurückskalieren des Hero-Bilds (nur scale) darf bis 2.200 ms ausklingen, weil nichts darauf wartet.",
     "Das LCP-Bild ist ab dem ersten Bild gemalt (fetchpriority high, nicht lazy) und wird nie über Deckkraft eingeblendet. Masken (clip-path) öffnen ein schon geladenes Bild; kein Preloader, kein Zähler (B7).",
     "Voll nur beim ersten Aufruf im Tab (sessionStorage), danach kurz: nur die H1-Zeilen mit halbem Versatz. Kommt man per Seitenwechsel, übernimmt der Seitenwechsel, kein zweites Intro. Vorgerenderte Seiten starten erst bei pagereveal.",
     "Klick, Taste, Rad oder Wischen beendet einen laufenden Auftritt sofort im Endzustand.",
     "Unterseiten: nur die H1 des Seitenkopfs (wie wiederholt) und das Kopfbild, wenn kein geteiltes Element es bringt.",
     "Ruhige Rezepte ohne Intro (Apotheke, Pflege, Bestattung, Tierarzt, IT, Hausverwaltung): die Seite ist ab 0 ms bedienbar und steht; nur der Moment des Rezepts (rezept.moment) läuft einmal je Sitzung, langsam und weich, innerhalb von ende_max_ms. Danach steht alles."
    ]
   },
   "scroll": {
    "reveal_arten_max": 3,
    "regeln": [
     "Reveals nur in benannten Sektionen: Hero, Bilder, Kapitelanfänge, die Signatur (B3). Eine Reveal-Art ist eine Art des Erscheinens (Bild-Maske, Zeilen-Maske, Deckkraft mit Weg); dieselbe Art an mehreren Stellen zählt einmal.",
     "Bilder per clip-path statt Opacity-Fade (B4). Text höchstens 8 px Weg plus Deckkraft oder Zeilen aus Masken.",
     "Einmalig ausgelöst: einmal je Seitenaufruf, nie beim Zurückscrollen erneut. Scrollgekoppelt: hinter @supports (animation-timeline: view()), ohne Unterstützung steht der Endzustand.",
     "Versatz für Geschwister höchstens fünfmal (min(sibling-index() - 1, 5) × Versatz).",
     "Fortschrittsanzeigen (Linie wächst, Lesefortschritt, Kapitelspur) zählen nicht als Reveal; höchstens eine je Seite.",
     "Spätestens bei 85 % Viewporthöhe ist alles ganz aufgedeckt, nichts Lesbares bleibt halb verdeckt stehen."
    ],
    "nie": [
     "Fließtext",
     "Formulare und Felder",
     "Preise, Tarife, Kosten",
     "Öffnungszeiten, Telefon, Adresse",
     "Tabellen und Datenblätter",
     "Rechtstexte und Pflichtangaben",
     "Kopf und Navigation",
     "Fehlermeldungen, Hinweise, Notdienst"
    ]
   },
   "hover": {
    "regeln": [
     "Nur mit Zeiger: @media (hover: hover) and (pointer: fine). :focus-visible zeigt dasselbe ohne Verzögerung.",
     "Ein Satz: Link, Knopf, Karte und Bild nutzen dieselbe Kurve und dieselben zwei Dauern (ein_ms, aus_ms); nur Farbe darf kürzer sein (dauern.klein).",
     "Verlassen schneller als Hineingehen, mit der Austrittskurve.",
     "Effekte erst bei Interaktion, nie im Ruhezustand (C9): kein Puls, kein Glanz, kein Lichtlauf.",
     "Bilder in Karten höchstens scale 1.06 bis 1.12 im stehenden Rahmen (bild-zoom-in-maske); die Karte selbst skaliert nie.",
     "Ein langsamer Bild-Zoom im stehenden Rahmen darf als Ausklang länger laufen (bis 1.200 ms, bei langen Stilen bis 2.200 ms), wenn ein schnelles Zeichen derselben Karte (Pfeil, Linie, Farbe) innerhalb von ein_ms antwortet.",
     "Touch: kein Inhalt nur bei Hover; :active zeigt den Druck (scale .97 bis .98 oder höchstens 4 px Weg)."
    ]
   },
   "signatur": {
    "regeln": [
     "Höchstens eine Signatur-Bewegung je Ansicht. Liegen zwei Signatur-Stellen zugleich im Bild, bewegt sich nur die erste.",
     "Läuft sie von selbst, dann einmal je Seitenaufruf und höchstens 5 s; länger nur mit Pause-Knopf (bewegung-pausieren-schalter).",
     "Auf Hover, Klick oder Ziehen beliebig oft, aber nie als Schleife ohne Eingabe.",
     "Steht die Signatur selbst still (Typo, Raster, Form), ist sie keine Bewegung; dann trägt die unter signatur.bewegung genannte Stelle den einen bewegten Moment."
    ]
   },
   "seitenwechsel": {
    "regeln": [
     "Nur bei mehreren Seiten: vt-cross-document-mpa mit @view-transition { navigation: auto } als <style> direkt im Kopf, Typen aus pageswap/pagereveal im blockierenden Kopfskript.",
     "Kopf (view-transition-name: kopf) und die mobile Leiste bleiben stehen; geteilte Elemente nur während des Wechsels benennen.",
     "Nie zwei Textebenen übereinander: Die neue Seite deckt, oder die alte ist weg, bevor neuer Text erscheint.",
     "Gesamtdauer höchstens 1.500 ms; die neue Seite ist bedienbar, sobald sie da ist. Abgebrochene Übergänge abfangen (ready/finished mit catch, skipTransition bei schnellem Klicken).",
     "Zurück (Browser-Zurück oder eine Ebene höher) läuft gespiegelt.",
     "Ohne Unterstützung normale Navigation, nichts fehlt. Vorladen nach sofort-navigation-vorladen.",
     "Mindestens 350–400 ms sichtbare Veränderung mit gemeinsamem Element und Richtung; ruhig heißt weich, nicht kurz. Kopf und Leiste, die nur stehen bleiben, zählen nicht als gemeinsames Element. Ruhige Rezepte nehmen eine weiche Kurve ohne Überschwingen (in-out, z. B. --ease-seite), nie eine Feder. Steile Out-Kurven sind nach einem Fünftel der Zeit fast fertig: die Dauer so wählen, dass mindestens drei Einzelbilder im Abstand von 100 ms sichtbare Bewegung zeigen. Partituren unter 400 ms gibt es nicht mehr (Jury-Lehre 05.11.2026)."
    ],
    "onepager": "Kein Seitenwechsel. Sprunglinks scrollen mit scroll-behavior: smooth nur bei prefers-reduced-motion: no-preference, keine Smooth-Scroll-Bibliothek."
   },
   "budget": [
    "Eine Signatur-Bewegung je Ansicht.",
    "Höchstens drei Reveal-Arten je Seite, nur in benannten Sektionen.",
    "Höchstens eine Fortschrittsanzeige je Seite.",
    "Kein Parallax auf Text. Parallax auf Bildern höchstens 10 % Weg.",
    "Keine Bewegung über 5 s ohne Pause-Knopf, nichts in Schleife ohne Eingabe.",
    "Höchstens zwei Dinge bewegen sich zugleich im Blickfeld (die Zeilen einer Überschrift zählen als eins).",
    "Rückmeldung auf Eingaben nie über 500 ms.",
    "Überschwingen nur auf kleinen Elementen (B6).",
    "Großflächige Hell-Dunkel-Wechsel höchstens dreimal pro Sekunde (WCAG 2.3.1)."
   ],
   "reduziert": {
    "max_ms": 150,
    "regeln": [
     "Es bleiben nur Überblendungen bis 150 ms (opacity, linear) und Farbwechsel ohne Weg.",
     "Reveals entfallen: Masken stehen offen, Bilder sind ganz da, Zeilen stehen.",
     "Seitenwechsel nur als Überblendung von root (alt 100 ms, neu 150 ms), keine geteilten Elemente, kein Farbpanel.",
     "Scrollgekoppelte Strecken ohne Pin im Endzustand; Autoplay aus, Laufendes pausiert.",
     "Zustände (offen, gewählt, Fehler, gesendet) bleiben sichtbar, nur ohne Weg.",
     "Gilt für prefers-reduced-motion: reduce und den Schalter „Bewegung reduzieren“ im Fuß (bewegung-pausieren-schalter, gespeichert)."
    ]
   },
   "verboten": [
    "ease 0.3s für sichtbare Bewegung (B1)",
    "Fade-up für alles (B3)",
    "Preloader und Prozent-Zähler (B7)",
    "Smooth-Scroll-Bibliothek, wenn das Rezept sie nicht nennt (B8)",
    "eigener Cursor als Standard (B9)",
    "Puls, Glanz oder Lichtlauf im Ruhezustand",
    "Bewegung, die Klicks blockiert oder auf sich warten lässt"
   ],
   "belege": [
    "lab/fundus/messungen.json (31.10.2026): Eine Kurve dominiert je Seite, z. B. landonorris.com cubic-bezier(0.65, 0.05, 0, 1) 118-mal bei 0,75 s, obys.agency cubic-bezier(0.16, 1, 0.3, 1) 80-mal, vercel.com cubic-bezier(0.4, 0, 0.2, 1) 139-mal bei 0,1 bis 0,15 s.",
    "Leitfaden Abschnitt 5 (B1 bis B9) und Abschnitt 6 (Dauer-Faustregeln).",
    "Recherche Runde 4 (04.11.2026), One-Shot-Generator, P3 Bewegungs-Partitur.",
    "Starter-Seiten lab/fundus/starter/<id>/ (style.css, tokens.css, LIESMICH.md) als gelungenste Umsetzungen."
   ],
   "herkunft": "Regeln aus Leitfaden und Recherche P3. Die Grenzwerte (erster und letzter Einsatz, ende_max_ms, zwei gleichzeitige Bewegungen, 10 % Parallax, 85 % Aufdeckung) sind eigene Festlegung, abgeleitet aus den zehn Starter-Seiten (04.11.2026)."
  },
  "varianten": {
   "favicon-teilbild-system": "satz",
   "druckansicht-print": "rechtstext"
  }
 },
 "id": "personaldienstleister-zeitarbeit",
 "name": "Personaldienstleister: direkt und fair",
 "branche": "Personaldienstleister / Zeitarbeit (Arbeitnehmerüberlassung) / Personalvermittlung / Personalberatung für Fach- und Hilfskräfte in Industrie, Logistik, Handwerk, Pflege und Büro",
 "stimmung": [
  "direkt",
  "fair",
  "zupackend",
  "klar"
 ],
 "stimmung_tags": [
  "präzise",
  "warm"
 ],
 "kurz": "Zwei Gruppen kommen auf die Seite: Menschen, die Arbeit suchen („Gibt es was in meiner Nähe, in meiner Schicht, was verdiene ich?“), und Betriebe, die Personal brauchen („Wie schnell, welche Qualifikation, was kostet das?“). Deshalb ist der Hero eine Weiche mit zwei gleich großen Wegen. Für Bewerbende folgen Jobs in der Nähe mit Filter nach Schicht, Arbeitszeit und Führerschein, Stellenseiten mit Stundenlohn als Spanne, Tarif und Einsatzort, eine Kurzbewerbung ohne Anschreiben und ehrliche Antworten zu Zeitarbeit (Equal Pay, Übernahme, Probezeit). Für Betriebe Überlassung und Vermittlung mit Ablauf und Anfrage. Special Gothic kräftig für Überschriften, TikTok Sans für Text. Hellgrau, Arbeitsblau und Werkblau, Grün nur für „Jetzt bewerben“. Signatur: der Schichtfilter. Die Filter sind eine verbundene Knopfgruppe (Früh, Spät, Nacht, Teilzeit, Führerschein), die beim Drücken breiter und eckiger wird und gewählt rund bleibt; die Trefferliste ordnet sich sichtbar neu (button-gruppe-expressiv, toggle, mit flip-zustandswechsel).",
 "referenzen": [
  {
   "seite": "KOFA (Kompetenzzentrum Fachkräftesicherung) – Checkliste Zeitarbeitsunternehmen",
   "url": "https://www.kofa.de/media/Publikationen/Checklisten/Zeitarbeitsunternehmen.pdf",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-05",
   "quelle": "https://www.kofa.de/media/Publikationen/Checklisten/Zeitarbeitsunternehmen.pdf",
   "beobachtung": "Live geprüft 05.11.2026 (WebFetch, nur Text; CSS und Kurven nicht gemessen): Checkliste für Betriebe zur Auswahl eines Zeitarbeitsunternehmens (ohne Datum): Erlaubnis der Bundesagentur für Arbeit zur Arbeitnehmerüberlassung „auf der Homepage prüfen“, Tarifvertrag als Grundlage, nachvollziehbare Verrechnungssätze, faire Löhne und Arbeitsbedingungen, Arbeits- und Gesundheitsschutz, Qualifizierung, Haftpflicht. Beleg dafür, dass Erlaubnis und Tarif sichtbar auf die Seite gehören."
  },
  {
   "seite": "Randstad – Personaldienstleistung im Überblick",
   "url": "https://www.randstad.de/hr-portal/personaldienstleistung/",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-05",
   "quelle": "https://www.randstad.de/hr-portal/personaldienstleistung/",
   "beobachtung": "Live geprüft 05.11.2026 (WebFetch, nur Text; CSS und Kurven nicht gemessen): Erklärseite (ohne Datum, Bildpfad 2024): Zeitarbeit als Arbeitnehmerüberlassung mit fester Anstellung beim Personaldienstleister, Gehalt, Urlaub, Lohnfortzahlung; Personalvermittlung als Direkteinstellung; Handlungen getrennt für Unternehmen (Personalanfrage) und Bewerbende (Jobbörse). Equal Pay und Höchstüberlassungsdauer fehlen dort; das Rezept verlangt sie in den Fragen der Bewerbenden."
  }
 ],
 "schrift": {
  "paarung_basis": "",
  "headline": "special-gothic",
  "text": "tiktok-sans",
  "akzent": "",
  "groessen": "h1 Special Gothic clamp(2.5rem, 1.2rem + 5.4vw, 5.5rem), wdth 85, wght 700, Laufweite -0.02em, Zeilenhöhe 0.92; Kapitel-H2 clamp(1.75rem, 1.2rem + 2.2vw, 3rem). H3, Stellentitel und Gebrauchsüberschriften TikTok Sans 650, 1.25rem. Fließtext TikTok Sans 1.0625rem (17 px), wght 400, Zeilenhöhe 1.55, höchstens 64ch. Stundenlöhne, Zuschläge, Schichten und Postleitzahlen TikTok Sans 600 mit Tabellenziffern. Filterknöpfe und Knöpfe TikTok Sans 600, 1rem.",
  "techniken": [
   "fluide-typo-clamp-cqi",
   "tabellenziffern",
   "silbentrennung-komposita"
  ],
  "alternative_eigenprojekt": "",
  "abweichung": "Eigene Festlegung. special-gothic steht damit in drei Rezepten (handwerk mit Atkinson, umzug mit Schibsted), tiktok-sans in drei (kreativ, freizeit). Unterschied zu arbeitgeber-karriere (Funnel Display und Funnel Sans, Collage): hier zwei Zielgruppen, Filter statt Kampagne."
 },
 "farbe": {
  "prinzip": "Klar wie eine Stellentafel: Hellgrau als Grund, Arbeitsblau hell als Fläche für Filter, Löhne und Fragen, Werkblau für die Betriebe-Seite, Kapitel und Fuß. Grün nur für „Jetzt bewerben“ und „Personal anfragen“. Keine Warnwesten-Orange-Flächen, keine Stock-Helme.",
  "beispiel": [
   "#F4F4F1 Grund Hellgrau",
   "#16181C Text (16,1 : 1 auf Grund)",
   "#DCE5F0 Fläche Arbeitsblau: Filter, Löhne, Fragen (Text 14,0 : 1)",
   "#13233A Dunkel Werkblau: Betriebe-Seite, Kapitel, Footer (Weiß darauf 15,8 : 1, Hellgrau 14,3 : 1)",
   "#1B7340 Signal Grün: Jetzt bewerben, Personal anfragen (Weiß darauf 5,9 : 1; als Schrift auf Grund 5,3 : 1)",
   "#575B62 Leise: Einsatzort, Stand-Daten (6,2 : 1 auf Grund, 5,4 : 1 auf Arbeitsblau)"
  ]
 },
 "animationsstil": "token-swiss-knackig",
 "animationsstil_hinweis": "Knapp und gerade: H1 einmal in der Zeilenmaske, Filterknöpfe ändern Breite und Ecken in 250 ms, die Trefferliste ordnet sich per FLIP in 250 ms (nur Position, ausgeblendete Karten ohne Einblendung). Die Kurven der Demo button-gruppe-expressiv werden auf die Rezeptkurve umgestellt.",
 "bewegung": {
  "easing": "cubic-bezier(0.25, 1, 0.5, 1) (token-swiss-knackig); schließen cubic-bezier(0.5, 0, 0.75, 0)",
  "beobachtet": "nicht gemessen: Referenzen nur inhaltlich per WebFetch geprüft",
  "dauer_ms": "200 (Hover, Farbe), 350 (Filter, Reiter, Dialog öffnen), 240 (schließen), 250 (Filterknopf ändert Form, Trefferliste ordnet sich neu), 500 (H1-Zeilen einmal), 600 (Seitenwechsel, Stellentitel wird H1)",
  "regel": "Stundenlöhne, Schichten, Einsatzorte und Telefon stehen sofort. Die H1 steigt einmal aus der Maske. Filterknöpfe werden beim Drücken breiter und eckiger und gewählt rund; die Trefferliste ordnet sich sichtbar neu, die Trefferzahl wird angesagt. Beim Seitenwechsel wird der Stellentitel der Karte zur H1 der Stellenseite. Bei prefers-reduced-motion wechseln Filter nur die Farbe, die Liste springt ohne Weg.",
  "herkunft": "Kurve und Skala aus token-swiss-knackig (200/350/500/700, aus-faktor 0,7); Filter nach button-gruppe-expressiv (Variante toggle: Druck 150, Form 220, FLIP 250 ms; hier 250 ms mit Rezeptkurve); Umordnen nach flip-zustandswechsel (Variante nativ).",
  "kurve": {
   "haupt": "cubic-bezier(0.25, 1, 0.5, 1)",
   "token": "--ease",
   "ein": "cubic-bezier(0.25, 1, 0.5, 1)",
   "aus": "cubic-bezier(0.5, 0, 0.75, 0)",
   "stil": "token-swiss-knackig",
   "gilt_fuer": "H1, Filterknöpfe, Trefferliste, Akkordeon, Seitenwechsel",
   "quelle": "bewegung.easing und tokens.css (token-swiss-knackig)"
  },
  "dauern": {
   "klein": 200,
   "mittel": 350,
   "gross": 500,
   "seitenwechsel": 600,
   "schliessen": 240,
   "aus_faktor": 0.7,
   "tokens": {
    "klein": "--dauer-rezept-1",
    "mittel": "--dauer-rezept-4",
    "gross": "--dauer-rezept-5",
    "seitenwechsel": "--dauer-rezept-6",
    "schliessen": "--dauer-rezept-2"
   },
   "hinweis": "Rezept: 200 Hover, 350 Filter und Reiter, 240 schließen, 250 Filterform und Umordnen, 500 H1 einmal, 600 Seitenwechsel."
  },
  "laden": {
   "schritte": [
    {
     "teil": "Kopf mit „Jetzt bewerben“ und Telefon",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht"
    },
    {
     "teil": "Foto mit Weiche (zwei Wege)",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht (LCP)"
    },
    {
     "teil": "H1 (zwei Zeilen)",
     "ab_ms": [
      0,
      40
     ],
     "dauer_ms": 500,
     "art": "Zeilenmaske translateY 100 % → 0, --ease"
    }
   ],
   "ende_ms": 540,
   "wiederholt": "H1 steht (sessionStorage)."
  },
  "scroll": {
   "reveals": [],
   "fortschritt": "keine",
   "nie": [
    "Stundenlöhne, Tarif und Zuschläge",
    "Trefferliste und Filter",
    "Erlaubnis und Kontakt"
   ]
  },
  "hover": {
   "link": "Unterstreichung läuft durch (unterstreichung-varianten durchlauf)",
   "knopf": "tiefen-taste-3d stapel: Taste sinkt 3 px; pfeil-icon-button linie: Pfeil 8 px",
   "karte": "karte-ganzflaechig-klickbar raster: Stellentitel unterstrichen, Pfeil 8 px",
   "bild": "kein Zoom",
   "ein_ms": 350,
   "aus_ms": 240,
   "kurve": "--ease-ein / --ease-aus"
  },
  "signatur": {
   "muster": "button-gruppe-expressiv",
   "variante": "toggle",
   "bewegung": "Der Schichtfilter: eine verbundene Knopfgruppe mit 2 px Fugen (Früh, Spät, Nacht, Teilzeit, Führerschein; höchstens fünf je Gruppe). Druck macht den Knopf in 150 ms breiter und eckiger, gewählt wird er rund mit Häkchen; die Trefferliste ordnet sich per FLIP in 250 ms neu, ausgeblendete Stellen verschwinden ohne Einblendung, die Trefferzahl wird angesagt. Leerzustand mit Job-Alarm statt leerer Fläche.",
   "ausloeser": "Druck und Auswahl",
   "dauer_ms": 250,
   "wiederholung": "je Auswahl"
  },
  "seitenwechsel": {
   "muster": "vt-cross-document-mpa",
   "variante": "typen",
   "zusatz": [
    {
     "muster": "vt-shared-element-morph",
     "variante": null
    }
   ],
   "richtung": "vorwaerts (Liste → Stelle → nächste Stelle): der Stellentitel der Karte wird zur H1, der Inhalt rückt 8 px nach; zurueck: die H1 wird wieder Kartentitel und die Liste steht mit den gewählten Filtern",
   "geteilt": [
    "kopf",
    "stellentitel (Kartentitel → H1 der Stellenseite)"
   ],
   "dauer_ms": 600
  },
  "budget": [
   "Höchstens fünf Knöpfe je Filtergruppe (wann_nicht von button-gruppe-expressiv); mehr Optionen als Auswahlliste.",
   "Keine Einblendung der Treffer, nur Umordnen."
  ],
  "reduziert": "Filter wechseln nur Farbe und Häkchen, ohne Breite; Trefferliste ohne FLIP; H1 steht; Seitenwechsel als Überblendung 150 ms ohne Titel-Morph.",
  "verboten": [
   "Laufband mit Jobtiteln",
   "wechselnde Wörter im Hero („Staplerfahrer … Pflegekraft …“)",
   "Konfetti nach der Bewerbung"
  ],
  "partitur_herkunft": "Kein Starter. Werte aus bewegung.dauer_ms, regel und animationsstil_hinweis; Filter nach button-gruppe-expressiv (toggle), Umordnen nach flip-zustandswechsel (nativ), Titel-Morph nach vt-shared-element-morph (auf 600 ms gekürzt). Begrenzungen eigene Festlegung.",
  "partitur_stand": "05.11.2026"
 },
 "hero_beschreibung": "Foto-Hero mit Weiche (foto-hero-mit-leiste, Variante weiche): ein echtes Foto aus einem Einsatz (Lager, Werkhalle, Station) mit Einwilligung der Person und des Einsatzbetriebs. Darunter zwei gleich breite Wege ohne Rangfolge: „Ich suche Arbeit“ mit Postleitzahl-Feld und „Ich suche Personal“ mit Telefon der Disposition. H1 oben links, kein Label darüber. Kein Stockfoto mit Helm und Daumen hoch.",
 "muster": {
  "seitenuebergang": [
   "vt-shared-element-morph"
  ],
  "preloader": [],
  "navigation": [
   "native-popover-dropdowns",
   "mobile-bottom-navigation"
  ],
  "hero": [
   "foto-hero-mit-leiste"
  ],
  "hero_variante": [],
  "sektionen": [
   {
    "zweck": "Jobs in deiner Nähe (Postleitzahl oder Ort, Filter als Knopfgruppen: Schicht, Arbeitszeit, Führerschein; Trefferliste mit Stundenlohn als Spanne, Einsatzort, Schicht; Leerzustand mit Job-Alarm)",
    "muster": [
     "button-gruppe-expressiv",
     "flip-zustandswechsel",
     "karte-ganzflaechig-klickbar",
     "fehlerseite-leerzustand"
    ],
    "varianten": {
     "button-gruppe-expressiv": "toggle",
     "flip-zustandswechsel": "nativ",
     "fehlerseite-leerzustand": "keine-treffer"
    }
   },
   {
    "zweck": "Stellenseite (je Stelle eine Seite: Aufgaben, Stundenlohn als Spanne und Tarif, Zuschläge, Schichten, Einsatzort, Arbeitnehmerüberlassung oder Direkteinstellung genannt, Führerschein nur wenn nötig; JobPosting nur für sichtbare Inhalte)",
    "muster": [
     "stellenseite-mit-jobposting"
    ],
    "varianten": {
     "stellenseite-mit-jobposting": "handwerk"
    }
   },
   {
    "zweck": "Kurzbewerbung (ohne Anschreiben: Name, Telefon, Wunschzeit für den Rückruf, Lebenslauf freiwillig als Foto oder Datei; Fehlerliste; Bestätigung mit Rückrufzeit)",
    "muster": [
     "stellen-karriere",
     "datei-upload-ablage",
     "formular-fehlerzusammenfassung",
     "danke-seite-naechste-schritte"
    ],
    "varianten": {
     "stellen-karriere": "kurzbewerbung",
     "datei-upload-ablage": "kompakt-mobil",
     "formular-fehlerzusammenfassung": "kompakt",
     "danke-seite-naechste-schritte": "termin"
    }
   },
   {
    "zweck": "Was wir bieten (Tarif, Zuschläge, Urlaub, Arbeitskleidung, Fahrtkosten, Übernahmechance ehrlich; Zahlen nur echt als Tabelle)",
    "muster": [
     "zahlen-fakten-section"
    ],
    "varianten": {
     "zahlen-fakten-section": "tabelle"
    }
   },
   {
    "zweck": "So läuft es für Bewerbende (Bewerbung → Gespräch → Vertrag → Einsatz → feste Ansprechperson; Dauer ehrlich)",
    "muster": [
     "prozess-timeline-wachsende-linie"
    ],
    "varianten": {
     "prozess-timeline-wachsende-linie": "unterstrich"
    }
   },
   {
    "zweck": "Für Betriebe (Arbeitnehmerüberlassung, Personalvermittlung, Branchen; je Leistung eine Seite mit Antwort zuerst: wie schnell, welche Qualifikation, wovon der Verrechnungssatz abhängt)",
    "muster": [
     "leistungsseite-antwort-zuerst",
     "ansprechperson-band"
    ],
    "varianten": {
     "leistungsseite-antwort-zuerst": "handwerk",
     "ansprechperson-band": "handwerk"
    }
   },
   {
    "zweck": "Anfrage für Personal (Qualifikation, Anzahl, Zeitraum, Einsatzort, Schicht; erledigte Schritte als Kurzfassung)",
    "muster": [
     "mehrschritt-anfrage"
    ],
    "varianten": {
     "mehrschritt-anfrage": "senkrecht"
    }
   },
   {
    "zweck": "Niederlassungen (ab vier Standorten Liste mit Suche; je Niederlassung eine Seite mit Status, Bus und Rad, Disposition, Jobs vor Ort)",
    "muster": [
     "standortfinder-liste",
     "standort-detailseite",
     "karte-zwei-klick"
    ],
    "varianten": {
     "standortfinder-liste": "liste",
     "standort-detailseite": "filiale",
     "karte-zwei-klick": "standorte"
    }
   },
   {
    "zweck": "Stimmen (Mitarbeitende mit Vorname, Einsatz und Monat; Bewertungen von Google oder Arbeitgeberportalen nur mit Echtheitshinweis)",
    "muster": [
     "testimonials-neu-gedacht",
     "bewertungsprofil-mit-echtheitshinweis"
    ],
    "varianten": {
     "testimonials-neu-gedacht": "wand",
     "bewertungsprofil-mit-echtheitshinweis": "mehrere"
    }
   },
   {
    "zweck": "Fragen zu Zeitarbeit (Was ist Zeitarbeit, Equal Pay, Höchstüberlassungsdauer, Probezeit, Übernahme, Kosten für Bewerbende: keine; eigene Seite mit Suche)",
    "muster": [
     "faq-seite-suche"
    ],
    "varianten": {
     "faq-seite-suche": "suche"
    }
   },
   {
    "zweck": "Erklärung zur Barrierefreiheit (eigene Seite; freiwillig im bewährten Aufbau, vom Kunden prüfen lassen)",
    "muster": [
     "barrierefreiheit-seite"
    ],
    "varianten": {
     "barrierefreiheit-seite": "erklaerung"
    }
   }
  ],
  "scroll": [],
  "schrift_animation": [],
  "hover": [
   "karte-ganzflaechig-klickbar"
  ],
  "cursor": [],
  "mikro": [
   "button-gruppe-expressiv",
   "flip-zustandswechsel",
   "absenden-zu-bestaetigung",
   "checkbox-radio-animiert"
  ],
  "material": [],
  "galerie": [],
  "footer": [
   "studio-visitenkarte-footer"
  ],
  "button": [
   "tiefen-taste-3d",
   "pfeil-icon-button"
  ],
  "hero_varianten": {
   "foto-hero-mit-leiste": "weiche"
  }
 },
 "signatur": [
  "button-gruppe-expressiv"
 ],
 "moment": {
  "was": "Der Schichtfilter groß unter der Weiche: eine verbundene Knopfgruppe (Früh, Spät, Nacht, Teilzeit, Führerschein), Druck macht den Knopf breiter, die Trefferzahl antwortet sofort.",
  "wo": "Startseite, erster Bildschirm",
  "gewicht": "groß und interaktiv: Knöpfe mindestens 56 px hoch über 8 Spalten",
  "muster": [
   "button-gruppe-expressiv"
  ],
  "variante": "toggle"
 },
 "varianten_demo": {
  "mobile-bottom-navigation": "kontakt",
  "karte-ganzflaechig-klickbar": "raster",
  "absenden-zu-bestaetigung": "karte",
  "studio-visitenkarte-footer": "basis",
  "tiefen-taste-3d": "stapel",
  "pfeil-icon-button": "linie"
 },
 "nicht_verwenden": [
  "collage-scrapbook / horizontal-scroll-section – Signaturen von arbeitgeber-karriere",
  "rotating-words – wechselnde Jobtitel im Hero sind bewegte Information (Grundregel)",
  "marquee-laufband – Jobs laufen nicht durch",
  "zahlen-odometer – keine hochgezählten Vermittlungen",
  "konfetti-erfolg – nach der Bewerbung zählt die Rückrufzeit",
  "smooth-scroll-lenis – Bewerbende sind auf dem Telefon und in Eile",
  "Stockfotos mit Helm und Daumen hoch, Warnwesten-Orange als Fläche – eigene Fotos aus Einsätzen",
  "„Bewerben in 30 Sekunden“, „Top-Gehalt“ ohne Zahl, Lockangebote ohne echte Stelle – irreführend"
 ],
 "regeln": [
  "Erster Bildschirm: Foto aus einem Einsatz, H1 und zwei gleich große Wege („Ich suche Arbeit“ mit Postleitzahl, „Ich suche Personal“ mit Telefon der Disposition). Mobil untere Leiste Anrufen / Jobs / Bewerben.",
  "Signatur (button-gruppe-expressiv, Variante toggle): Filter als verbundene Knopfgruppen mit höchstens fünf Optionen, role=toolbar und aria-pressed, Trefferzahl per aria-live; Umordnen per flip-zustandswechsel (Variante nativ) nur als Position. Nie als Navigation zwischen Seiten. Bei reduzierter Bewegung nur Farbe und Häkchen.",
  "Erlaubnis zur Arbeitnehmerüberlassung der Bundesagentur für Arbeit mit erteilender Stelle im Impressum (§ 5 DDG); Tarifvertrag nennen. Stellen, die als Überlassung besetzt werden, als solche erkennbar machen. Vom Kunden prüfen lassen.",
  "Stellen ehrlich: Stundenlohn als Spanne und Tarif, Zuschläge, Schichten, Einsatzort oder Region; Einsatzbetrieb nur mit dessen Zustimmung. Equal Pay und Höchstüberlassungsdauer in den Fragen erklären, ohne Rechtsberatung. Entgeltangaben in Stellenanzeigen nach den Regeln zur Entgelttransparenz vom Kunden prüfen lassen.",
  "Bewerbende zahlen nichts; Vermittlungsgutscheine nur nennen, wenn der Träger dafür zugelassen ist. Bewerberdaten nur für den Zweck, mit Löschfrist in der Datenschutzerklärung; Lebenslauf freiwillig. Vom Kunden prüfen lassen.",
  "Stellenanzeigen ohne Benachteiligung (m/w/d, keine Altersgrenzen ohne Grund); JobPosting-Daten nur für sichtbare Stellen und mit Ablaufdatum.",
  "Bewertungen von Google oder Arbeitgeberportalen nur mit Echtheitshinweis direkt dabei (bewertungsprofil-mit-echtheitshinweis).",
  "Knöpfe: Taste in Grün (tiefen-taste-3d, Variante stapel) für „Jetzt bewerben“ und „Personal anfragen“; Nebenwege als Textlink mit Pfeil (pfeil-icon-button, Variante linie). Alle Zustände nach button-zustaende."
 ],
 "varianten": [
  {
   "name": "Personalvermittlung und Personalberatung (ohne Zeitarbeit)",
   "hinweis": "Schrift, Farbe, Stil und Signatur bleiben; die Knopfgruppen filtern nach Fachbereich, Region und Erfahrung. Stellen mit Gehaltsspanne und Arbeitgeber nur mit dessen Zustimmung, sonst anonym nach Branche und Region. Für Unternehmen Ablauf und Honorar auf Erfolgsbasis als Satz mit Rechenweg. Keine Erlaubnis nach AÜG nötig; Vermittlungsgutscheine nur mit Zulassung. Vom Kunden prüfen lassen.",
   "sektionen": [
    "Offene Positionen mit Filter",
    "Stellenseite",
    "Kurzbewerbung oder Initiativbewerbung",
    "Für Unternehmen (Suche, Ablauf, Honorar)",
    "Team und Fachbereiche",
    "Stimmen",
    "Fragen",
    "Kontakt"
   ],
   "weglassen": [
    "Fragen zu Zeitarbeit (Equal Pay, Höchstüberlassungsdauer)",
    "Niederlassungen mit Disposition"
   ],
   "muster_zusatz": []
  },
  {
   "name": "Pflege-Personaldienst (Pflegekräfte auf Zeit)",
   "hinweis": "Schrift, Farbe, Stil und Signatur bleiben; die Knopfgruppen filtern nach Einrichtung (Klinik, Altenpflege, ambulant), Schicht und Region. Stellen nach stellenseite-mit-jobposting (Variante pflege) mit Entgeltgruppe bzw. Spanne, Zuschlägen, Dienstwagen und Unterkunft bei Fernjobs. Anerkennung ausländischer Abschlüsse nur mit Verweis auf die zuständige Stelle. Fotos aus Einrichtungen nur mit Einwilligung der Einrichtung und der Personen. Vom Kunden prüfen lassen.",
   "sektionen": [
    "Jobs nach Einrichtung, Schicht, Region",
    "Stellenseite (Pflege)",
    "Kurzbewerbung",
    "Was wir bieten (Zuschläge, Dienstwagen, Unterkunft)",
    "Für Einrichtungen",
    "Fragen",
    "Kontakt"
   ],
   "weglassen": [
    "Branchen außerhalb der Pflege"
   ],
   "muster_zusatz": []
  }
 ],
 "template_tauglich": true,
 "aufwand": "mittel",
 "leistung": "Hero-Foto als LCP mit fetchpriority=high. Trefferliste als HTML aus dem Job-Feed (serverseitig oder statisch erzeugt), Filter clientseitig mit FLIP über View Transitions mit Rückfall ohne Weg. Special Gothic als Variable-Datei mit wdth, TikTok Sans Variable, beide nur Latin. Upload erst im Bewerbungsschritt, Karte erst nach Klick.",
 "offen": [
  "Kein Muster für einen Job-Alarm (Suche speichern, Benachrichtigung per E-Mail mit Double-Opt-in); bis dahin Leerzustand mit Formular und danke-seite-naechste-schritte (Variante bestaetigen).",
  "button-gruppe-expressiv hat keine Variante für Filtergruppen mit Postleitzahl und Umkreis; die Postleitzahl steht als eigenes Feld vor den Gruppen."
 ],
 "raum": {
  "basis_px": 8,
  "skala_px": [
   4,
   8,
   12,
   16,
   24,
   32,
   48,
   64,
   96,
   128
  ],
  "sektion": "clamp(56px, 7vw, 128px)",
  "dichte": "kompakt",
  "hinweis": "Dicht wie eine Stellentafel: Trefferliste mit 12 px Abstand, Filter mit 2 px Fugen, Kapitel mit klarem Abstand."
 },
 "raster": {
  "spalten": 12,
  "rand": "clamp(16px, 4vw, 56px)",
  "spalt": "clamp(14px, 2vw, 28px)",
  "max_breite": "1280px",
  "hinweis": "Hero mit zwei gleich breiten Wegen (6/6) unter dem Foto. Trefferliste: Filter oben über 12 Spalten, Karten zweispaltig, auf dem Telefon einspaltig. Stellenseite 8/4 mit Lohn und Bewerben rechts sticky."
 },
 "form": {
  "radius_klein": "8px",
  "radius_gross": "16px",
  "pille": false,
  "linie": "1px #16181C24 in Listen; Felder 1px in Leise (3:1)",
  "schatten": "nur an der Taste (tiefen-taste-3d)",
  "hinweis": "Griffig: Filterknöpfe wechseln zwischen 8 px und rund, Karten 16 px, Taste mit Tiefe."
 },
 "bildsprache": {
  "licht": "Echtes Arbeitslicht in Halle, Lager, Station, Büro; keine Studio-Porträts.",
  "ausschnitt": "Menschen bei der Arbeit, Hände am Werkzeug, Disposition am Telefon; Einsatzbetrieb nur mit Freigabe erkennbar.",
  "personen": "Mitarbeitende nur mit Einwilligung; Einsatzbetriebe nur mit Zustimmung.",
  "formate": [
   "3:2",
   "4:5"
  ],
  "nicht": "Keine Helme mit Daumen hoch, keine Handschlag-Bilder, keine KI-Arbeiter:innen.",
  "gewicht": "Wenige Bilder, groß: lieber ein Bild randlos oder über 7 bis 12 Spalten als drei mittelgroße; jedes Bild trägt eine Aussage, keins füllt nur Platz."
 },
 "ton": {
  "anrede": "du für Bewerbende, Sie für Betriebe (eine Anrede je Weg, vom Kunden bestätigen lassen)",
  "saetze": "Kurz und direkt: was, wo, wann, wie viel.",
  "haltung": "Wie eine Disponentin am Telefon: zupackend, ehrlich bei Lohn und Schichten.",
  "beispiele": [
   "Lager in [Ort], Frühschicht 6 bis 14:30 Uhr, 15,20 bis 16,80 € pro Stunde nach Tarif.",
   "Wir rufen dich zu deiner Wunschzeit zurück. Anschreiben brauchst du nicht."
  ],
  "nicht": "„Wir suchen dich!“ ohne Stelle, „Top-Gehalt“, „junges dynamisches Team“."
 },
 "hero_aufbau": {
  "raster": "H1 oben links über 7 Spalten, Foto randlos darunter, zwei gleich breite Wege (6/6) auf dem unteren Bilddrittel; mobil H1, Foto, Wege untereinander.",
  "bild": "Echtes Foto aus einem Einsatz, 16:9 Desktop, 4:5 mobil.",
  "h1": "clamp(2.5rem, 1.2rem + 5.4vw, 5.5rem), Special Gothic; ein Satz für beide Gruppen oder der Name, kein Label darüber.",
  "handlung": "Weg 1 „Ich suche Arbeit“ mit Postleitzahl und „Jobs zeigen“; Weg 2 „Ich suche Personal“ mit Telefon der Disposition und „Personal anfragen“ (Grün).",
  "zusatz": "Mobil untere Leiste Anrufen / Jobs / Bewerben."
 },
 "url": "https://cecodesign.de/lab/fundus/rezepte/personaldienstleister-zeitarbeit/",
 "tokens_css": "https://cecodesign.de/lab/fundus/rezepte/personaldienstleister-zeitarbeit/tokens.css",
 "bauplan": "https://cecodesign.de/lab/fundus/rezepte/personaldienstleister-zeitarbeit/bauplan.txt",
 "rezept_json": "https://cecodesign.de/lab/fundus/rezepte/personaldienstleister-zeitarbeit/rezept.json",
 "nicht_verwenden_ids": [
  {
   "ids": [
    "collage-scrapbook",
    "horizontal-scroll-section"
   ],
   "grund": "Signaturen von arbeitgeber-karriere"
  },
  {
   "ids": [
    "rotating-words"
   ],
   "grund": "wechselnde Jobtitel im Hero sind bewegte Information (Grundregel)"
  },
  {
   "ids": [
    "marquee-laufband"
   ],
   "grund": "Jobs laufen nicht durch"
  },
  {
   "ids": [
    "zahlen-odometer"
   ],
   "grund": "keine hochgezählten Vermittlungen"
  },
  {
   "ids": [
    "konfetti-erfolg"
   ],
   "grund": "nach der Bewerbung zählt die Rückrufzeit"
  },
  {
   "ids": [
    "smooth-scroll-lenis"
   ],
   "grund": "Bewerbende sind auf dem Telefon und in Eile"
  },
  {
   "ids": [],
   "grund": "Stockfotos mit Helm und Daumen hoch, Warnwesten-Orange als Fläche – eigene Fotos aus Einsätzen"
  },
  {
   "ids": [],
   "grund": "„Bewerben in 30 Sekunden“, „Top-Gehalt“ ohne Zahl, Lockangebote ohne echte Stelle – irreführend"
  }
 ],
 "alle_muster": [
  {
   "id": "button-gruppe-expressiv",
   "rolle": "Signatur",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/button-gruppe-expressiv/meta.json",
   "variante": "toggle",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/button-gruppe-expressiv/demo?v=toggle"
  },
  {
   "id": "foto-hero-mit-leiste",
   "rolle": "Hero",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero-mit-leiste/meta.json",
   "variante": "weiche",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero-mit-leiste/demo?v=weiche"
  },
  {
   "id": "flip-zustandswechsel",
   "rolle": "Sektion: Jobs in deiner Nähe (Postleitzahl oder Ort, Filter als Knopfgruppen: Schicht, Arbeitszeit, Führerschein; Trefferliste mit Stundenlohn als Spanne, Einsatzort, Schicht; Leerzustand mit Job-Alarm)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/galerien-slider/flip-zustandswechsel/meta.json",
   "variante": "nativ",
   "demo_url": "https://cecodesign.de/lab/fundus/galerien-slider/flip-zustandswechsel/demo?v=nativ"
  },
  {
   "id": "karte-ganzflaechig-klickbar",
   "rolle": "Sektion: Jobs in deiner Nähe (Postleitzahl oder Ort, Filter als Knopfgruppen: Schicht, Arbeitszeit, Führerschein; Trefferliste mit Stundenlohn als Spanne, Einsatzort, Schicht; Leerzustand mit Job-Alarm)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hover/karte-ganzflaechig-klickbar/meta.json",
   "variante": "raster",
   "demo_url": "https://cecodesign.de/lab/fundus/hover/karte-ganzflaechig-klickbar/demo?v=raster"
  },
  {
   "id": "fehlerseite-leerzustand",
   "rolle": "Sektion: Jobs in deiner Nähe (Postleitzahl oder Ort, Filter als Knopfgruppen: Schicht, Arbeitszeit, Führerschein; Trefferliste mit Stundenlohn als Spanne, Einsatzort, Schicht; Leerzustand mit Job-Alarm)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/fehlerseite-leerzustand/meta.json",
   "variante": "keine-treffer",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/fehlerseite-leerzustand/demo?v=keine-treffer"
  },
  {
   "id": "stellenseite-mit-jobposting",
   "rolle": "Sektion: Stellenseite (je Stelle eine Seite: Aufgaben, Stundenlohn als Spanne und Tarif, Zuschläge, Schichten, Einsatzort, Arbeitnehmerüberlassung oder Direkteinstellung genannt, Führerschein nur wenn nötig; JobPosting nur für sichtbare Inhalte)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/stellenseite-mit-jobposting/meta.json",
   "variante": "handwerk",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/stellenseite-mit-jobposting/demo?v=handwerk"
  },
  {
   "id": "stellen-karriere",
   "rolle": "Sektion: Kurzbewerbung (ohne Anschreiben: Name, Telefon, Wunschzeit für den Rückruf, Lebenslauf freiwillig als Foto oder Datei; Fehlerliste; Bestätigung mit Rückrufzeit)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/stellen-karriere/meta.json",
   "variante": "kurzbewerbung",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/stellen-karriere/demo?v=kurzbewerbung"
  },
  {
   "id": "datei-upload-ablage",
   "rolle": "Sektion: Kurzbewerbung (ohne Anschreiben: Name, Telefon, Wunschzeit für den Rückruf, Lebenslauf freiwillig als Foto oder Datei; Fehlerliste; Bestätigung mit Rückrufzeit)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/datei-upload-ablage/meta.json",
   "variante": "kompakt-mobil",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/datei-upload-ablage/demo?v=kompakt-mobil"
  },
  {
   "id": "formular-fehlerzusammenfassung",
   "rolle": "Sektion: Kurzbewerbung (ohne Anschreiben: Name, Telefon, Wunschzeit für den Rückruf, Lebenslauf freiwillig als Foto oder Datei; Fehlerliste; Bestätigung mit Rückrufzeit)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/formular-fehlerzusammenfassung/meta.json",
   "variante": "kompakt",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/formular-fehlerzusammenfassung/demo?v=kompakt"
  },
  {
   "id": "danke-seite-naechste-schritte",
   "rolle": "Sektion: Kurzbewerbung (ohne Anschreiben: Name, Telefon, Wunschzeit für den Rückruf, Lebenslauf freiwillig als Foto oder Datei; Fehlerliste; Bestätigung mit Rückrufzeit)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/danke-seite-naechste-schritte/meta.json",
   "variante": "termin",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/danke-seite-naechste-schritte/demo?v=termin"
  },
  {
   "id": "zahlen-fakten-section",
   "rolle": "Sektion: Was wir bieten (Tarif, Zuschläge, Urlaub, Arbeitskleidung, Fahrtkosten, Übernahmechance ehrlich; Zahlen nur echt als Tabelle)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/zahlen-fakten-section/meta.json",
   "variante": "tabelle",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/zahlen-fakten-section/demo?v=tabelle"
  },
  {
   "id": "prozess-timeline-wachsende-linie",
   "rolle": "Sektion: So läuft es für Bewerbende (Bewerbung → Gespräch → Vertrag → Einsatz → feste Ansprechperson; Dauer ehrlich)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/prozess-timeline-wachsende-linie/meta.json",
   "variante": "unterstrich",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/prozess-timeline-wachsende-linie/demo?v=unterstrich"
  },
  {
   "id": "leistungsseite-antwort-zuerst",
   "rolle": "Sektion: Für Betriebe (Arbeitnehmerüberlassung, Personalvermittlung, Branchen; je Leistung eine Seite mit Antwort zuerst: wie schnell, welche Qualifikation, wovon der Verrechnungssatz abhängt)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/leistungsseite-antwort-zuerst/meta.json",
   "variante": "handwerk",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/leistungsseite-antwort-zuerst/demo?v=handwerk"
  },
  {
   "id": "ansprechperson-band",
   "rolle": "Sektion: Für Betriebe (Arbeitnehmerüberlassung, Personalvermittlung, Branchen; je Leistung eine Seite mit Antwort zuerst: wie schnell, welche Qualifikation, wovon der Verrechnungssatz abhängt)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/ansprechperson-band/meta.json",
   "variante": "handwerk",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/ansprechperson-band/demo?v=handwerk"
  },
  {
   "id": "mehrschritt-anfrage",
   "rolle": "Sektion: Anfrage für Personal (Qualifikation, Anzahl, Zeitraum, Einsatzort, Schicht; erledigte Schritte als Kurzfassung)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/mehrschritt-anfrage/meta.json",
   "variante": "senkrecht",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/mehrschritt-anfrage/demo?v=senkrecht"
  },
  {
   "id": "standortfinder-liste",
   "rolle": "Sektion: Niederlassungen (ab vier Standorten Liste mit Suche; je Niederlassung eine Seite mit Status, Bus und Rad, Disposition, Jobs vor Ort)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/standortfinder-liste/meta.json",
   "variante": "liste",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/standortfinder-liste/demo?v=liste"
  },
  {
   "id": "standort-detailseite",
   "rolle": "Sektion: Niederlassungen (ab vier Standorten Liste mit Suche; je Niederlassung eine Seite mit Status, Bus und Rad, Disposition, Jobs vor Ort)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/standort-detailseite/meta.json",
   "variante": "filiale",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/standort-detailseite/demo?v=filiale"
  },
  {
   "id": "karte-zwei-klick",
   "rolle": "Sektion: Niederlassungen (ab vier Standorten Liste mit Suche; je Niederlassung eine Seite mit Status, Bus und Rad, Disposition, Jobs vor Ort)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/meta.json",
   "variante": "standorte",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/demo?v=standorte"
  },
  {
   "id": "testimonials-neu-gedacht",
   "rolle": "Sektion: Stimmen (Mitarbeitende mit Vorname, Einsatz und Monat; Bewertungen von Google oder Arbeitgeberportalen nur mit Echtheitshinweis)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/testimonials-neu-gedacht/meta.json",
   "variante": "wand",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/testimonials-neu-gedacht/demo?v=wand"
  },
  {
   "id": "bewertungsprofil-mit-echtheitshinweis",
   "rolle": "Sektion: Stimmen (Mitarbeitende mit Vorname, Einsatz und Monat; Bewertungen von Google oder Arbeitgeberportalen nur mit Echtheitshinweis)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/bewertungsprofil-mit-echtheitshinweis/meta.json",
   "variante": "mehrere",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/bewertungsprofil-mit-echtheitshinweis/demo?v=mehrere"
  },
  {
   "id": "faq-seite-suche",
   "rolle": "Sektion: Fragen zu Zeitarbeit (Was ist Zeitarbeit, Equal Pay, Höchstüberlassungsdauer, Probezeit, Übernahme, Kosten für Bewerbende: keine; eigene Seite mit Suche)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/faq-seite-suche/meta.json",
   "variante": "suche",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/faq-seite-suche/demo?v=suche"
  },
  {
   "id": "barrierefreiheit-seite",
   "rolle": "Sektion: Erklärung zur Barrierefreiheit (eigene Seite; freiwillig im bewährten Aufbau, vom Kunden prüfen lassen)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/barrierefreiheit-seite/meta.json",
   "variante": "erklaerung",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/barrierefreiheit-seite/demo?v=erklaerung"
  },
  {
   "id": "vt-shared-element-morph",
   "rolle": "Seitenwechsel",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/seitenuebergaenge/vt-shared-element-morph/meta.json"
  },
  {
   "id": "native-popover-dropdowns",
   "rolle": "Navigation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/navigation/native-popover-dropdowns/meta.json"
  },
  {
   "id": "mobile-bottom-navigation",
   "rolle": "Navigation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/meta.json",
   "variante": "kontakt",
   "demo_url": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/demo?v=kontakt"
  },
  {
   "id": "absenden-zu-bestaetigung",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/absenden-zu-bestaetigung/meta.json",
   "variante": "karte",
   "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/absenden-zu-bestaetigung/demo?v=karte"
  },
  {
   "id": "checkbox-radio-animiert",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/checkbox-radio-animiert/meta.json"
  },
  {
   "id": "studio-visitenkarte-footer",
   "rolle": "Footer",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/footer/studio-visitenkarte-footer/meta.json",
   "variante": "basis",
   "demo_url": "https://cecodesign.de/lab/fundus/footer/studio-visitenkarte-footer/demo?v=basis"
  },
  {
   "id": "tiefen-taste-3d",
   "rolle": "Buttons",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/tiefen-taste-3d/meta.json",
   "variante": "stapel",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/tiefen-taste-3d/demo?v=stapel"
  },
  {
   "id": "pfeil-icon-button",
   "rolle": "Buttons",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/pfeil-icon-button/meta.json",
   "variante": "linie",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/pfeil-icon-button/demo?v=linie"
  },
  {
   "id": "token-swiss-knackig",
   "rolle": "Animationsstil",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/token-swiss-knackig/meta.json"
  },
  {
   "id": "fluide-typo-clamp-cqi",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/fluide-typo-clamp-cqi/meta.json"
  },
  {
   "id": "tabellenziffern",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/tabellenziffern/meta.json"
  },
  {
   "id": "silbentrennung-komposita",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/silbentrennung-komposita/meta.json"
  }
 ]
}
