{
 "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": "yoga-studio-achtsamkeit",
 "name": "Yoga und Achtsamkeit: Atem und Stundenplan",
 "branche": "Yogastudio / Pilates-Studio / Meditation und Achtsamkeit / Yogalehrer:in mit Kursen, Workshops und Retreats",
 "stimmung": [
  "ruhig",
  "warm",
  "geerdet",
  "klar"
 ],
 "stimmung_tags": [
  "ruhig",
  "warm"
 ],
 "kurz": "Ein ruhiges Studio verkauft die erste Stunde und den Stundenplan: Was passt zu mir als Anfänger:in, wann ist die nächste Klasse, was kostet eine Karte, wie läuft es beim ersten Mal. Die Seite ist leise: ein Foto im Passepartout, darunter sofort der Wochenplan mit Einsteigerfilter, dann Neu-hier, Stile mit dem ehrlichen Satz, für wen eine Klasse nicht passt, Preise in einer Tabelle, Workshops und Retreats. Ein einziger Absatz, wie hier unterrichtet wird, füllt sich beim Lesen Wort für Wort. Fraunces weich und leicht, Familjen Grotesk für Text. Leinen, Ton, Abend und ein dunkles Salbei für Buchen. Eigenes Rezept statt der Variante „Yoga, Pilates, Tanz“ in fitness-studio-rhythmus, deren harte Takt-Welt (Anybody, token-brutal-hart) zu ruhigen Studios nicht passt.",
 "referenzen": [
  {
   "seite": "triyoga – yoga for beginners (London)",
   "url": "https://triyoga.co.uk/services/yoga-for-beginners/",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-04",
   "quelle": "https://triyoga.co.uk/services/yoga-for-beginners/",
   "beobachtung": "Live geprüft 04.11.2026 (WebFetch, nur Text): eigene Einsteigerseite („Explore hundreds of classes suitable for beginners“, „Our general beginners courses are the perfect way to start your journey“), ein Quiz, welcher Stil passt, Monatspass mit Preis. Mitbringen, Gegenanzeigen und ein Einführungsangebot stehen dort nicht; das Rezept verlangt sie."
  }
 ],
 "schrift": {
  "paarung_basis": "",
  "headline": "fraunces",
  "text": "familjen-grotesk",
  "akzent": "",
  "groessen": "h1 Fraunces clamp(2.5rem, 1.5rem + 4vw, 5rem), opsz an die Größe gekoppelt (144 erst ab 4.5rem), wght 300 erst ab 4rem (darunter 400), SOFT 100, WONK 0, Laufweite -0.015em, Zeilenhöhe 1.02; h2 clamp(1.875rem, 1.3rem + 2vw, 3rem), opsz an die Größe gekoppelt, wght 450; Kursive für Stilnamen. Der Statement-Absatz der Signatur Fraunces 1.75rem bis 2.5rem, wght 350, Zeilenhöhe 1.3, höchstens 32ch. Fließtext Familjen Grotesk 1.0625rem (17 px), wght 400, Zeilenhöhe 1.65, höchstens 62ch. Stundenplan Familjen Grotesk 500 mit Tabellenziffern. Knöpfe Familjen Grotesk 600, 1rem.",
  "techniken": [
   "optische-groessen-opsz",
   "headline-laufweite-zeilenabstand",
   "tabellenziffern",
   "lesesatz-text-wrap"
  ],
  "alternative_eigenprojekt": "Text sentient (ITF) für einen noch weicheren Ton – nur für Eigenprojekte.",
  "abweichung": "Eigene Festlegung. fraunces steht damit in zwei Rezepten (gastro als Headline mit Commissioner, dort kräftig), familjen-grotesk in drei (friseur, laden-vor-ort). Hier Fraunces leicht (wght 300) und weich (SOFT 100), damit es ruhig statt appetitlich wirkt. Fraunces steht auf der Beobachtungsliste (A2) und ist hier nie allein."
 },
 "farbe": {
  "prinzip": "Warm und gedämpft wie ein Raum am Abend: Leinen als Grund, Ton als Fläche für Stundenplan und Preise, Abendbraun für Footer und das Statement. Ein dunkles Salbei nur für Buchen und Probestunde. Keine Lila-, Pink- oder Türkis-Verläufe, keine Chakra-Farben, kein Weiß wie in einer Klinik.",
  "beispiel": [
   "#F2EEE8 Grund Leinen",
   "#2A2622 Text (13,0 : 1 auf Grund)",
   "#E3D8CA Fläche Ton: Stundenplan, Preise, Neu-hier (Text 10,7 : 1)",
   "#3A3430 Dunkel Abend: Statement-Band, Footer (Weiß darauf 12,3 : 1)",
   "#4C5B47 Signal Salbei: Klasse buchen, Probestunde (Weiß darauf 7,3 : 1; als Fläche auf Grund 6,3 : 1, auf Ton 5,2 : 1); auf Abend stattdessen Leinen-Knopf mit dunkler Schrift",
   "#655E57 Leise: Meta-Angaben, Lehrer:in und Raum im Plan (5,5 : 1 auf Grund, 4,5 : 1 auf Ton)",
   "#D7CFC4 Linie: Haarlinien im Stundenplan (nur Dekoration)"
  ]
 },
 "animationsstil": "token-luxus-weich",
 "animationsstil_ui": "token-toggle-asymmetrisch",
 "animationsstil_hinweis": "Weich wie ein Atemzug, aber nur für Bilder: Fotos öffnen sich einmal (1400 ms, sine.inOut), das Hero-Foto skaliert einmal von 1.04 auf 1. Die Signatur ist scrollgekoppelt und hat keine eigene Kurve. Stundenplan-Filter, Buchung, Preise und Dialoge laufen über token-toggle-asymmetrisch (300 ms auf, 200 ms zu), weil token-luxus-weich Formulare ausschließt.",
 "bewegung": {
  "easing": "cubic-bezier(0.37, 0, 0.63, 1) (token-luxus-weich, nur Bilder); UI über animationsstil_ui",
  "beobachtet": "nicht gemessen; scroll-word-highlight-Messwerte der Demo (beobachtet): Deckkraft 0,1 → 1 bzw. Farbe, Bereich Oberkante bei 90 % bis Unterkante bei 50 % des Viewports",
  "dauer_ms": "150 (Hover, Farbe), 300 (Filter, Dialog öffnen), 200 (schließen), 1400 (Masken-Reveal eines Fotos, einmal), 2200 (Hero-Foto 1.04 → 1, einmal); Statement scrollgekoppelt",
  "regel": "Langsam und selten: Fotos öffnen sich einmal, der eine Statement-Absatz füllt sich beim Scrollen Wort für Wort von hellem Ton zu voller Textfarbe. Stundenplan, Preise und Formulare stehen sofort. Kein Atem-Kreis, keine Dauerbewegung, keine Hintergrundmusik. Bei prefers-reduced-motion steht der Absatz in voller Farbe, Fotos stehen.",
  "herkunft": "Kurve und Dauern aus token-luxus-weich (500/1200/1400/2200) und token-toggle-asymmetrisch; Signatur nach scroll-word-highlight (bau.werte: Farbe statt Deckkraft).",
  "kurve": {
   "haupt": "cubic-bezier(0.37, 0, 0.63, 1)",
   "token": "--ease",
   "ein": "cubic-bezier(0.61, 1, 0.88, 1)",
   "aus": "cubic-bezier(0.37, 0, 0.63, 1)",
   "stil": "token-luxus-weich",
   "gilt_fuer": "nur Bilder, langsam und selten (sine.inOut); Stundenplan-Filter, Buchung, Preise, Dialoge über das UI-Paar; die Signatur ist scrollgekoppelt",
   "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-luxus-weich, UI token-toggle-asymmetrisch)"
  },
  "dauern": {
   "klein": 150,
   "mittel": 300,
   "gross": 1400,
   "seitenwechsel": 500,
   "schliessen": 200,
   "aus_faktor": 0.67,
   "tokens": {
    "klein": "--dauer-rezept-1",
    "mittel": "--dauer-rezept-3",
    "gross": "--dauer-rezept-4",
    "seitenwechsel": "--dauer-s",
    "schliessen": "--dauer-rezept-2"
   },
   "hinweis": "Rezept: 150 Hover, 300 Filter und Dialog öffnen, 200 schließen, 1400 Masken-Reveal eines Fotos einmal, 2200 Hero-Foto 1.04 → 1 einmal."
  },
  "laden": {
   "schritte": [
    {
     "teil": "Kopf mit Stundenplan",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht"
    },
    {
     "teil": "Hero-Foto (passepartout)",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht ab dem ersten Bild; skaliert einmal 1.04 → 1 in 2200 ms (Ausklang, zählt nicht zu ende_ms)"
    },
    {
     "teil": "H1",
     "ab_ms": [
      200,
      320,
      440
     ],
     "dauer_ms": 1200,
     "art": "Zeilen steigen aus Masken, --ease-ein"
    },
    {
     "teil": "Rest",
     "ab_ms": null,
     "dauer_ms": 0,
     "art": "erst beim Scrollen (scroll)"
    }
   ],
   "ende_ms": 1640,
   "wiederholt": "H1 steht, Foto steht."
  },
  "scroll": {
   "reveals": [
    {
     "art": "Bild-Maske",
     "muster": "clip-path-bild-reveal",
     "wo": "Fotos von Raum und Kursen",
     "dauer_ms": 1400,
     "versatz_ms": 120,
     "weg": "Maske öffnet sich einmal",
     "ausloeser": "einmal, wenn 33 % sichtbar (IntersectionObserver)"
    },
    {
     "art": "Kapitelkante",
     "muster": "kapitel-kante-signatur",
     "wo": "Kapitelgrenzen der Startseite (Stundenplan → Stile und Klassen → Wie wir unterrichten), Kapitel-Wort auf dem Scheitel",
     "dauer_ms": "scrollgekoppelt",
     "versatz_ms": 0,
     "weg": "die Fläche des nächsten Kapitels wölbt sich wie ein Atemzug (0 → 1,12 → 1, cubic-bezier(0.37, 0, 0.63, 1)), nur mit dem Scroll",
     "ausloeser": "scrollgekoppelt (animation-timeline: view(); animation-range-start cover 5 %, animation-range-end cover 50 %, als Langform nach der Kurzschreibweise animation); ohne Unterstützung Endzustand"
    }
   ],
   "fortschritt": "keine",
   "nie": [
    "Stundenplan, Preise, Formulare (Rezept)"
   ]
  },
  "hover": {
   "link": "Unterstreichung wächst von links",
   "knopf": "tiefen-taste-3d soft; pfeil-icon-button linie",
   "karte": "karte-ganzflaechig-klickbar raster: Pfeil 4 px, Bild steht",
   "bild": "kein Zoom",
   "ein_ms": 300,
   "aus_ms": 200,
   "kurve": "--ui-ease-ein / --ui-ease-aus"
  },
  "signatur": {
   "muster": "scroll-word-highlight",
   "variante": null,
   "bewegung": "Der eine Statement-Absatz füllt sich beim Scrollen Wort für Wort von hellem Ton zu voller Textfarbe (scrollgekoppelt, kein Weg).",
   "ausloeser": "Scroll",
   "dauer_ms": "scrollgekoppelt",
   "wiederholung": "nur mit dem Scroll"
  },
  "seitenwechsel": {
   "muster": "vt-cross-document-mpa",
   "variante": "typen",
   "zusatz": [],
   "richtung": "vor: das Bild wandert, der Text blendet nach; zurück gespiegelt",
   "geteilt": [
    "kopf",
    "bild (Kursbild → Kopfbild der Kursseite)"
   ],
   "dauer_ms": 500,
   "kurve": "--ease (sine.inOut), keine Federn"
  },
  "budget": [
   "Langsam und selten (Rezept).",
   "Keine Dauerbewegung (Rezept).",
   "Kapitelkanten nur mit dem Scroll, nie von selbst."
  ],
  "reduziert": "Absatz steht in voller Farbe, Fotos stehen (Rezept); Seitenwechsel als Überblendung. Kapitelkanten stehen gewölbt ohne Bewegung.",
  "verboten": [
   "Atem-Kreis (Rezept)",
   "Hintergrundmusik und Klangschalen-Autoplay (Rezept)",
   "Räucherrauch, Lotus oder Wellen als Animation",
   "Federn"
  ],
  "partitur_herkunft": "Kein Starter. Werte aus bewegung.dauer_ms und animationsstil_hinweis; Signatur nach scroll-word-highlight. Rest eigene Festlegung. Kapitelkante 05.11.2026 aus kapitel-kante-signatur (woelbung, Yoga).",
  "partitur_stand": "05.11.2026"
 },
 "hero_beschreibung": "Foto-Hero im Passepartout: ein ruhiges Foto aus dem eigenen Studio (Raum im Abendlicht oder eine Klasse von hinten), viel Leinen ringsum. Daneben ein Satz, was hier unterrichtet wird und für wen, und zwei Wege: „Stundenplan“ und „Erste Stunde buchen“. Direkt darunter die nächsten drei Klassen mit Uhrzeit. Keine Sonnenuntergänge am Strand, keine Lotus-Icons.",
 "muster": {
  "seitenuebergang": [],
  "preloader": [],
  "navigation": [
   "native-popover-dropdowns",
   "mobile-bottom-navigation",
   "brotkrumen-pfad"
  ],
  "hero": [
   "foto-hero"
  ],
  "hero_variante": [],
  "sektionen": [
   {
    "zweck": "Stundenplan diese Woche (Stil, Niveau, Lehrer:in, Raum, freie Plätze als Text; Einsteigerfilter zuerst; Ausfälle und Vertretungen am Termin; Buchung im Studio-Tool nach Klick, Warteliste)",
    "muster": [
     "wochen-kursplan",
     "termin-buchung-zwei-klick"
    ],
    "varianten": {
     "wochen-kursplan": "studio",
     "termin-buchung-zwei-klick": "linkout"
    }
   },
   {
    "zweck": "Neu hier? (erste Stunde: was mitbringen, wann da sein, Matten leihen, Einsteigerkurs mit Datum und Preis; Schwangerschaft, Verletzungen und Erkrankungen vorher sagen; ehrlich, wann eine Klasse nicht passt)",
    "muster": [
     "akkordeon-hoehe-auto"
    ],
    "varianten": {
     "akkordeon-hoehe-auto": "basis"
    }
   },
   {
    "zweck": "Stile und Klassen (Hatha, Vinyasa, Yin, Pilates, Meditation; je Klasse Tempo, Niveau, Dauer und für wen nicht; je Stil eine Unterseite, Antwort zuerst)",
    "muster": [
     "raster-zu-wischreihe",
     "leistungsseite-antwort-zuerst"
    ],
    "varianten": {
     "raster-zu-wischreihe": "einreihig",
     "leistungsseite-antwort-zuerst": "praxis"
    }
   },
   {
    "zweck": "Wie wir unterrichten (ein Absatz, der sich beim Lesen Wort für Wort füllt; darunter die Lehrer:innen in einem Satz mit kleinen Porträts, Ausbildung und Stile)",
    "muster": [
     "scroll-word-highlight",
     "team-ueber-mich-layout"
    ],
    "varianten": {
     "team-ueber-mich-layout": "statement"
    }
   },
   {
    "zweck": "Person-Detailseite (je Person eine Seite, aufgerufen aus dem Team: Lehrerin oder Lehrer mit Stilen, Ausbildung, Schwerpunkten, Sprachen und eigenen Stunden im Plan; Foto nur echt und mit Einwilligung, sonst markierter Platzhalter)",
    "muster": [
     "person-detailseite"
    ],
    "varianten": {
     "person-detailseite": "stylistin"
    }
   },
   {
    "zweck": "Preise (Probestunde, Einzelstunde, 10er-Karte mit Gültigkeit, Monatsabo mit Mindestlaufzeit und Kündigungsfrist, Ermäßigung; eine Tabelle; online geschlossene Abos mit Kündigungsbutton)",
    "muster": [
     "preisseite-geruest",
     "vergleichstabelle-sticky",
     "widerruf-und-kuendigung-schaltflaeche"
    ],
    "varianten": {
     "vergleichstabelle-sticky": "pakete",
     "widerruf-und-kuendigung-schaltflaeche": "richtig",
     "preisseite-geruest": "kurskarte"
    }
   },
   {
    "zweck": "Workshops, Ausbildungen, Retreats (Einzeltermine mit Datum, Ort, Preis, enthaltenen Leistungen und Storno; Retreats mit Unterkunft ggf. als Pauschalreise)",
    "muster": [
     "programm-kalender",
     "css-native-karussell"
    ],
    "varianten": {
     "programm-kalender": "programm",
     "css-native-karussell": "peek"
    }
   },
   {
    "zweck": "Veranstaltung-Detailseite (je Termin eine Seite, aufgerufen aus der Liste: Workshop oder Retreat mit Datum, Ort, Preis, enthaltenen Leistungen, Storno und Anmeldung; freie Plätze nur aus echter Quelle, Vergangenes mit Hinweis statt Fehlerseite)",
    "muster": [
     "veranstaltung-detailseite"
    ],
    "varianten": {
     "veranstaltung-detailseite": "ticket"
    }
   },
   {
    "zweck": "Online-Klassen (nur, wenn es sie gibt: eigener Player mit Kapiteln und Transkript; Zugang über das Studio-Tool)",
    "muster": [
     "eigener-videoplayer"
    ],
    "varianten": {
     "eigener-videoplayer": "kapitel"
    }
   },
   {
    "zweck": "Studio und Räume (Fotos der Räume, Umkleiden, Duschen, Stufen und Aufzug, Anfahrt mit Rad und Bahn; Karte per 2-Klick)",
    "muster": [
     "css-native-karussell",
     "karte-zwei-klick",
     "oeffnungszeiten-status"
    ],
    "varianten": {
     "css-native-karussell": "fenster",
     "karte-zwei-klick": "bild",
     "oeffnungszeiten-status": "kompakt"
    }
   },
   {
    "zweck": "Frage stellen (höchstens fünf Angaben als ein Satz; Gesundheitsangaben nur freiwillig)",
    "muster": [
     "kontakt-anfrage-formular"
    ],
    "varianten": {
     "kontakt-anfrage-formular": "satz"
    }
   },
   {
    "zweck": "Gutscheine (nur mit Zahlungsdienst und Codeverwaltung)",
    "muster": [
     "gutschein-konfigurator"
    ]
   },
   {
    "zweck": "Studiobrief (neue Kurse und Workshops, wenige Briefe; Sparte und Takt wählbar)",
    "muster": [
     "footer-newsletter-mit-persoenlichkeit",
     "danke-seite-naechste-schritte"
    ],
    "varianten": {
     "footer-newsletter-mit-persoenlichkeit": "kultur",
     "danke-seite-naechste-schritte": "bestaetigen"
    }
   },
   {
    "zweck": "Erklärung zur Barrierefreiheit (bei Online-Buchung und Abos nach BFSG prüfen lassen)",
    "muster": [
     "barrierefreiheit-seite"
    ],
    "varianten": {
     "barrierefreiheit-seite": "bfsg"
    }
   }
  ],
  "scroll": [
   "scroll-word-highlight",
   "clip-path-bild-reveal",
   "kapitel-kante-signatur"
  ],
  "schrift_animation": [],
  "hover": [
   "karte-ganzflaechig-klickbar"
  ],
  "cursor": [],
  "mikro": [
   "einblenden-starting-style",
   "checkbox-radio-animiert"
  ],
  "material": [],
  "galerie": [
   "css-native-karussell"
  ],
  "footer": [
   "footer-newsletter-mit-persoenlichkeit"
  ],
  "button": [
   "tiefen-taste-3d",
   "pfeil-icon-button"
  ],
  "hero_varianten": {
   "foto-hero": "passepartout"
  }
 },
 "signatur": [
  "scroll-word-highlight"
 ],
 "moment": {
  "was": "Der eine Statement-Absatz in großer Schrift füllt sich beim Scrollen Wort für Wort von hellem Ton zu voller Textfarbe. Langsam und groß.",
  "wo": "Startseite, zweiter Bildschirm",
  "gewicht": "groß und scrollgekoppelt: Absatz bis 2.5rem, höchstens 32ch, eigene Bildschirmhöhe",
  "muster": [
   "scroll-word-highlight"
  ],
  "variante": null
 },
 "varianten_demo": {
  "mobile-bottom-navigation": "fab",
  "tiefen-taste-3d": "soft",
  "pfeil-icon-button": "linie",
  "karte-ganzflaechig-klickbar": "raster",
  "brotkrumen-pfad": "voll",
  "kapitel-kante-signatur": "woelbung"
 },
 "nicht_verwenden": [
  "variable-font-axes – Signatur von fitness-studio-rhythmus",
  "token-brutal-hart – harter Takt passt nicht zu ruhigen Studios",
  "hovercard-interest-invoker – Signatur von praxis-gesundheit-ruhig",
  "fluessig-marmor-hintergrund / mesh-gradient-shader – Pastell- und Aurora-Verläufe sind das Spiritualitäts-Klischee",
  "smooth-scroll-lenis – verzögert Stundenplan und Buchung, auch wenn es „ruhig“ wirkt",
  "konfetti-erfolg – nach der Buchung eine ruhige Bestätigung",
  "zahlen-odometer – keine hochgezählten Teilnehmerzahlen",
  "marquee-laufband – unruhig",
  "Lotus-, Om- und Chakra-Ornamente, Sonnenuntergänge am Strand, Stockfotos in perfekter Pose – eigene Fotos aus dem Studio",
  "Heilversprechen („heilt Rückenschmerzen“, „gegen Depression“) und „von der Krankenkasse bezahlt“ ohne Zertifizierung"
 ],
 "regeln": [
  "Erster Bildschirm: Foto im Passepartout, ein Satz zum Unterricht, zwei Wege „Stundenplan“ und „Erste Stunde buchen“, darunter die nächsten drei Klassen mit Uhrzeit.",
  "Signatur (scroll-word-highlight): genau ein Absatz pro Seite (Wie wir unterrichten), höchstens etwa 40 Wörter, füllt sich beim Scrollen Wort für Wort von hellem Ton zur Textfarbe; Bereich Oberkante bei 90 % bis Unterkante bei 50 % des Viewports. Nie für Preise, Regeln oder lange Texte; bei reduzierter Bewegung voller Text.",
  "Stundenplan (wochen-kursplan, Variante studio): Einsteigerfilter zuerst, freie Plätze als Text, Ausfälle am Termin; Buchung im Studio-Tool nach Klick oder in neuem Tab, Telefon daneben.",
  "Ehrlich über Grenzen: je Klasse für wen sie nicht passt; Schwangerschaft, Verletzungen und Erkrankungen vorher sagen; Gesundheitsangaben nie als Pflichtfeld.",
  "Keine Heilversprechen und keine Wirkaussagen zu Krankheiten (Heilmittelwerbegesetz, Irreführung); Präventionskurse mit Kassenzuschuss nur mit gültiger Zertifizierung und Kursnummer nennen. Vom Kunden prüfen lassen.",
  "Verträge: Preise inkl. MwSt.; Monatsabo mit Mindestlaufzeit, Verlängerung und Kündigungsfrist in der Tabelle; online geschlossene Verträge mit Widerrufs- und Kündigungsbutton (widerruf-und-kuendigung-schaltflaeche, Variante richtig); Kurse mit festem Termin können vom Widerruf ausgenommen sein. Retreats mit Unterkunft und weiteren Leistungen können Pauschalreisen sein (Formblatt, Insolvenzsicherung). Vom Kunden prüfen lassen.",
  "Fotos von Teilnehmenden nur mit Einwilligung; Online-Klassen mit Musik nur mit geklärten Rechten.",
  "Knöpfe: Salbei als weiche Taste mit 1-px-Kontur (tiefen-taste-3d, Variante soft) für Buchen und Probestunde, nie auf dunklem Grund; Nebenwege als Textlink mit Pfeil (pfeil-icon-button, Variante linie).",
  "Kapitelkanten als Wölbung wie ein Atemzug (kapitel-kante-signatur, Variante woelbung): nur mit dem Scroll, höchstens drei auf der Startseite, nie über Stundenplan und Preisen; kein Atem-Kreis, der von selbst läuft."
 ],
 "varianten": [
  {
   "name": "Pilates-Studio mit Geräten (Reformer)",
   "hinweis": "Schrift, Farbe, Stil und Signatur bleiben. Kleine Gruppen und Einzeltraining an Geräten: Plätze je Klasse als Zahl, Einführungsstunde Pflicht vor Gruppenklassen, Preise je Gerätestunde. Fotos der Geräte im echten Raum.",
   "sektionen": [
    "Stundenplan mit Geräteklassen",
    "Einführung und Einzeltraining",
    "Preise je Gerätestunde",
    "Lehrer:innen",
    "Studio"
   ],
   "weglassen": [
    "Retreats",
    "Online-Klassen"
   ],
   "muster_zusatz": []
  },
  {
   "name": "Yogalehrer:in ohne eigenes Studio",
   "hinweis": "Kurse in gemieteten Räumen und online: Orte je Kurs mit Anfahrt, Kursblöcke statt Wochenplan (programm-kalender), Retreats als Hauptangebot. Über mich als Statement mit Ausbildung.",
   "sektionen": [
    "Nächste Kurse und Orte",
    "Über mich",
    "Retreats",
    "Preise",
    "Kontakt"
   ],
   "weglassen": [
    "Wochenplan mit Räumen",
    "Studio und Räume"
   ],
   "muster_zusatz": []
  }
 ],
 "template_tauglich": true,
 "aufwand": "mittel",
 "leistung": "Passepartout-Foto als LCP mit fetchpriority=high, einmaliges Zurückskalieren nur per transform. Statement per CSS-Scroll-Timeline hinter @supports, Wörter als span, ohne SplitText; ohne Unterstützung voller Text. Fraunces nur mit opsz, wght und SOFT, Familjen Grotesk mit Kursive. Studio-Tool, Karte und Player erst nach Klick.",
 "offen": [
  "fitness-studio-rhythmus hat weiter die Variante „Yoga, Pilates, Tanz (ruhige Studios)“; Vorschlag an den Auftraggeber: dort auf dieses Rezept verweisen. Die Suchbegriffe Yoga und Pilates sind im Rezept-Finder zu diesem Rezept umgezogen.",
  "Nur eine Referenz per WebFetch geprüft (London); deutsche Studios nur über Buchungsplattformen gesehen, deshalb nicht aufgenommen."
 ],
 "raum": {
  "basis_px": 8,
  "skala_px": [
   4,
   8,
   12,
   16,
   24,
   32,
   48,
   72,
   104,
   152
  ],
  "sektion": "clamp(72px, 10vw, 152px)",
  "dichte": "luftig",
  "hinweis": "Viel Atemraum zwischen Kapiteln; der Stundenplan bleibt kompakt (8 px Zeilenabstand), damit er auf einen Bildschirm passt."
 },
 "raster": {
  "spalten": 12,
  "rand": "clamp(20px, 5vw, 72px)",
  "spalt": "clamp(16px, 2vw, 32px)",
  "max_breite": "1200px",
  "hinweis": "Hero 5/7 (Text links, Passepartout rechts). Statement mittig über 8 Spalten. Stundenplan über 12 Spalten, mobil Tages-Reiter."
 },
 "form": {
  "radius_klein": "10px",
  "radius_gross": "24px",
  "pille": true,
  "linie": "1px #D7CFC4 im Stundenplan; Felder 1px in Leise (3:1)",
  "schatten": "nur die weiche Taste (tiefen-taste-3d, soft)",
  "hinweis": "Weich und rund wie eine Matte; Knöpfe als Pille."
 },
 "bildsprache": {
  "licht": "Weiches Seitenlicht am Morgen oder Abend, warm, nicht überbelichtet.",
  "ausschnitt": "Raum mit Matten in der Totale, Hände und Füße im Detail, Klasse von hinten oder seitlich.",
  "personen": "Ja, mit Einwilligung; echte Teilnehmende, keine perfekten Posen.",
  "formate": [
   "4:5",
   "3:2",
   "1:1"
  ],
  "nicht": "Keine Strand-Sonnenuntergänge, keine Lotus- und Chakra-Grafiken, keine Stock-Models in Extremposen.",
  "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 (Studio) oder Sie (Präventionskurse), dann durchgehend",
  "saetze": "Ruhig und konkret: Klasse, Uhrzeit, Niveau, was du mitbringst.",
  "haltung": "Geerdet und einladend, ohne Esoterik-Floskeln.",
  "beispiele": [
   "Yin, 75 Minuten, ruhig. Gut nach einem langen Tag.",
   "Erste Stunde: Komm zehn Minuten früher, Matten haben wir."
  ],
  "nicht": "„Finde zu dir selbst“, „heilende Energie“, „Detox“, Heilversprechen."
 },
 "hero_aufbau": {
  "raster": "12 Spalten: Text über Spalte 1 bis 5, Foto im Passepartout über 6 bis 12 mit 48 px Leinen ringsum; mobil Foto oben.",
  "bild": "Ruhiges Foto aus dem eigenen Studio, 4:5.",
  "h1": "clamp(2.5rem, 1.5rem + 4vw, 5rem), Fraunces 300 SOFT 100; kein Label darüber.",
  "handlung": "„Erste Stunde buchen“ (Salbei, weiche Taste) und „Stundenplan“ (Textlink mit Pfeil).",
  "zusatz": "Die nächsten drei Klassen mit Uhrzeit und freien Plätzen direkt unter dem Hero."
 },
 "url": "https://cecodesign.de/lab/fundus/rezepte/yoga-studio-achtsamkeit/",
 "tokens_css": "https://cecodesign.de/lab/fundus/rezepte/yoga-studio-achtsamkeit/tokens.css",
 "bauplan": "https://cecodesign.de/lab/fundus/rezepte/yoga-studio-achtsamkeit/bauplan.txt",
 "rezept_json": "https://cecodesign.de/lab/fundus/rezepte/yoga-studio-achtsamkeit/rezept.json",
 "nicht_verwenden_ids": [
  {
   "ids": [
    "variable-font-axes"
   ],
   "grund": "Signatur von fitness-studio-rhythmus"
  },
  {
   "ids": [
    "token-brutal-hart"
   ],
   "grund": "harter Takt passt nicht zu ruhigen Studios"
  },
  {
   "ids": [
    "hovercard-interest-invoker"
   ],
   "grund": "Signatur von praxis-gesundheit-ruhig"
  },
  {
   "ids": [
    "fluessig-marmor-hintergrund",
    "mesh-gradient-shader"
   ],
   "grund": "Pastell- und Aurora-Verläufe sind das Spiritualitäts-Klischee"
  },
  {
   "ids": [
    "smooth-scroll-lenis"
   ],
   "grund": "verzögert Stundenplan und Buchung, auch wenn es „ruhig“ wirkt"
  },
  {
   "ids": [
    "konfetti-erfolg"
   ],
   "grund": "nach der Buchung eine ruhige Bestätigung"
  },
  {
   "ids": [
    "zahlen-odometer"
   ],
   "grund": "keine hochgezählten Teilnehmerzahlen"
  },
  {
   "ids": [
    "marquee-laufband"
   ],
   "grund": "unruhig"
  },
  {
   "ids": [],
   "grund": "Lotus-, Om- und Chakra-Ornamente, Sonnenuntergänge am Strand, Stockfotos in perfekter Pose – eigene Fotos aus dem Studio"
  },
  {
   "ids": [],
   "grund": "Heilversprechen („heilt Rückenschmerzen“, „gegen Depression“) und „von der Krankenkasse bezahlt“ ohne Zertifizierung"
  }
 ],
 "alle_muster": [
  {
   "id": "scroll-word-highlight",
   "rolle": "Signatur",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/schrift-animationen/scroll-word-highlight/meta.json"
  },
  {
   "id": "foto-hero",
   "rolle": "Hero",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero/meta.json",
   "variante": "passepartout",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero/demo?v=passepartout"
  },
  {
   "id": "wochen-kursplan",
   "rolle": "Sektion: Stundenplan diese Woche (Stil, Niveau, Lehrer:in, Raum, freie Plätze als Text; Einsteigerfilter zuerst; Ausfälle und Vertretungen am Termin; Buchung im Studio-Tool nach Klick, Warteliste)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/wochen-kursplan/meta.json",
   "variante": "studio",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/wochen-kursplan/demo?v=studio"
  },
  {
   "id": "termin-buchung-zwei-klick",
   "rolle": "Sektion: Stundenplan diese Woche (Stil, Niveau, Lehrer:in, Raum, freie Plätze als Text; Einsteigerfilter zuerst; Ausfälle und Vertretungen am Termin; Buchung im Studio-Tool nach Klick, Warteliste)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/termin-buchung-zwei-klick/meta.json",
   "variante": "linkout",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/termin-buchung-zwei-klick/demo?v=linkout"
  },
  {
   "id": "akkordeon-hoehe-auto",
   "rolle": "Sektion: Neu hier? (erste Stunde: was mitbringen, wann da sein, Matten leihen, Einsteigerkurs mit Datum und Preis; Schwangerschaft, Verletzungen und Erkrankungen vorher sagen; ehrlich, wann eine Klasse nicht passt)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/meta.json",
   "variante": "basis",
   "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/demo?v=basis"
  },
  {
   "id": "raster-zu-wischreihe",
   "rolle": "Sektion: Stile und Klassen (Hatha, Vinyasa, Yin, Pilates, Meditation; je Klasse Tempo, Niveau, Dauer und für wen nicht; je Stil eine Unterseite, Antwort zuerst)",
   "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": "leistungsseite-antwort-zuerst",
   "rolle": "Sektion: Stile und Klassen (Hatha, Vinyasa, Yin, Pilates, Meditation; je Klasse Tempo, Niveau, Dauer und für wen nicht; je Stil eine Unterseite, Antwort zuerst)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/leistungsseite-antwort-zuerst/meta.json",
   "variante": "praxis",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/leistungsseite-antwort-zuerst/demo?v=praxis"
  },
  {
   "id": "team-ueber-mich-layout",
   "rolle": "Sektion: Wie wir unterrichten (ein Absatz, der sich beim Lesen Wort für Wort füllt; darunter die Lehrer:innen in einem Satz mit kleinen Porträts, Ausbildung und Stile)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/team-ueber-mich-layout/meta.json",
   "variante": "statement",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/team-ueber-mich-layout/demo?v=statement"
  },
  {
   "id": "person-detailseite",
   "rolle": "Sektion: Person-Detailseite (je Person eine Seite, aufgerufen aus dem Team: Lehrerin oder Lehrer mit Stilen, Ausbildung, Schwerpunkten, Sprachen und eigenen Stunden im Plan; Foto nur echt und mit Einwilligung, sonst markierter Platzhalter)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/person-detailseite/meta.json",
   "variante": "stylistin",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/person-detailseite/demo?v=stylistin"
  },
  {
   "id": "preisseite-geruest",
   "rolle": "Sektion: Preise (Probestunde, Einzelstunde, 10er-Karte mit Gültigkeit, Monatsabo mit Mindestlaufzeit und Kündigungsfrist, Ermäßigung; eine Tabelle; online geschlossene Abos mit Kündigungsbutton)",
   "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": "vergleichstabelle-sticky",
   "rolle": "Sektion: Preise (Probestunde, Einzelstunde, 10er-Karte mit Gültigkeit, Monatsabo mit Mindestlaufzeit und Kündigungsfrist, Ermäßigung; eine Tabelle; online geschlossene Abos mit Kündigungsbutton)",
   "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": "widerruf-und-kuendigung-schaltflaeche",
   "rolle": "Sektion: Preise (Probestunde, Einzelstunde, 10er-Karte mit Gültigkeit, Monatsabo mit Mindestlaufzeit und Kündigungsfrist, Ermäßigung; eine Tabelle; online geschlossene Abos mit Kündigungsbutton)",
   "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": "programm-kalender",
   "rolle": "Sektion: Workshops, Ausbildungen, Retreats (Einzeltermine mit Datum, Ort, Preis, enthaltenen Leistungen und Storno; Retreats mit Unterkunft ggf. als Pauschalreise)",
   "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": "css-native-karussell",
   "rolle": "Sektion: Workshops, Ausbildungen, Retreats (Einzeltermine mit Datum, Ort, Preis, enthaltenen Leistungen und Storno; Retreats mit Unterkunft ggf. als Pauschalreise)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/galerien-slider/css-native-karussell/meta.json",
   "varianten_je_rolle": [
    {
     "rolle": "Sektion: Workshops, Ausbildungen, Retreats (Einzeltermine mit Datum, Ort, Preis, enthaltenen Leistungen und Storno; Retreats mit Unterkunft ggf. als Pauschalreise)",
     "variante": "peek",
     "demo_url": "https://cecodesign.de/lab/fundus/galerien-slider/css-native-karussell/demo?v=peek"
    },
    {
     "rolle": "Sektion: Studio und Räume (Fotos der Räume, Umkleiden, Duschen, Stufen und Aufzug, Anfahrt mit Rad und Bahn; Karte per 2-Klick)",
     "variante": "fenster",
     "demo_url": "https://cecodesign.de/lab/fundus/galerien-slider/css-native-karussell/demo?v=fenster"
    }
   ]
  },
  {
   "id": "veranstaltung-detailseite",
   "rolle": "Sektion: Veranstaltung-Detailseite (je Termin eine Seite, aufgerufen aus der Liste: Workshop oder Retreat mit Datum, Ort, Preis, enthaltenen Leistungen, Storno und Anmeldung; 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": "eigener-videoplayer",
   "rolle": "Sektion: Online-Klassen (nur, wenn es sie gibt: eigener Player mit Kapiteln und Transkript; Zugang über das Studio-Tool)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/eigener-videoplayer/meta.json",
   "variante": "kapitel",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/eigener-videoplayer/demo?v=kapitel"
  },
  {
   "id": "karte-zwei-klick",
   "rolle": "Sektion: Studio und Räume (Fotos der Räume, Umkleiden, Duschen, Stufen und Aufzug, Anfahrt mit Rad und Bahn; 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": "oeffnungszeiten-status",
   "rolle": "Sektion: Studio und Räume (Fotos der Räume, Umkleiden, Duschen, Stufen und Aufzug, Anfahrt mit Rad und Bahn; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/meta.json",
   "variante": "kompakt",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/demo?v=kompakt"
  },
  {
   "id": "kontakt-anfrage-formular",
   "rolle": "Sektion: Frage stellen (höchstens fünf Angaben als ein Satz; Gesundheitsangaben nur freiwillig)",
   "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": "gutschein-konfigurator",
   "rolle": "Sektion: Gutscheine (nur mit Zahlungsdienst und Codeverwaltung)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/gutschein-konfigurator/meta.json"
  },
  {
   "id": "footer-newsletter-mit-persoenlichkeit",
   "rolle": "Sektion: Studiobrief (neue Kurse und Workshops, wenige Briefe; Sparte und Takt wählbar)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/footer/footer-newsletter-mit-persoenlichkeit/meta.json",
   "variante": "kultur",
   "demo_url": "https://cecodesign.de/lab/fundus/footer/footer-newsletter-mit-persoenlichkeit/demo?v=kultur"
  },
  {
   "id": "danke-seite-naechste-schritte",
   "rolle": "Sektion: Studiobrief (neue Kurse und Workshops, wenige Briefe; Sparte und Takt wählbar)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/danke-seite-naechste-schritte/meta.json",
   "variante": "bestaetigen",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/danke-seite-naechste-schritte/demo?v=bestaetigen"
  },
  {
   "id": "barrierefreiheit-seite",
   "rolle": "Sektion: Erklärung zur Barrierefreiheit (bei Online-Buchung und Abos 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": "fab",
   "demo_url": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/demo?v=fab"
  },
  {
   "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": "clip-path-bild-reveal",
   "rolle": "Scroll",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/scroll/clip-path-bild-reveal/meta.json"
  },
  {
   "id": "kapitel-kante-signatur",
   "rolle": "Scroll",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/scroll/kapitel-kante-signatur/meta.json",
   "variante": "woelbung",
   "demo_url": "https://cecodesign.de/lab/fundus/scroll/kapitel-kante-signatur/demo?v=woelbung"
  },
  {
   "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": "einblenden-starting-style",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/einblenden-starting-style/meta.json"
  },
  {
   "id": "checkbox-radio-animiert",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/checkbox-radio-animiert/meta.json"
  },
  {
   "id": "tiefen-taste-3d",
   "rolle": "Buttons",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/tiefen-taste-3d/meta.json",
   "variante": "soft",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/tiefen-taste-3d/demo?v=soft"
  },
  {
   "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-luxus-weich",
   "rolle": "Animationsstil",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/token-luxus-weich/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": "optische-groessen-opsz",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/optische-groessen-opsz/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"
  }
 ]
}
