{
 "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": "freizeit-erlebnis-ticket",
 "name": "Freizeit und Erlebnis: Zeitfenster, Gruppe, Geburtstag",
 "branche": "Freizeitanlage mit Zeitfenstern (Kletter- und Boulderhalle, Escape Room, Minigolf, Trampolinpark, Lasertag, Kartbahn, Bowling)",
 "stimmung": [
  "laut",
  "fröhlich",
  "klar",
  "sportlich"
 ],
 "stimmung_tags": [
  "laut",
  "verspielt"
 ],
 "kurz": "Verkauft werden Zeitfenster, keine Mitgliedschaft: Wann ist frei, was kostet es für Erwachsene, Kinder und Gruppen, wie läuft ein Kindergeburtstag, welche Regeln gelten. Der Hero ist ein Hallenfoto mit Leiste für Datum und Personen, der einzige große Knopf verformt sich beim Darüberfahren. Darunter Zeitfenster mit Auslastung nur aus echten Zahlen, Preise als Liste, Geburtstag und Firmenevent als Pakete, Regeln und Sicherheit lesbar, Gutscheine. Anybody kräftig und schmal für Überschriften, TikTok Sans für Text. Hallengrau, Dunkel und eine kräftige Griff-Farbe. Abgrenzung zu fitness-studio-rhythmus (Mitgliedschaft, Kursplan) und eventlocation-hochzeit (Raummiete).",
 "referenzen": [
  {
   "seite": "Boulderwelt München – Kindergeburtstag",
   "url": "https://www.boulderwelt.de/muenchen-kindergeburtstag-indoor/",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-04",
   "quelle": "https://www.boulderwelt.de/muenchen-kindergeburtstag-indoor/",
   "beobachtung": "Live geprüft 04.11.2026 (WebFetch, nur Text): Mindestalter („mindestens 5 Jahre alt“), Dauer (90 Minuten Bouldern plus etwa 30 Minuten am Tisch), zwei Paketgrößen (bis 6 und bis 12 Kinder) mit Gesamtpreis 139 € bzw. 239 €, Betreuung durch Trainer:innen inklusive, nur Samstag und Sonntag; Terminwahl über ein eigenes Kundenkonto; unterschriebene Einverständniserklärung für Minderjährige mitbringen. Vorbild für Geburtstagspakete mit Alter, Dauer, Gruppengröße und Preis."
  }
 ],
 "schrift": {
  "paarung_basis": "",
  "headline": "anybody",
  "text": "tiktok-sans",
  "akzent": "",
  "groessen": "h1 Anybody clamp(2.75rem, 1.4rem + 6vw, 6.5rem), wdth 70, wght 850, Laufweite -0.02em, Zeilenhöhe 0.9; h2 clamp(2rem, 1.4rem + 2.6vw, 3.5rem), wdth 80, wght 800. Fließtext TikTok Sans 1.0625rem (17 px), wdth 100, wght 400, Zeilenhöhe 1.55, höchstens 64ch. Zeitfenster, Preise und Plätze TikTok Sans 600 mit Tabellenziffern, Uhrzeiten 1.25rem. Knöpfe TikTok Sans 700, 1.0625rem.",
  "techniken": [
   "fluide-typo-clamp-cqi",
   "headline-laufweite-zeilenabstand",
   "tabellenziffern",
   "lesesatz-text-wrap"
  ],
  "alternative_eigenprojekt": "Headline tanker (ITF) für einen noch plakativeren Auftritt – nur für Eigenprojekte.",
  "abweichung": "Die Recherche schlägt dela-gothic-one und onest (optional doto) vor; dela-gothic-one und doto liegen nicht unter /assets/fonts. Ersatz anybody (Display mit Breitenachse, Sport und Gaming laut schriften.json; bisher in einem Rezept: fitness) und tiktok-sans (Social, Events; bisher in einem Rezept). onest steht schon in zwei neuen Rezepten. Unterschied zu fitness: dort Brutal-Takt, Variable-Font-Achsen und Azeret Mono, hier Federn auf kleinen Elementen, Griff-Farbe und Zeitfenster."
 },
 "farbe": {
  "prinzip": "Hallengrau als Grund, helleres Grau als Fläche für Preise und Pakete, fast schwarzes Hallendunkel für Hero-Leiste und Footer. Eine kräftige Farbe aus Griffen, Bahnen oder Raumdesign, hier Griff-Magenta, nur für Zeitfenster buchen. Je Anlage austauschbar, immer mit 4,5 : 1 geprüft. Keine Neon-Verläufe, keine Comic-Explosionen.",
  "beispiel": [
   "#F4F3EF Grund Hallengrau",
   "#17161A Text (16,2 : 1 auf Grund)",
   "#E6E3DA Fläche Matte: Preise, Pakete, Regeln (Text 14,0 : 1)",
   "#19181D Dunkel Halle: Hero-Leiste, Footer (Weiß darauf 17,7 : 1)",
   "#AE1650 Signal Griff-Magenta: Zeitfenster buchen (Weiß darauf 6,9 : 1; als Fläche auf Grund 6,2 : 1, auf Matte 5,4 : 1); auf Dunkel stattdessen heller Knopf mit dunkler Schrift",
   "#5B595F Leise: Meta-Angaben, Stand-Daten (6,2 : 1 auf Grund, 5,4 : 1 auf Matte)",
   "#D3D0C7 Linie: Haarlinien in Preislisten (nur Dekoration)"
  ]
 },
 "animationsstil": "token-federnd-verspielt",
 "animationsstil_ui": "token-toggle-asymmetrisch",
 "animationsstil_hinweis": "Federn nur auf kleinen Elementen: Personen-Zähler, Häkchen, der Signatur-Knopf. Zeitfenster-Liste, Buchung, Dialoge und Reiter über token-toggle-asymmetrisch (300 ms auf, 200 ms zu), wie von der Recherche vorgeschlagen.",
 "bewegung": {
  "easing": "cubic-bezier(0.34, 1.56, 0.64, 1) (token-federnd-verspielt, nur kleine Elemente); UI über animationsstil_ui",
  "beobachtet": "nicht gemessen: Referenz nur inhaltlich per WebFetch geprüft",
  "dauer_ms": "150 (Hover, Farbe), 400 (Zähler, Häkchen), 500 (Form des Signatur-Knopfs), 300 (Panel, Dialog öffnen), 200 (schließen)",
  "regel": "Federn nie auf Flächen, Fotos oder Deckkraft. Der Signatur-Knopf verformt sich nur bei Hover und Fokus, nie im Ruhezustand. Freie Plätze ändern sich ohne Animation. Bei prefers-reduced-motion wechseln Formen und Zähler sofort.",
  "herkunft": "Kurve aus token-federnd-verspielt (Dauern 400/500/800), UI-Paar aus token-toggle-asymmetrisch; Formwechsel nach clip-path-form-hover (bau.werte: 500 ms), Kurve des Stils statt der Demo-Kurve.",
  "kurve": {
   "haupt": "cubic-bezier(0.34, 1.56, 0.64, 1)",
   "token": "--ease",
   "ein": "cubic-bezier(0.34, 1.56, 0.64, 1)",
   "aus": "cubic-bezier(0.36, 0, 0.66, -0.56)",
   "stil": "token-federnd-verspielt",
   "gilt_fuer": "nur kleine Elemente (Personen-Zähler, Häkchen, Signatur-Knopf); Zeitfenster, Buchung, Dialoge, Reiter über das UI-Paar",
   "ui": {
    "ein": "cubic-bezier(0.16, 1, 0.3, 1)",
    "aus": "cubic-bezier(0.7, 0, 0.84, 0)",
    "stil": "token-toggle-asymmetrisch",
    "token": "--ui-ease-ein / --ui-ease-aus"
   },
   "quelle": "bewegung.easing und tokens.css (token-federnd-verspielt, UI token-toggle-asymmetrisch)"
  },
  "dauern": {
   "klein": 150,
   "mittel": 300,
   "gross": 500,
   "seitenwechsel": 450,
   "schliessen": 200,
   "aus_faktor": 0.67,
   "tokens": {
    "klein": "--dauer-rezept-1",
    "mittel": "--dauer-rezept-3",
    "gross": "--dauer-rezept-5",
    "seitenwechsel": "--ui-dauer-l",
    "schliessen": "--dauer-rezept-2"
   },
   "hinweis": "Rezept: 150 Hover, 400 Zähler und Häkchen, 500 Form des Signatur-Knopfs, 300 Panel und Dialog öffnen, 200 schließen."
  },
  "laden": {
   "schritte": [
    {
     "teil": "Kopf und Ticket-Leiste",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "stehen"
    },
    {
     "teil": "Hero-Foto",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht (LCP)"
    },
    {
     "teil": "H1",
     "ab_ms": [
      0,
      40,
      80
     ],
     "dauer_ms": 450,
     "art": "Zeilen aus Masken, --ui-ease-ein"
    },
    {
     "teil": "Freie Zeitfenster heute",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "stehen (freie Plätze ändern sich ohne Animation, Rezept)"
    },
    {
     "teil": "Rest",
     "ab_ms": null,
     "dauer_ms": 0,
     "art": "erst beim Scrollen (scroll)"
    }
   ],
   "ende_ms": 530,
   "wiederholt": "H1 steht."
  },
  "scroll": {
   "reveals": [
    {
     "art": "Bild-Maske",
     "muster": "clip-path-bild-reveal",
     "wo": "Bilder der Attraktionen",
     "dauer_ms": 500,
     "versatz_ms": 50,
     "weg": "clip-path von unten, ohne Federn",
     "ausloeser": "einmal, wenn 33 % sichtbar (IntersectionObserver)"
    }
   ],
   "fortschritt": "keine",
   "nie": [
    "Zeitfenster und freie Plätze",
    "Preise und Tarife",
    "Buchung"
   ]
  },
  "hover": {
   "link": "Unterstreichung wächst von links",
   "knopf": "Signatur-Knopf (clip-path-form-hover); tiefen-taste-3d stapel federt leicht; kontur-button-zeichnen zeichnen",
   "karte": "karte-ganzflaechig-klickbar raster mit bild-zoom-in-maske (scale 1.05) über das UI-Paar",
   "bild": "wie Karte",
   "ein_ms": 400,
   "aus_ms": 240,
   "kurve": "Knopf --ease / --ease-aus, Karte --ui-ease-ein / --ui-ease-aus"
  },
  "signatur": {
   "muster": "clip-path-form-hover",
   "variante": "basis",
   "bewegung": "Der Haupt-Knopf morpht bei Hover und Fokus in eine zweite Form (Blob oder Pfeilspitze) in 500 ms mit --ease (federt leicht), Farbe getrennt 200 ms linear; nie im Ruhezustand (Rezept).",
   "ausloeser": "Hover, Fokus",
   "dauer_ms": 500,
   "wiederholung": "je Hover"
  },
  "seitenwechsel": {
   "muster": "vt-cross-document-mpa",
   "variante": "typen",
   "zusatz": [],
   "richtung": "vorwaerts (Attraktion → Buchung) von rechts, zurueck gespiegelt",
   "geteilt": [
    "kopf",
    "leiste (Ticket-Leiste)"
   ],
   "dauer_ms": 450
  },
  "budget": [
   "Federn nie auf Flächen, Fotos oder Deckkraft (Rezept).",
   "Lebhaft, nie zappelig: höchstens eine federnde Bewegung zugleich."
  ],
  "reduziert": "Formen und Zähler wechseln sofort (Rezept); Bilder stehen; Seitenwechsel als Überblendung.",
  "verboten": [
   "Konfetti (Rezept)",
   "Comic-Explosionen (Rezept)",
   "Countdown und „nur noch 2 Plätze“ ohne echte Belegung (Rezept)",
   "hüpfende Maskottchen"
  ],
  "partitur_herkunft": "Kein Starter. Werte aus bewegung.dauer_ms und animationsstil_hinweis; Signatur nach clip-path-form-hover (Blob 500 ms; Demo-Feder auf --ease umgestellt). Rest eigene Festlegung.",
  "partitur_stand": "04.11.2026"
 },
 "hero_beschreibung": "Foto-Hero mit Leiste: ein echtes Hallenfoto mit Menschen in Bewegung (mit Einwilligung), im unteren Bilddrittel eine dunkle Leiste mit Datum und Personen (Erwachsene, Kinder) und dem einen Knopf „Zeitfenster finden“, der sich bei Hover verformt. Daneben ein Satz, was man hier tut und ab welchem Alter. Kein Comic-Hero, keine Stockfotos.",
 "muster": {
  "seitenuebergang": [],
  "preloader": [],
  "navigation": [
   "native-popover-dropdowns",
   "mobile-bottom-navigation",
   "brotkrumen-pfad"
  ],
  "hero": [
   "foto-hero-mit-leiste"
  ],
  "hero_variante": [],
  "sektionen": [
   {
    "zweck": "Zeitfenster und Auslastung (Datum und Personen aus der Leiste → freie Zeitfenster mit Plätzen als Zahl und Wort; Auslastung nur mit echten Zählwerten; Buchungssystem erst nach Klick, Telefon daneben)",
    "muster": [
     "termin-verfuegbarkeit-anfrage",
     "termin-buchung-zwei-klick",
     "oeffnungszeiten-status",
     "mengen-stepper"
    ],
    "varianten": {
     "termin-buchung-zwei-klick": "platzhalter",
     "oeffnungszeiten-status": "auslastung",
     "termin-verfuegbarkeit-anfrage": "zeitfenster",
     "mengen-stepper": "tickets"
    }
   },
   {
    "zweck": "Preise (Erwachsene, Kinder, Familie, Gruppe, Zehnerkarte, Leihausrüstung; Preise inkl. MwSt.; Ermäßigung mit Nachweis; Stand-Datum)",
    "muster": [
     "preisseite-geruest",
     "speisekarte-editorial"
    ],
    "varianten": {
     "speisekarte-editorial": "preisliste",
     "preisseite-geruest": "kurskarte"
    }
   },
   {
    "zweck": "Kindergeburtstag, Schulklassen und Firmenevents (je Paket Alter, Dauer, Gruppengröße, Preis, was enthalten ist, Betreuung; Einverständniserklärung als PDF; Anfrage mit Datum, Anzahl, Alter)",
    "muster": [
     "vergleichstabelle-sticky",
     "kontakt-anfrage-formular"
    ],
    "varianten": {
     "vergleichstabelle-sticky": "pakete",
     "kontakt-anfrage-formular": "satz"
    }
   },
   {
    "zweck": "Dein erstes Mal (so läuft es ab: ankommen, Einweisung, losgehen; was mitbringen; Mindestalter und Aufsicht; Hallenregeln kurz, die Benutzungsordnung als eigene Seite)",
    "muster": [
     "prozess-timeline-wachsende-linie",
     "akkordeon-hoehe-auto"
    ],
    "varianten": {
     "akkordeon-hoehe-auto": "faq"
    }
   },
   {
    "zweck": "Was es hier gibt (Bereiche, Räume, Bahnen oder Rätsel als Kacheln mit Foto, Schwierigkeit und Dauer)",
    "muster": [
     "raster-zu-wischreihe",
     "bild-zoom-in-maske"
    ],
    "varianten": {
     "raster-zu-wischreihe": "einreihig",
     "bild-zoom-in-maske": "richtung"
    }
   },
   {
    "zweck": "Kurse und Events (Technikkurse, Turniere, Nachtöffnung; Einzeltermine mit Datum, Preis, Plätzen)",
    "muster": [
     "programm-kalender"
    ],
    "varianten": {
     "programm-kalender": "programm"
    }
   },
   {
    "zweck": "Veranstaltung-Detailseite (je Termin eine Seite, aufgerufen aus der Liste: Technikkurs, Turnier oder Nachtöffnung mit Datum, Alter, Niveau, Preis, Plätzen und Buchung; freie Plätze nur aus echter Quelle, Vergangenes mit Hinweis statt Fehlerseite)",
    "muster": [
     "veranstaltung-detailseite",
     "teilen-und-kalender",
     "favicon-teilbild-system"
    ],
    "varianten": {
     "veranstaltung-detailseite": "ticket",
     "teilen-und-kalender": "veranstaltung",
     "favicon-teilbild-system": "teilbild"
    }
   },
   {
    "zweck": "Gutscheine (Wertgutschein oder Erlebnis; nur mit Zahlungsdienst und Codeverwaltung)",
    "muster": [
     "gutschein-konfigurator"
    ]
   },
   {
    "zweck": "Bewertungen (Google- oder Plattform-Bewertungen mit Schnitt, Anzahl, Stand und Echtheitshinweis direkt daneben)",
    "muster": [
     "bewertungsprofil-mit-echtheitshinweis"
    ],
    "varianten": {
     "bewertungsprofil-mit-echtheitshinweis": "band"
    }
   },
   {
    "zweck": "Café (nur, wenn es eins gibt: Karte mit Allergenen, Preise inkl. MwSt.)",
    "muster": [
     "speisekarte-editorial"
    ],
    "varianten": {
     "speisekarte-editorial": "bistro"
    }
   },
   {
    "zweck": "Anfahrt und Öffnungszeiten (Ferien und Feiertage nach Bundesland, Parken, Bus und Bahn; Adresse als Text, Karte per 2-Klick)",
    "muster": [
     "oeffnungszeiten-status",
     "karte-zwei-klick",
     "firmendaten-strukturiert"
    ],
    "varianten": {
     "oeffnungszeiten-status": "karte",
     "karte-zwei-klick": "bild",
     "firmendaten-strukturiert": "friseur"
    }
   },
   {
    "zweck": "Vertrag kündigen und Barrierefreiheit (Kündigungsbutton nur bei Abos und Mitgliedschaften; Online-Tickets nach BFSG prüfen lassen)",
    "muster": [
     "widerruf-und-kuendigung-schaltflaeche",
     "barrierefreiheit-seite"
    ],
    "varianten": {
     "widerruf-und-kuendigung-schaltflaeche": "richtig",
     "barrierefreiheit-seite": "bfsg"
    }
   }
  ],
  "scroll": [
   "scroll-hinweis"
  ],
  "schrift_animation": [],
  "hover": [
   "clip-path-form-hover",
   "bild-zoom-in-maske",
   "karte-ganzflaechig-klickbar"
  ],
  "cursor": [],
  "mikro": [
   "druck-feedback",
   "icon-squash-stretch",
   "checkbox-radio-animiert",
   "bewegung-als-css-funktion"
  ],
  "material": [],
  "galerie": [],
  "footer": [
   "studio-visitenkarte-footer"
  ],
  "button": [
   "tiefen-taste-3d",
   "kontur-button-zeichnen"
  ],
  "hero_varianten": {
   "foto-hero-mit-leiste": "leiste"
  }
 },
 "signatur": [
  "clip-path-form-hover"
 ],
 "moment": {
  "was": "Die Halle in Bewegung: Hallenfoto randlos, unten die dunkle Leiste mit Datum und Personen; der große Knopf „Zeitfenster finden“ verformt sich bei Zeiger und Fokus, danach springen die freien Zeitfenster als Reihe auf.",
  "wo": "Startseite, erster Bildschirm",
  "gewicht": "groß und interaktiv: Foto 100 svh, Knopf mindestens 64 px hoch",
  "muster": [
   "foto-hero-mit-leiste",
   "clip-path-form-hover"
  ],
  "variante": "leiste"
 },
 "varianten_demo": {
  "mobile-bottom-navigation": "basis",
  "studio-visitenkarte-footer": "praxis",
  "tiefen-taste-3d": "stapel",
  "kontur-button-zeichnen": "zeichnen",
  "clip-path-form-hover": "basis",
  "scroll-hinweis": "geraet",
  "karte-ganzflaechig-klickbar": "raster",
  "brotkrumen-pfad": "voll",
  "bewegung-als-css-funktion": "partitur"
 },
 "nicht_verwenden": [
  "variable-font-axes – Signatur von fitness-studio-rhythmus",
  "collage-scrapbook / horizontal-scroll-section – Signaturen von arbeitgeber-karriere",
  "konfetti-erfolg – nach der Buchung eine klare Bestätigung mit Zeitfenster und Hinweisen",
  "marquee-laufband – Preise und Zeiten als Laufband sind nicht lesbar",
  "zahlen-odometer – „100.000 Besucher“ wird nicht hochgezählt",
  "Countdown und „nur noch 2 Plätze“ ohne echte Belegung – künstliche Verknappung",
  "smooth-scroll-lenis – stört Zeitfenster und Buchung",
  "fluessig-marmor-hintergrund / mesh-gradient-shader – Neon-Verläufe sind Deko ohne Inhalt",
  "Comic-Explosionen, Stockfotos jubelnder Kinder – eigene Fotos aus der Halle mit Einwilligung"
 ],
 "regeln": [
  "Erster Bildschirm: Hallenfoto, Leiste mit Datum und Personen, ein großer Knopf, ein Satz mit Angebot und Mindestalter. Mobil öffnet die Leiste als Dialog.",
  "Signatur (clip-path-form-hover): nur der eine Knopf „Zeitfenster finden“ im Hero und der Abschluss-Knopf am Seitenende verformen sich bei Hover und Fokus (500 ms); nie in Formularen, nie mehrere nebeneinander. Auf Touch bleibt die Form, der Knopf reagiert mit Druck-Feedback.",
  "Zeitfenster: freie Plätze als Zahl und Wort („noch 6 Plätze“, „ausgebucht“) aus dem Buchungssystem; Auslastung nur mit echten Zählwerten (oeffnungszeiten-status, Variante auslastung). Ohne Datenquelle keine Live-Anzeige.",
  "Preise inkl. MwSt. mit Stand-Datum; Gruppen- und Geburtstagspakete mit Gesamtpreis und was enthalten ist; Leihausrüstung getrennt.",
  "Regeln und Sicherheit lesbar statt versteckt: Mindestalter, Aufsicht, Einweisung, Einverständniserklärung für Minderjährige als PDF zum Ausfüllen; Haftungsregeln in der Benutzungsordnung vom Kunden prüfen lassen (Haftungsausschlüsse für Körperschäden sind in AGB unwirksam, § 309 Nr. 7 BGB).",
  "Verträge: Tickets für einen festen Termin haben kein Widerrufsrecht (§ 312g Abs. 2 Nr. 9 BGB), Gutscheine schon; Abos und Mitgliedschaften brauchen den Kündigungsbutton (widerruf-und-kuendigung-schaltflaeche, Variante richtig). Vom Kunden prüfen lassen.",
  "Kinder und Fotos: Fotos von Kindern nur mit Einwilligung der Sorgeberechtigten; Geburtstagsfotos nie ohne Freigabe veröffentlichen. Jugendschutz beim Ausschank im Café beachten.",
  "Bewertungen von Plattformen nur mit Echtheitshinweis direkt daneben (bewertungsprofil-mit-echtheitshinweis).",
  "Knöpfe: Griff-Magenta als Tiefen-Taste (tiefen-taste-3d, Variante stapel) für Buchen, Nebenwege als Kontur; nie zwei Tiefen-Tasten nebeneinander."
 ],
 "varianten": [
  {
   "name": "Escape Room",
   "hinweis": "Räume statt Bereiche: je Raum Spieleranzahl, Dauer, Schwierigkeit, Mindestalter, Grusel-Hinweis und Barrierefreiheit (Treppen, Enge). Zeitfenster je Raum; Preis pro Gruppe nach Personenzahl als Tabelle. Keine Spoiler in Bildern.",
   "sektionen": [
    "Räume mit Steckbrief",
    "Zeitfenster je Raum",
    "Preise nach Gruppengröße",
    "Firmenevents und Geburtstage",
    "So läuft ein Spiel",
    "Anfahrt"
   ],
   "weglassen": [
    "Kurse und Events",
    "Auslastung"
   ],
   "muster_zusatz": []
  }
 ],
 "template_tauglich": true,
 "aufwand": "mittel",
 "leistung": "Hero-Foto als LCP mit fetchpriority=high, Leiste als HTML-Formular. Buchungssystem erst nach Klick (termin-buchung-zwei-klick). Formwechsel per clip-path in CSS, keine Bibliothek. Anybody und TikTok Sans als Variable-Dateien mit wdth.",
 "offen": [
  "Recherche nennt mengen-stepper als nötig; es fehlt. termin-verfuegbarkeit-anfrage Variante zeitfenster, veranstaltung-detailseite und preisseite-geruest sind seit 04.11.2026 eingetragen.",
  "dela-gothic-one liegt nicht als Datei vor; anybody als Ersatz.",
  "Nur eine Referenz per WebFetch geprüft; keine Award-Seite der Branche gefunden (wie Recherche)."
 ],
 "raum": {
  "basis_px": 8,
  "skala_px": [
   4,
   8,
   12,
   16,
   24,
   32,
   48,
   64,
   96,
   128
  ],
  "sektion": "clamp(64px, 8vw, 128px)",
  "dichte": "mittel",
  "hinweis": "Kräftig und klar: große Überschriften, Zeitfenster als Kacheln mit 12 px Spalt, Preise eng."
 },
 "raster": {
  "spalten": 12,
  "rand": "clamp(16px, 4vw, 56px)",
  "spalt": "clamp(12px, 2vw, 24px)",
  "max_breite": "1320px",
  "hinweis": "Hero randlos mit Leiste im unteren Drittel. Zeitfenster als Raster mit 4 bis 6 Spalten, mobil 2. Pakete als Tabelle mit drei Spalten."
 },
 "form": {
  "radius_klein": "8px",
  "radius_gross": "20px",
  "pille": false,
  "linie": "1px #D3D0C7 in Preislisten; Felder 1px in Leise (3:1)",
  "schatten": "nur die Tiefen-Taste (Kante in Dunkel)",
  "hinweis": "Kräftig gerundet wie Griffe und Matten; die Signatur-Form ist die einzige freie Silhouette."
 },
 "bildsprache": {
  "licht": "Hallenlicht, kräftige Farben der Anlage, Bewegung erlaubt.",
  "ausschnitt": "Menschen mitten in der Aktion, Gruppen von hinten oder seitlich, Anlage in der Totale.",
  "personen": "Ja, mit Einwilligung; Kinder nur mit Einwilligung der Sorgeberechtigten.",
  "formate": [
   "16:9",
   "4:5",
   "1:1"
  ],
  "nicht": "Keine Stockfotos jubelnder Kinder, keine Comic-Grafiken, keine Bilder, die Rätsel verraten.",
  "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 (Familien und Gruppen), Sie für Firmen-Anfragen",
  "saetze": "Kurz, aktiv, mit Zahl: Alter, Dauer, Preis, Uhrzeit.",
  "haltung": "Fröhlich und klar, ohne Übertreibung.",
  "beispiele": [
   "Ab 5 Jahren. 90 Minuten Bouldern, danach Kuchen am Tisch.",
   "Samstag, 14:30 Uhr: noch 6 Plätze."
  ],
  "nicht": "„Mega-Spaß garantiert“, „das ultimative Erlebnis“, „nur heute“."
 },
 "hero_aufbau": {
  "raster": "Foto randlos über 12 Spalten, Satz über Spalte 1 bis 6 im oberen Drittel, Leiste über 1 bis 12 im unteren Drittel; mobil Foto oben, Leiste als Dialog.",
  "bild": "Echtes Hallenfoto mit Menschen in Bewegung, 16:9 Desktop, 4:5 mobil.",
  "h1": "clamp(2.75rem, 1.4rem + 6vw, 6.5rem), Anybody wdth 70, wght 850; kein Label darüber.",
  "handlung": "In der Leiste Datum, Erwachsene, Kinder und der eine Knopf „Zeitfenster finden“ (Griff-Magenta, Signatur-Form); daneben Telefon.",
  "zusatz": "Mindestalter und Öffnungszeit heute als Zeile unter der H1."
 },
 "url": "https://cecodesign.de/lab/fundus/rezepte/freizeit-erlebnis-ticket/",
 "tokens_css": "https://cecodesign.de/lab/fundus/rezepte/freizeit-erlebnis-ticket/tokens.css",
 "bauplan": "https://cecodesign.de/lab/fundus/rezepte/freizeit-erlebnis-ticket/bauplan.txt",
 "rezept_json": "https://cecodesign.de/lab/fundus/rezepte/freizeit-erlebnis-ticket/rezept.json",
 "nicht_verwenden_ids": [
  {
   "ids": [
    "variable-font-axes"
   ],
   "grund": "Signatur von fitness-studio-rhythmus"
  },
  {
   "ids": [
    "collage-scrapbook",
    "horizontal-scroll-section"
   ],
   "grund": "Signaturen von arbeitgeber-karriere"
  },
  {
   "ids": [
    "konfetti-erfolg"
   ],
   "grund": "nach der Buchung eine klare Bestätigung mit Zeitfenster und Hinweisen"
  },
  {
   "ids": [
    "marquee-laufband"
   ],
   "grund": "Preise und Zeiten als Laufband sind nicht lesbar"
  },
  {
   "ids": [
    "zahlen-odometer"
   ],
   "grund": "„100.000 Besucher“ wird nicht hochgezählt"
  },
  {
   "ids": [],
   "grund": "Countdown und „nur noch 2 Plätze“ ohne echte Belegung – künstliche Verknappung"
  },
  {
   "ids": [
    "smooth-scroll-lenis"
   ],
   "grund": "stört Zeitfenster und Buchung"
  },
  {
   "ids": [
    "fluessig-marmor-hintergrund",
    "mesh-gradient-shader"
   ],
   "grund": "Neon-Verläufe sind Deko ohne Inhalt"
  },
  {
   "ids": [],
   "grund": "Comic-Explosionen, Stockfotos jubelnder Kinder – eigene Fotos aus der Halle mit Einwilligung"
  }
 ],
 "alle_muster": [
  {
   "id": "clip-path-form-hover",
   "rolle": "Signatur",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hover/clip-path-form-hover/meta.json",
   "variante": "basis",
   "demo_url": "https://cecodesign.de/lab/fundus/hover/clip-path-form-hover/demo?v=basis"
  },
  {
   "id": "foto-hero-mit-leiste",
   "rolle": "Hero",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero-mit-leiste/meta.json",
   "variante": "leiste",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero-mit-leiste/demo?v=leiste"
  },
  {
   "id": "termin-verfuegbarkeit-anfrage",
   "rolle": "Sektion: Zeitfenster und Auslastung (Datum und Personen aus der Leiste → freie Zeitfenster mit Plätzen als Zahl und Wort; Auslastung nur mit echten Zählwerten; Buchungssystem erst nach Klick, Telefon daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/termin-verfuegbarkeit-anfrage/meta.json",
   "variante": "zeitfenster",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/termin-verfuegbarkeit-anfrage/demo?v=zeitfenster"
  },
  {
   "id": "termin-buchung-zwei-klick",
   "rolle": "Sektion: Zeitfenster und Auslastung (Datum und Personen aus der Leiste → freie Zeitfenster mit Plätzen als Zahl und Wort; Auslastung nur mit echten Zählwerten; Buchungssystem erst nach Klick, Telefon daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/termin-buchung-zwei-klick/meta.json",
   "variante": "platzhalter",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/termin-buchung-zwei-klick/demo?v=platzhalter"
  },
  {
   "id": "oeffnungszeiten-status",
   "rolle": "Sektion: Zeitfenster und Auslastung (Datum und Personen aus der Leiste → freie Zeitfenster mit Plätzen als Zahl und Wort; Auslastung nur mit echten Zählwerten; Buchungssystem erst nach Klick, Telefon daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/meta.json",
   "varianten_je_rolle": [
    {
     "rolle": "Sektion: Zeitfenster und Auslastung (Datum und Personen aus der Leiste → freie Zeitfenster mit Plätzen als Zahl und Wort; Auslastung nur mit echten Zählwerten; Buchungssystem erst nach Klick, Telefon daneben)",
     "variante": "auslastung",
     "demo_url": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/demo?v=auslastung"
    },
    {
     "rolle": "Sektion: Anfahrt und Öffnungszeiten (Ferien und Feiertage nach Bundesland, Parken, Bus und Bahn; Adresse als Text, Karte per 2-Klick)",
     "variante": "karte",
     "demo_url": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/demo?v=karte"
    }
   ]
  },
  {
   "id": "mengen-stepper",
   "rolle": "Sektion: Zeitfenster und Auslastung (Datum und Personen aus der Leiste → freie Zeitfenster mit Plätzen als Zahl und Wort; Auslastung nur mit echten Zählwerten; Buchungssystem erst nach Klick, Telefon daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/mengen-stepper/meta.json",
   "variante": "tickets",
   "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/mengen-stepper/demo?v=tickets"
  },
  {
   "id": "preisseite-geruest",
   "rolle": "Sektion: Preise (Erwachsene, Kinder, Familie, Gruppe, Zehnerkarte, Leihausrüstung; Preise inkl. MwSt.; Ermäßigung mit Nachweis; Stand-Datum)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/preisseite-geruest/meta.json",
   "variante": "kurskarte",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/preisseite-geruest/demo?v=kurskarte"
  },
  {
   "id": "speisekarte-editorial",
   "rolle": "Sektion: Preise (Erwachsene, Kinder, Familie, Gruppe, Zehnerkarte, Leihausrüstung; Preise inkl. MwSt.; Ermäßigung mit Nachweis; Stand-Datum)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/speisekarte-editorial/meta.json",
   "varianten_je_rolle": [
    {
     "rolle": "Sektion: Preise (Erwachsene, Kinder, Familie, Gruppe, Zehnerkarte, Leihausrüstung; Preise inkl. MwSt.; Ermäßigung mit Nachweis; Stand-Datum)",
     "variante": "preisliste",
     "demo_url": "https://cecodesign.de/lab/fundus/sektionen/speisekarte-editorial/demo?v=preisliste"
    },
    {
     "rolle": "Sektion: Café (nur, wenn es eins gibt: Karte mit Allergenen, Preise inkl. MwSt.)",
     "variante": "bistro",
     "demo_url": "https://cecodesign.de/lab/fundus/sektionen/speisekarte-editorial/demo?v=bistro"
    }
   ]
  },
  {
   "id": "vergleichstabelle-sticky",
   "rolle": "Sektion: Kindergeburtstag, Schulklassen und Firmenevents (je Paket Alter, Dauer, Gruppengröße, Preis, was enthalten ist, Betreuung; Einverständniserklärung als PDF; Anfrage mit Datum, Anzahl, Alter)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/vergleichstabelle-sticky/meta.json",
   "variante": "pakete",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/vergleichstabelle-sticky/demo?v=pakete"
  },
  {
   "id": "kontakt-anfrage-formular",
   "rolle": "Sektion: Kindergeburtstag, Schulklassen und Firmenevents (je Paket Alter, Dauer, Gruppengröße, Preis, was enthalten ist, Betreuung; Einverständniserklärung als PDF; Anfrage mit Datum, Anzahl, Alter)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/kontakt-anfrage-formular/meta.json",
   "variante": "satz",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/kontakt-anfrage-formular/demo?v=satz"
  },
  {
   "id": "prozess-timeline-wachsende-linie",
   "rolle": "Sektion: Dein erstes Mal (so läuft es ab: ankommen, Einweisung, losgehen; was mitbringen; Mindestalter und Aufsicht; Hallenregeln kurz, die Benutzungsordnung als eigene Seite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/prozess-timeline-wachsende-linie/meta.json"
  },
  {
   "id": "akkordeon-hoehe-auto",
   "rolle": "Sektion: Dein erstes Mal (so läuft es ab: ankommen, Einweisung, losgehen; was mitbringen; Mindestalter und Aufsicht; Hallenregeln kurz, die Benutzungsordnung als eigene Seite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/meta.json",
   "variante": "faq",
   "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/demo?v=faq"
  },
  {
   "id": "raster-zu-wischreihe",
   "rolle": "Sektion: Was es hier gibt (Bereiche, Räume, Bahnen oder Rätsel als Kacheln mit Foto, Schwierigkeit und Dauer)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/galerien-slider/raster-zu-wischreihe/meta.json",
   "variante": "einreihig",
   "demo_url": "https://cecodesign.de/lab/fundus/galerien-slider/raster-zu-wischreihe/demo?v=einreihig"
  },
  {
   "id": "bild-zoom-in-maske",
   "rolle": "Sektion: Was es hier gibt (Bereiche, Räume, Bahnen oder Rätsel als Kacheln mit Foto, Schwierigkeit und Dauer)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hover/bild-zoom-in-maske/meta.json",
   "variante": "richtung",
   "demo_url": "https://cecodesign.de/lab/fundus/hover/bild-zoom-in-maske/demo?v=richtung"
  },
  {
   "id": "programm-kalender",
   "rolle": "Sektion: Kurse und Events (Technikkurse, Turniere, Nachtöffnung; Einzeltermine mit Datum, Preis, Plätzen)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/programm-kalender/meta.json",
   "variante": "programm",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/programm-kalender/demo?v=programm"
  },
  {
   "id": "veranstaltung-detailseite",
   "rolle": "Sektion: Veranstaltung-Detailseite (je Termin eine Seite, aufgerufen aus der Liste: Technikkurs, Turnier oder Nachtöffnung mit Datum, Alter, Niveau, Preis, Plätzen und Buchung; freie Plätze nur aus echter Quelle, Vergangenes mit Hinweis statt Fehlerseite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/veranstaltung-detailseite/meta.json",
   "variante": "ticket",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/veranstaltung-detailseite/demo?v=ticket"
  },
  {
   "id": "teilen-und-kalender",
   "rolle": "Sektion: Veranstaltung-Detailseite (je Termin eine Seite, aufgerufen aus der Liste: Technikkurs, Turnier oder Nachtöffnung mit Datum, Alter, Niveau, Preis, Plätzen und Buchung; freie Plätze nur aus echter Quelle, Vergangenes mit Hinweis statt Fehlerseite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/teilen-und-kalender/meta.json",
   "variante": "veranstaltung",
   "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/teilen-und-kalender/demo?v=veranstaltung"
  },
  {
   "id": "favicon-teilbild-system",
   "rolle": "Sektion: Veranstaltung-Detailseite (je Termin eine Seite, aufgerufen aus der Liste: Technikkurs, Turnier oder Nachtöffnung mit Datum, Alter, Niveau, Preis, Plätzen und Buchung; freie Plätze nur aus echter Quelle, Vergangenes mit Hinweis statt Fehlerseite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/favicon-teilbild-system/meta.json",
   "variante": "teilbild",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/favicon-teilbild-system/demo?v=teilbild"
  },
  {
   "id": "gutschein-konfigurator",
   "rolle": "Sektion: Gutscheine (Wertgutschein oder Erlebnis; nur mit Zahlungsdienst und Codeverwaltung)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/gutschein-konfigurator/meta.json"
  },
  {
   "id": "bewertungsprofil-mit-echtheitshinweis",
   "rolle": "Sektion: Bewertungen (Google- oder Plattform-Bewertungen mit Schnitt, Anzahl, Stand und Echtheitshinweis direkt daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/bewertungsprofil-mit-echtheitshinweis/meta.json",
   "variante": "band",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/bewertungsprofil-mit-echtheitshinweis/demo?v=band"
  },
  {
   "id": "karte-zwei-klick",
   "rolle": "Sektion: Anfahrt und Öffnungszeiten (Ferien und Feiertage nach Bundesland, Parken, Bus und Bahn; Adresse als Text, Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/meta.json",
   "variante": "bild",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/demo?v=bild"
  },
  {
   "id": "firmendaten-strukturiert",
   "rolle": "Sektion: Anfahrt und Öffnungszeiten (Ferien und Feiertage nach Bundesland, Parken, Bus und Bahn; Adresse als Text, Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/firmendaten-strukturiert/meta.json",
   "variante": "friseur",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/firmendaten-strukturiert/demo?v=friseur"
  },
  {
   "id": "widerruf-und-kuendigung-schaltflaeche",
   "rolle": "Sektion: Vertrag kündigen und Barrierefreiheit (Kündigungsbutton nur bei Abos und Mitgliedschaften; Online-Tickets nach BFSG prüfen lassen)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/widerruf-und-kuendigung-schaltflaeche/meta.json",
   "variante": "richtig",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/widerruf-und-kuendigung-schaltflaeche/demo?v=richtig"
  },
  {
   "id": "barrierefreiheit-seite",
   "rolle": "Sektion: Vertrag kündigen und Barrierefreiheit (Kündigungsbutton nur bei Abos und Mitgliedschaften; Online-Tickets nach BFSG prüfen lassen)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/barrierefreiheit-seite/meta.json",
   "variante": "bfsg",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/barrierefreiheit-seite/demo?v=bfsg"
  },
  {
   "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": "basis",
   "demo_url": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/demo?v=basis"
  },
  {
   "id": "brotkrumen-pfad",
   "rolle": "Navigation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/navigation/brotkrumen-pfad/meta.json",
   "variante": "voll",
   "demo_url": "https://cecodesign.de/lab/fundus/navigation/brotkrumen-pfad/demo?v=voll"
  },
  {
   "id": "scroll-hinweis",
   "rolle": "Scroll",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/scroll/scroll-hinweis/meta.json",
   "variante": "geraet",
   "demo_url": "https://cecodesign.de/lab/fundus/scroll/scroll-hinweis/demo?v=geraet"
  },
  {
   "id": "karte-ganzflaechig-klickbar",
   "rolle": "Hover",
   "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": "druck-feedback",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/druck-feedback/meta.json"
  },
  {
   "id": "icon-squash-stretch",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/icon-squash-stretch/meta.json"
  },
  {
   "id": "checkbox-radio-animiert",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/checkbox-radio-animiert/meta.json"
  },
  {
   "id": "bewegung-als-css-funktion",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/bewegung-als-css-funktion/meta.json",
   "variante": "partitur",
   "demo_url": "https://cecodesign.de/lab/fundus/animationsstile/bewegung-als-css-funktion/demo?v=partitur"
  },
  {
   "id": "studio-visitenkarte-footer",
   "rolle": "Footer",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/footer/studio-visitenkarte-footer/meta.json",
   "variante": "praxis",
   "demo_url": "https://cecodesign.de/lab/fundus/footer/studio-visitenkarte-footer/demo?v=praxis"
  },
  {
   "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": "kontur-button-zeichnen",
   "rolle": "Buttons",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/kontur-button-zeichnen/meta.json",
   "variante": "zeichnen",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/kontur-button-zeichnen/demo?v=zeichnen"
  },
  {
   "id": "token-federnd-verspielt",
   "rolle": "Animationsstil",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/token-federnd-verspielt/meta.json"
  },
  {
   "id": "token-toggle-asymmetrisch",
   "rolle": "Animationsstil für UI",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/token-toggle-asymmetrisch/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": "headline-laufweite-zeilenabstand",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/headline-laufweite-zeilenabstand/meta.json"
  },
  {
   "id": "tabellenziffern",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/tabellenziffern/meta.json"
  },
  {
   "id": "lesesatz-text-wrap",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/lesesatz-text-wrap/meta.json"
  }
 ]
}
