{
 "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": "tierarztpraxis",
 "name": "Tierarztpraxis: zugewandt und klar",
 "branche": "Tierarztpraxis / Kleintierpraxis / Tierklinik / Pferdepraxis / mobile Tierärztin",
 "stimmung": [
  "zugewandt",
  "ruhig",
  "klar",
  "warm"
 ],
 "stimmung_tags": [
  "warm",
  "ruhig"
 ],
 "kurz": "Wer eine Tierarztseite öffnet, hat oft ein krankes Tier: Notdienst und heutige Sprechzeiten stehen deshalb im ersten Blick auf einer Karte im Foto, mobil in der unteren Leiste. Danach Tierarten mit dem ehrlichen Satz, was die Praxis nicht behandelt, Leistungen mit Antwort zuerst, Termin oder offene Sprechstunde, der erste Besuch, Kosten nach GOT verständlich, Team und Anfahrt. Young Serif rund und warm für Überschriften, Onest für Text. Hafer, Salbei und Tannengrün, ein Kürbiston nur für Termin und Anrufen. Signatur: eine kleine gezeichnete Figur, die in Rückruf-Formular, Leerzuständen und auf der Fehlerseite mitreagiert, nie im Notfallbereich. Eigenes Rezept statt der Variante Tierarztpraxis in praxis-gesundheit-ruhig, weil Tierhalter:innen eine wärmere Welt und andere Wege brauchen als Patient:innen.",
 "referenzen": [
  {
   "seite": "Tierklinik Hofheim – Notaufnahme nachts, an Wochenenden und Feiertagen",
   "url": "https://www.tierklinik-hofheim.de/die-klinik/fachbereiche/notaufnahme/unser-notdienst-nachts-wochenends-und-feiertags.html",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-04",
   "quelle": "https://www.tierklinik-hofheim.de/die-klinik/fachbereiche/notaufnahme/unser-notdienst-nachts-wochenends-und-feiertags.html",
   "beobachtung": "Live geprüft 04.11.2026 (WebFetch, nur Text): Notdienst als eigene Seite; keine Voranmeldung („Bitte kommen Sie einfach vorbei“), Vorbefunde mitbringen; Hinweis auf die Gebührenordnung mit „einem deutlich erhöhten Kostensatz“; Reihenfolge nach „medizinischer Dringlichkeit, nicht nach der Reihenfolge des Eintreffens“; „Erhebliche Wartezeiten für weniger schwer erkrankte Tiere sind unvermeidlich.“ Telefonzeiten getrennt genannt. Vorbild für ehrliche Notdienst-Hinweise."
  },
  {
   "seite": "AniCura – Standortseite Frankfurt",
   "url": "https://www.anicura.de/standorte/tierklinik-frankfurt/",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-04",
   "quelle": "https://www.anicura.de/standorte/tierklinik-frankfurt/",
   "beobachtung": "Live geprüft 04.11.2026 (WebFetch, nur Text): Knopf „Notfall“ zur Übersicht der Notfallkliniken, getrennte Zeiten für Standort (09:00 bis 19:00) und Notfall (08:00 bis 21:00), „Termin online buchen“ neben der Telefonnummer, Tierarten „Hund, Katze, Kleintiere und mehr“, Leistungen als Liste (Labor, Zahnheilkunde, Chirurgie, Internistik, Notdienst). Kein Team auf der Seite; das Rezept zeigt es."
  }
 ],
 "schrift": {
  "paarung_basis": "",
  "headline": "young-serif",
  "text": "onest",
  "akzent": "",
  "groessen": "h1 Young Serif clamp(2.25rem, 1.4rem + 3.6vw, 4rem), Laufweite -0.015em, Zeilenhöhe 1.05; h2 clamp(1.75rem, 1.3rem + 1.8vw, 2.625rem). Fließtext Onest 1.0625rem (17 px), wght 400, Zeilenhöhe 1.6, höchstens 64ch. Sprechzeiten, Notdienst und Gebühren Onest 500 mit Tabellenziffern. Knöpfe Onest 600, 1rem. Young Serif hat nur einen Schnitt; Hervorhebungen über Größe.",
  "techniken": [
   "fluide-typo-clamp-cqi",
   "tabellenziffern",
   "lesesatz-text-wrap"
  ],
  "alternative_eigenprojekt": "Text sentient (ITF) für einen noch wärmeren Ton – nur für Eigenprojekte.",
  "abweichung": "Eigene Festlegung. young-serif steht damit in zwei Rezepten (d2c als Headline mit Instrument Sans), onest in drei (kurs, lebensmittelhandwerk). Onest steht auf der Beobachtungsliste (A2) und ist hier nie allein. Unterschied zu praxis-gesundheit-ruhig: weiche Display-Serif statt Hedvig Letters Serif, warme Erdtöne statt kühler Praxis."
 },
 "farbe": {
  "prinzip": "Warm und sauber: Hafer als Grund, helles Salbei als Fläche für Tierarten, Sprechzeiten und Kosten, Tannengrün für Notdienst-Karte und Footer. Ein Kürbiston nur für Termin und Anrufen. Notdienst ist Tannengrün mit weißer Schrift, nicht Alarmrot. Keine Pfoten-Ornamente, kein Knochen-Icon, kein Babyblau.",
  "beispiel": [
   "#F4EFE6 Grund Hafer",
   "#1F2421 Text (13,8 : 1 auf Grund)",
   "#DCE4DA Fläche Salbei: Tierarten, Sprechzeiten, Kosten (Text 12,1 : 1)",
   "#23403A Dunkel Tanne: Notdienst-Hinweis im Hero, Footer (Weiß darauf 11,3 : 1)",
   "#B4491B Signal Kürbis: Termin, Anrufen (Weiß darauf 5,4 : 1; als Fläche auf Grund 4,7 : 1); auf Tanne stattdessen Hafer-Knopf mit dunkler Schrift",
   "#5C625D Leise: Meta-Angaben, Stand-Daten (5,5 : 1 auf Grund, 4,8 : 1 auf Salbei)",
   "#CFD3C9 Linie: Haarlinien in Sprechzeiten (nur Dekoration)"
  ]
 },
 "animationsstil": "token-toggle-asymmetrisch",
 "animationsstil_hinweis": "Als Hauptstil gekürzt wie bei kfz-werkstatt-autohaus: öffnen 300 ms mit cubic-bezier(0.16, 1, 0.3, 1), schließen 200 ms mit der Anlauf-Kurve. Die Figur der Signatur atmet nur im Formular und auf der Fehlerseite und hat dort ihre eigenen, kleinen Werte aus maskottchen-zustaende; sie steht still, sobald jemand tippt.",
 "bewegung": {
  "easing": "cubic-bezier(0.16, 1, 0.3, 1) (token-toggle-asymmetrisch, öffnen); schließen cubic-bezier(0.7, 0, 0.84, 0)",
  "beobachtet": "nicht gemessen: Referenzen nur inhaltlich per WebFetch geprüft",
  "dauer_ms": "150 (Hover, Farbe), 300 (Reiter, Akkordeon, Dialog öffnen), 200 (schließen), 200 (Zustandswechsel der Figur), 2400 (Atmen der Figur, nur im Formular)",
  "regel": "Im Notfallbereich bewegt sich nichts. Reiter, Akkordeon und Dialoge öffnen schnell und schließen schneller. Die Figur wechselt Zustände nur bei Eingaben (wartet, schaut zum Feld, freut sich nach dem Senden) und atmet sonst kaum sichtbar; keine Dauerschleife außerhalb des Formulars. Bei prefers-reduced-motion steht die Figur in einer ruhigen Pose. Seit 05.11.2026: ein minimales Intro einmal je Sitzung (Register fächert auf), die Seite bleibt ab 0 ms bedienbar.",
  "herkunft": "Kurve aus token-toggle-asymmetrisch (stil-tokens 150/220/300/450, hier 300/200); Werte der Figur aus maskottchen-zustaende (messwerte: Blinzeln etwa 200 ms, Atmen 2000 bis 3000 ms, typisch).",
  "kurve": {
   "haupt": "cubic-bezier(0.16, 1, 0.3, 1)",
   "token": "--ease",
   "ein": "cubic-bezier(0.16, 1, 0.3, 1)",
   "aus": "cubic-bezier(0.7, 0, 0.84, 0)",
   "stil": "token-toggle-asymmetrisch",
   "gilt_fuer": "Reiter, Akkordeon, Dialoge: öffnen schnell, schließen schneller",
   "quelle": "bewegung.easing und tokens.css (token-toggle-asymmetrisch)",
   "ausnahme": {
    "kurve": "cubic-bezier(0.45, 0, 0.2, 1)",
    "token": "--ease-seite (eigener Wert)",
    "fuer": "nur Seitenwechsel: weich hinein und hinaus, ohne Überschwingen (ruhig heißt weich, nicht kurz)"
   }
  },
  "dauern": {
   "klein": 150,
   "mittel": 300,
   "gross": 300,
   "seitenwechsel": 560,
   "schliessen": 200,
   "aus_faktor": 0.67,
   "tokens": {
    "klein": "--dauer-rezept-1",
    "mittel": "--dauer-rezept-3",
    "gross": "--dauer-rezept-3",
    "seitenwechsel": "eigener Wert",
    "schliessen": "--dauer-rezept-2"
   },
   "hinweis": "Rezept: 150 Hover, 300 Reiter, Akkordeon, Dialog öffnen, 200 schließen, 200 Zustandswechsel der Figur, 2400 Atmen nur im Formular. Kein großer Auftritt. Seitenwechsel seit 05.11.2026: 560 ms statt 300, weich (Nachbesserung Starter)"
  },
  "laden": {
   "schritte": [
    {
     "teil": "Kopf mit Notfall-Nummer",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht"
    },
    {
     "teil": "Hero-Foto mit Karte (Notfall, Zeiten)",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht; im Notfallbereich bewegt sich nichts (Rezept)"
    },
    {
     "teil": "Moment: Register der Tierarten",
     "ab_ms": [
      120,
      180,
      240,
      300
     ],
     "dauer_ms": 560,
     "art": "einmal je Sitzung: Reiter fächern aus dem Stapel auf (höchstens 24 px Weg, --ease-seite); Notfall-Karte steht"
    }
   ],
   "ende_ms": 860,
   "wiederholt": "alles steht.",
   "abweichung": "Minimales Intro (05.11.2026, Jury-Lehre): Die Seite ist ab 0 ms bedienbar und steht; nur der Moment (rezept.moment) läuft einmal je Sitzung (sessionStorage), Klick, Taste oder Scroll beenden ihn sofort im Endzustand. Wiederholt steht alles."
  },
  "scroll": {
   "reveals": [],
   "fortschritt": "keine",
   "nie": [
    "Notfallbereich",
    "Sprechzeiten und Telefon",
    "Kosten nach GOT"
   ]
  },
  "hover": {
   "link": "Unterstreichung wird kräftiger",
   "knopf": "fuellung-vom-eintrittspunkt basis; pfeil-icon-button linie",
   "karte": "karte-ganzflaechig-klickbar raster: Pfeil 4 px",
   "bild": "kein Zoom",
   "ein_ms": 300,
   "aus_ms": 200,
   "kurve": "--ease-ein / --ease-aus"
  },
  "signatur": {
   "muster": "maskottchen-zustaende",
   "variante": null,
   "bewegung": "Die Figur wechselt Zustände nur bei Eingaben im Formular (wartet, schaut zum Feld, freut sich nach dem Senden; Übergang 200 ms). Sie atmet nur im Formular und auf der Fehlerseite (Zyklus 2400 ms), höchstens zwei Zyklen, dann Ruhe-Pose; sie steht still, sobald jemand tippt.",
   "ausloeser": "Eingabe, Absenden",
   "dauer_ms": 200,
   "wiederholung": "je Zustandswechsel; Atmen höchstens 4,8 s"
  },
  "seitenwechsel": {
   "muster": "vt-cross-document-mpa",
   "variante": "typen",
   "zusatz": [],
   "richtung": "vor: neue Seite zieht wie eine Karteikarte 24 px von unten nach und deckt, alte sinkt 8 px; zurück gespiegelt; keine Federn",
   "geteilt": [
    "kopf",
    "reiter (Register-Reiter bzw. Menüpunkt → Kopf der Unterseite)"
   ],
   "dauer_ms": 560,
   "kurve": "--ease-seite cubic-bezier(0.45, 0, 0.2, 1)"
  },
  "budget": [
   "Im Notfallbereich bewegt sich nichts (Rezept).",
   "Atmen der Figur höchstens zwei Zyklen (eigene Festlegung, sonst Bewegung über 5 s)."
  ],
  "reduziert": "Figur in ruhiger Pose (Rezept); Reiter und Dialoge ohne Weg; Seitenwechsel als Überblendung.",
  "verboten": [
   "Pfoten-Spuren, die über die Seite laufen",
   "Herzschlag-Linie",
   "wackelnde Tiere",
   "Konfetti (Rezept)"
  ],
  "partitur_herkunft": "Kein Starter. Werte aus bewegung.dauer_ms, regel und animationsstil_hinweis; Figur nach maskottchen-zustaende (Übergang 200 ms). Begrenzung des Atmens eigene Festlegung.",
  "partitur_stand": "04.11.2026"
 },
 "hero_beschreibung": "Foto-Hero mit Karte (foto-hero-mit-leiste, Variante karte): echtes Foto aus der Praxis (Tierärztin mit Hund im Behandlungsraum, mit Einwilligung der Halter:in). Unten links eine deckende Karte in Tannengrün: heute geöffnet bis, Notdienst heute mit Nummer oder Verweis auf den regionalen tierärztlichen Notdienst, Hinweis auf Notdienstgebühren. Daneben „Termin“ und „Anrufen“. Kein Stockfoto mit Welpe und Stethoskop.",
 "muster": {
  "seitenuebergang": [],
  "preloader": [],
  "navigation": [
   "native-popover-dropdowns",
   "mobile-bottom-navigation",
   "brotkrumen-pfad"
  ],
  "hero": [
   "foto-hero-mit-leiste"
  ],
  "hero_variante": [],
  "sektionen": [
   {
    "zweck": "Notfall? (auf jeder Seite erreichbar: eigene Notdienstzeiten mit Nummer oder der regionale tierärztliche Notdienst; Notdienstgebühr und Reihenfolge nach Dringlichkeit vorab gesagt; an Feiertagen als seitenweite Leiste)",
    "muster": [
     "oeffnungszeiten-status",
     "notdienst-plan"
    ],
    "varianten": {
     "oeffnungszeiten-status": "hinweisleiste",
     "notdienst-plan": "tierarzt"
    }
   },
   {
    "zweck": "Tierarten (Reiter Hund und Katze, Heimtiere, Vögel und Reptilien, Pferd; je Reiter was behandelt wird und der ehrliche Satz, was nicht, mit Hinweis, wohin man sonst geht)",
    "muster": [
     "tabs-pfeiltasten-focusgroup"
    ],
    "varianten": {
     "tabs-pfeiltasten-focusgroup": "auto"
    }
   },
   {
    "zweck": "Leistungen (Vorsorge und Impfung, Kastration, Zahnbehandlung, Chirurgie, Röntgen und Ultraschall, Labor, Ernährungsberatung; je Leistung eine Unterseite, Antwort zuerst: was gemacht wird, wie lange, ungefährer Kostenrahmen nach GOT)",
    "muster": [
     "akkordeon-hoehe-auto",
     "leistungsseite-antwort-zuerst"
    ],
    "varianten": {
     "akkordeon-hoehe-auto": "leistungen",
     "leistungsseite-antwort-zuerst": "praxis"
    }
   },
   {
    "zweck": "Termin oder offene Sprechstunde (Buchungs-Widget erst nach Klick, Grund des Besuchs als Auswahl, Telefon daneben; offene Sprechstunde mit Zeiten)",
    "muster": [
     "termin-buchung-zwei-klick"
    ],
    "varianten": {
     "termin-buchung-zwei-klick": "vorauswahl"
    }
   },
   {
    "zweck": "Der erste Besuch (Impfpass und Vorbefunde mitbringen, Katzen in der Transportbox, nüchtern vor Narkosen, getrennter Wartebereich nur, wenn es ihn gibt; Ablauf in vier Schritten)",
    "muster": [
     "prozess-timeline-wachsende-linie"
    ]
   },
   {
    "zweck": "Was kostet das? (GOT verständlich: Gebührenrahmen, Notdienst mit erhöhtem Satz und Notdienstgebühr, Kostenvoranschlag vor größeren Eingriffen, Zahlung, Tierkrankenversicherung; Ratenzahlung nur mit allen Pflichtangaben)",
    "muster": [
     "akkordeon-hoehe-auto",
     "finanzierung-pflichtangaben"
    ],
    "varianten": {
     "akkordeon-hoehe-auto": "faq",
     "finanzierung-pflichtangaben": "rechner"
    }
   },
   {
    "zweck": "Team (Tierärzt:innen und TFA mit Foto, Schwerpunkt, Sprachen; eigene Tiere nur, wenn sie mögen)",
    "muster": [
     "team-ueber-mich-layout"
    ],
    "varianten": {
     "team-ueber-mich-layout": "raster"
    }
   },
   {
    "zweck": "Person-Detailseite (je Person eine Seite, aufgerufen aus dem Team: Tierärztin oder TFA mit Schwerpunkt, Tierarten, Zusatzqualifikation, Sprachen und Sprechtagen; Notdienst-Hinweis zuerst; Foto nur echt und mit Einwilligung, sonst markierter Platzhalter)",
    "muster": [
     "person-detailseite"
    ],
    "varianten": {
     "person-detailseite": "aerztin"
    }
   },
   {
    "zweck": "Stimmen (sachlich über Umgang, Erklärung und Wartezeit, nie über Heilerfolge; Google-Bewertungen nur mit Echtheitshinweis)",
    "muster": [
     "testimonials-neu-gedacht",
     "bewertungsprofil-mit-echtheitshinweis"
    ],
    "varianten": {
     "testimonials-neu-gedacht": "stimmen-reihe",
     "bewertungsprofil-mit-echtheitshinweis": "pille"
    }
   },
   {
    "zweck": "Rückruf und Frage (Name, Telefon, Tierart, Anliegen als Auswahl; Befunde und Bilder nicht über das Formular; die Figur reagiert auf Eingabe, Senden und Erfolg; im Notfall Telefon statt Formular)",
    "muster": [
     "maskottchen-zustaende",
     "kontakt-anfrage-formular",
     "formular-fehlerzusammenfassung"
    ],
    "varianten": {
     "kontakt-anfrage-formular": "basis",
     "formular-fehlerzusammenfassung": "kompakt"
    }
   },
   {
    "zweck": "Praxis, Sprechzeiten, Anfahrt (Sprechzeiten mit Status, Parken vor der Tür, Eingang für Hunde und Boxen als Skizze, Hausbesuche und Einzugsgebiet bei Pferden; Karte per 2-Klick)",
    "muster": [
     "oeffnungszeiten-status",
     "karte-zwei-klick",
     "firmendaten-strukturiert"
    ],
    "varianten": {
     "oeffnungszeiten-status": "karte",
     "karte-zwei-klick": "skizze",
     "firmendaten-strukturiert": "zahnarzt"
    }
   },
   {
    "zweck": "Arbeiten bei uns (TFA, Tierärzt:in, Ausbildung; Notdienste und Wochenenden ehrlich)",
    "muster": [
     "stellen-karriere"
    ],
    "varianten": {
     "stellen-karriere": "wenige"
    }
   },
   {
    "zweck": "Erklärung zur Barrierefreiheit (eigene Seite; bei Online-Termin nach BFSG prüfen lassen)",
    "muster": [
     "barrierefreiheit-seite"
    ],
    "varianten": {
     "barrierefreiheit-seite": "bfsg"
    }
   }
  ],
  "scroll": [],
  "schrift_animation": [],
  "hover": [
   "karte-ganzflaechig-klickbar"
  ],
  "cursor": [],
  "mikro": [
   "maskottchen-zustaende",
   "druck-feedback",
   "checkbox-radio-animiert"
  ],
  "material": [],
  "galerie": [],
  "footer": [
   "studio-visitenkarte-footer"
  ],
  "button": [
   "fuellung-vom-eintrittspunkt",
   "pfeil-icon-button"
  ],
  "hero_varianten": {
   "foto-hero-mit-leiste": "karte"
  }
 },
 "signatur": [
  "maskottchen-zustaende"
 ],
 "moment": {
  "was": "Das Register der Praxis: die Tierarten stehen als große Reiter mit kräftigen Zeichnungen (Hund und Katze, Heimtiere, Vögel und Reptilien, Pferd), sie fächern sich einmal je Sitzung auf; ein Reiter öffnet, was behandelt wird. Freundlich, groß, nicht verspielt.",
  "wo": "Startseite, zweiter Bildschirm",
  "gewicht": "groß und interaktiv: Reiter über 12 Spalten, Zeichnungen mindestens 160 px",
  "muster": [
   "tabs-pfeiltasten-focusgroup",
   "maskottchen-zustaende"
  ],
  "variante": "auto"
 },
 "varianten_demo": {
  "mobile-bottom-navigation": "kontakt",
  "studio-visitenkarte-footer": "praxis",
  "fuellung-vom-eintrittspunkt": "basis",
  "pfeil-icon-button": "linie",
  "karte-ganzflaechig-klickbar": "raster",
  "brotkrumen-pfad": "voll"
 },
 "nicht_verwenden": [
  "hovercard-interest-invoker – Signatur von praxis-gesundheit-ruhig; Fachwörter stehen per details aufklappbar",
  "vorher-nachher-vergleichsregler – Vorher-nachher-Bilder von Behandlungen sind werberechtlich heikel und Signatur von handwerk",
  "konfetti-erfolg – im Gesundheitskontext billig; die Figur freut sich leise",
  "zahlen-odometer – keine hochgezählten Patientenzahlen",
  "marquee-laufband – unruhig neben Notdienst und Zeiten",
  "smooth-scroll-lenis – verzögert den Weg zum Notdienst",
  "cursor-follower-lerp / magnetische-elemente – Agentur-Gesten",
  "corner-shape-eckenformen – Signatur von pflege-dienst-naehe",
  "Pfoten- und Knochen-Ornamente, Stockfotos mit Welpe und Stethoskop – eigene Fotos aus der Praxis",
  "Heilversprechen und Erfolgsquoten – Heilmittelwerbegesetz gilt auch bei Tieren"
 ],
 "regeln": [
  "Erster Bildschirm: Praxisfoto mit Notdienst-Karte (heute geöffnet bis, Notdienst heute, Gebührenhinweis), Termin und Anrufen. Mobil untere Leiste Anrufen / Notdienst / Termin.",
  "Signatur (maskottchen-zustaende): eine kleine, gezeichnete Figur (Hund oder Katze, in Tannengrün und Kürbis) nur im Rückruf-Formular, in Leerzuständen und auf der Fehlerseite. Zustände: wartet, schaut zum aktiven Feld, freut sich nach dem Senden, ist traurig bei Fehlern, aber nie spöttisch. Nie im Notfallbereich, nie über Inhalten, keine Dauerschleife; bei reduzierter Bewegung eine ruhige Pose.",
  "Notdienst: eigene Notdienstzeiten mit Nummer oder der Verweis auf den regionalen tierärztlichen Notdienst; vorab sagen, dass im Notdienst mindestens der zweifache Gebührensatz und eine Notdienstgebühr anfallen (GOT) und die Reihenfolge nach Dringlichkeit geht. Beträge vom Kunden prüfen lassen.",
  "Tierarten ehrlich: Je Reiter, was nicht behandelt wird und wohin man stattdessen geht.",
  "Kosten nach GOT: Gebührenrahmen und Beispiele mit Stand-Datum, Kostenvoranschlag vor größeren Eingriffen; Ratenzahlung nur mit effektivem Jahreszins und Warnhinweis direkt dabei (finanzierung-pflichtangaben, ab 20.11.2026).",
  "Heilmittelwerbegesetz und Arzneimittel: keine Heilversprechen, keine Erfolgsquoten, keine Werbung für verschreibungspflichtige Tierarzneimittel gegenüber Tierhalter:innen (§ 10 HWG, Tierarzneimittelrecht); Stimmen nur über Umgang und Service. Vom Kunden prüfen lassen.",
  "Formular ohne Befunde: Name, Telefon, Tierart, Anliegen als Auswahl; Befunde und Röntgenbilder über einen sicheren Weg, nicht per Formular. Im Notfall Telefon zuerst.",
  "Fotos von Tieren der Kundschaft nur mit Einwilligung der Halter:innen, Personen erkennbar nur mit eigener Einwilligung.",
  "Impressum mit Berufsbezeichnung, zuständiger Tierärztekammer, Aufsichtsbehörde und Link zur Berufsordnung; firmendaten-strukturiert als VeterinaryCare. Vom Kunden prüfen lassen.",
  "Knöpfe: Kürbis gefüllt (fuellung-vom-eintrittspunkt, Variante basis) für Termin und Anrufen; Nebenwege als ruhiger Textlink mit Pfeil (pfeil-icon-button, Variante linie). Alle Zustände nach button-zustaende."
 ],
 "varianten": [
  {
   "name": "Pferdepraxis und mobile Tierärztin (fahrende Praxis)",
   "hinweis": "Schrift, Farbe, Stil und Signatur bleiben. Statt Praxisräumen das Einzugsgebiet: Postleitzahl zuerst („Kommen wir zu Ihnen?“) mit mehrschritt-anfrage (Variante plz), Anfahrtspauschale offen nach GOT, Notdienst am Stall mit Nummer. Termine als Anfrage mit Stall, Anzahl der Tiere und Wunschzeitraum. Fotos aus Ställen nur mit Einwilligung der Eigentümer:innen.",
   "sektionen": [
    "Notfall am Stall",
    "Kommen wir zu Ihnen? (Postleitzahl zuerst)",
    "Leistungen am Stall (Vorsorge, Zahnbehandlung, Lahmheit, Ankaufsuntersuchung)",
    "Termin anfragen",
    "Kosten und Anfahrtspauschale",
    "Über mich"
   ],
   "weglassen": [
    "Praxisräume und Wartebereich",
    "Termin-Widget, wenn nur per Anfrage gebucht wird"
   ],
   "muster_zusatz": [
    "mehrschritt-anfrage"
   ]
  }
 ],
 "template_tauglich": true,
 "aufwand": "mittel",
 "leistung": "Hero-Foto als LCP mit fetchpriority=high, Notdienst-Karte als HTML. Figur als Inline-SVG mit wenigen Pfaden, Zustände per CSS-Klassen und einer kleinen Timeline; sie lädt erst mit dem Formular. Young Serif 400 und Onest als Variable-Datei nur Latin. Termin-Widget und Karte erst nach Klick.",
 "offen": [
  "praxis-gesundheit-ruhig hat weiter die Variante Tierarztpraxis; Vorschlag an den Auftraggeber: dort auf dieses Rezept verweisen oder die Variante streichen.",
  "maskottchen-zustaende hat keine Demo-Variante für eine Tierfigur; die Figur zeichnet der Gestalter je Praxis (Platzhalter: neutrale Figur aus der Demo)."
 ],
 "raum": {
  "basis_px": 8,
  "skala_px": [
   4,
   8,
   12,
   16,
   24,
   32,
   48,
   64,
   88,
   120
  ],
  "sektion": "clamp(64px, 8vw, 120px)",
  "dichte": "mittel",
  "hinweis": "Ruhig und übersichtlich: Sprechzeiten dicht, Tierarten mit großzügigen Reitern, Notdienst-Karte mit 24 px Innenabstand."
 },
 "raster": {
  "spalten": 12,
  "rand": "clamp(16px, 4vw, 56px)",
  "spalt": "clamp(16px, 2vw, 28px)",
  "max_breite": "1240px",
  "hinweis": "Hero-Foto über 12 Spalten mit Karte unten links über 5 Spalten. Leistungen als zweispaltige Liste, Formular 6/6 mit der Figur rechts."
 },
 "form": {
  "radius_klein": "8px",
  "radius_gross": "20px",
  "pille": false,
  "linie": "1px #CFD3C9 in Sprechzeiten; Felder 1px in Leise (3:1)",
  "schatten": "keiner",
  "hinweis": "Weich gerundet, freundlich; Notdienst-Karte mit 20 px Radius in Tanne."
 },
 "bildsprache": {
  "licht": "Helles Tageslicht im Behandlungsraum, warm, nicht klinisch kalt.",
  "ausschnitt": "Hände am Tier, Tier auf Augenhöhe, Team in der Halbtotale; keine OP-Szenen mit Blut.",
  "personen": "Ja: Team mit Einwilligung; Tiere der Kundschaft nur mit Einwilligung der Halter:innen.",
  "formate": [
   "3:2",
   "4:5",
   "1:1"
  ],
  "nicht": "Keine Stockfotos mit Welpen und Stethoskop, keine verletzten Tiere, keine Vorher-nachher-Bilder.",
  "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. Zeichnungen kräftig und groß als eigene Bildwelt: Strich ab 2,5 px, Flächen in den Rezeptfarben, mindestens 160 px, nie als dünne Strich-Icons."
 },
 "ton": {
  "anrede": "Sie",
  "saetze": "Kurz und beruhigend, konkret: was jetzt zu tun ist, was es kostet, wie lange es dauert.",
  "haltung": "Zugewandt wie am Empfang, ehrlich bei Kosten und Grenzen.",
  "beispiele": [
   "Notdienst heute bis 22 Uhr. Bitte rufen Sie vorher an.",
   "Reptilien behandeln wir nicht. Die nächste Fachpraxis ist [Name] in [Ort]."
  ],
  "nicht": "„Ihr Liebling in besten Händen“, „wir heilen“, Verniedlichungen bei ernsten Themen."
 },
 "hero_aufbau": {
  "raster": "Foto randlos über 12 Spalten; Notdienst-Karte unten links über Spalte 1 bis 5; H1 und Wege oben links; mobil Foto oben, Karte darunter in voller Breite.",
  "bild": "Echtes Praxisfoto mit Tier und Team, 3:2 Desktop, 4:5 mobil.",
  "h1": "clamp(2.25rem, 1.4rem + 3.6vw, 4rem), Young Serif; Praxisname oder ein Satz zur Praxis, kein Label darüber.",
  "handlung": "„Termin“ (Kürbis gefüllt) und „Anrufen“ als tel:-Link mit sichtbarer Nummer.",
  "zusatz": "Notdienst-Karte in Tanne mit Status und Gebührenhinweis; mobil untere Leiste Anrufen / Notdienst / Termin."
 },
 "url": "https://cecodesign.de/lab/fundus/rezepte/tierarztpraxis/",
 "tokens_css": "https://cecodesign.de/lab/fundus/rezepte/tierarztpraxis/tokens.css",
 "bauplan": "https://cecodesign.de/lab/fundus/rezepte/tierarztpraxis/bauplan.txt",
 "rezept_json": "https://cecodesign.de/lab/fundus/rezepte/tierarztpraxis/rezept.json",
 "nicht_verwenden_ids": [
  {
   "ids": [
    "hovercard-interest-invoker"
   ],
   "grund": "Signatur von praxis-gesundheit-ruhig; Fachwörter stehen per details aufklappbar"
  },
  {
   "ids": [
    "vorher-nachher-vergleichsregler"
   ],
   "grund": "Vorher-nachher-Bilder von Behandlungen sind werberechtlich heikel und Signatur von handwerk"
  },
  {
   "ids": [
    "konfetti-erfolg"
   ],
   "grund": "im Gesundheitskontext billig; die Figur freut sich leise"
  },
  {
   "ids": [
    "zahlen-odometer"
   ],
   "grund": "keine hochgezählten Patientenzahlen"
  },
  {
   "ids": [
    "marquee-laufband"
   ],
   "grund": "unruhig neben Notdienst und Zeiten"
  },
  {
   "ids": [
    "smooth-scroll-lenis"
   ],
   "grund": "verzögert den Weg zum Notdienst"
  },
  {
   "ids": [
    "cursor-follower-lerp",
    "magnetische-elemente"
   ],
   "grund": "Agentur-Gesten"
  },
  {
   "ids": [
    "corner-shape-eckenformen"
   ],
   "grund": "Signatur von pflege-dienst-naehe"
  },
  {
   "ids": [],
   "grund": "Pfoten- und Knochen-Ornamente, Stockfotos mit Welpe und Stethoskop – eigene Fotos aus der Praxis"
  },
  {
   "ids": [],
   "grund": "Heilversprechen und Erfolgsquoten – Heilmittelwerbegesetz gilt auch bei Tieren"
  }
 ],
 "starter": "https://cecodesign.de/lab/fundus/starter/tierarztpraxis/index.html",
 "alle_muster": [
  {
   "id": "maskottchen-zustaende",
   "rolle": "Signatur",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/maskottchen-zustaende/meta.json"
  },
  {
   "id": "foto-hero-mit-leiste",
   "rolle": "Hero",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero-mit-leiste/meta.json",
   "variante": "karte",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero-mit-leiste/demo?v=karte"
  },
  {
   "id": "oeffnungszeiten-status",
   "rolle": "Sektion: Notfall? (auf jeder Seite erreichbar: eigene Notdienstzeiten mit Nummer oder der regionale tierärztliche Notdienst; Notdienstgebühr und Reihenfolge nach Dringlichkeit vorab gesagt; an Feiertagen als seitenweite Leiste)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/meta.json",
   "varianten_je_rolle": [
    {
     "rolle": "Sektion: Notfall? (auf jeder Seite erreichbar: eigene Notdienstzeiten mit Nummer oder der regionale tierärztliche Notdienst; Notdienstgebühr und Reihenfolge nach Dringlichkeit vorab gesagt; an Feiertagen als seitenweite Leiste)",
     "variante": "hinweisleiste",
     "demo_url": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/demo?v=hinweisleiste"
    },
    {
     "rolle": "Sektion: Praxis, Sprechzeiten, Anfahrt (Sprechzeiten mit Status, Parken vor der Tür, Eingang für Hunde und Boxen als Skizze, Hausbesuche und Einzugsgebiet bei Pferden; Karte per 2-Klick)",
     "variante": "karte",
     "demo_url": "https://cecodesign.de/lab/fundus/sektionen/oeffnungszeiten-status/demo?v=karte"
    }
   ]
  },
  {
   "id": "notdienst-plan",
   "rolle": "Sektion: Notfall? (auf jeder Seite erreichbar: eigene Notdienstzeiten mit Nummer oder der regionale tierärztliche Notdienst; Notdienstgebühr und Reihenfolge nach Dringlichkeit vorab gesagt; an Feiertagen als seitenweite Leiste)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/notdienst-plan/meta.json",
   "variante": "tierarzt",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/notdienst-plan/demo?v=tierarzt"
  },
  {
   "id": "tabs-pfeiltasten-focusgroup",
   "rolle": "Sektion: Tierarten (Reiter Hund und Katze, Heimtiere, Vögel und Reptilien, Pferd; je Reiter was behandelt wird und der ehrliche Satz, was nicht, mit Hinweis, wohin man sonst geht)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/tabs-pfeiltasten-focusgroup/meta.json",
   "variante": "auto",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/tabs-pfeiltasten-focusgroup/demo?v=auto"
  },
  {
   "id": "akkordeon-hoehe-auto",
   "rolle": "Sektion: Leistungen (Vorsorge und Impfung, Kastration, Zahnbehandlung, Chirurgie, Röntgen und Ultraschall, Labor, Ernährungsberatung; je Leistung eine Unterseite, Antwort zuerst: was gemacht wird, wie lange, ungefährer Kostenrahmen nach GOT)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/meta.json",
   "varianten_je_rolle": [
    {
     "rolle": "Sektion: Leistungen (Vorsorge und Impfung, Kastration, Zahnbehandlung, Chirurgie, Röntgen und Ultraschall, Labor, Ernährungsberatung; je Leistung eine Unterseite, Antwort zuerst: was gemacht wird, wie lange, ungefährer Kostenrahmen nach GOT)",
     "variante": "leistungen",
     "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/demo?v=leistungen"
    },
    {
     "rolle": "Sektion: Was kostet das? (GOT verständlich: Gebührenrahmen, Notdienst mit erhöhtem Satz und Notdienstgebühr, Kostenvoranschlag vor größeren Eingriffen, Zahlung, Tierkrankenversicherung; Ratenzahlung nur mit allen Pflichtangaben)",
     "variante": "faq",
     "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/demo?v=faq"
    }
   ]
  },
  {
   "id": "leistungsseite-antwort-zuerst",
   "rolle": "Sektion: Leistungen (Vorsorge und Impfung, Kastration, Zahnbehandlung, Chirurgie, Röntgen und Ultraschall, Labor, Ernährungsberatung; je Leistung eine Unterseite, Antwort zuerst: was gemacht wird, wie lange, ungefährer Kostenrahmen nach GOT)",
   "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": "termin-buchung-zwei-klick",
   "rolle": "Sektion: Termin oder offene Sprechstunde (Buchungs-Widget erst nach Klick, Grund des Besuchs als Auswahl, Telefon daneben; offene Sprechstunde mit Zeiten)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/termin-buchung-zwei-klick/meta.json",
   "variante": "vorauswahl",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/termin-buchung-zwei-klick/demo?v=vorauswahl"
  },
  {
   "id": "prozess-timeline-wachsende-linie",
   "rolle": "Sektion: Der erste Besuch (Impfpass und Vorbefunde mitbringen, Katzen in der Transportbox, nüchtern vor Narkosen, getrennter Wartebereich nur, wenn es ihn gibt; Ablauf in vier Schritten)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/prozess-timeline-wachsende-linie/meta.json"
  },
  {
   "id": "finanzierung-pflichtangaben",
   "rolle": "Sektion: Was kostet das? (GOT verständlich: Gebührenrahmen, Notdienst mit erhöhtem Satz und Notdienstgebühr, Kostenvoranschlag vor größeren Eingriffen, Zahlung, Tierkrankenversicherung; Ratenzahlung nur mit allen Pflichtangaben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/finanzierung-pflichtangaben/meta.json",
   "variante": "rechner",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/finanzierung-pflichtangaben/demo?v=rechner"
  },
  {
   "id": "team-ueber-mich-layout",
   "rolle": "Sektion: Team (Tierärzt:innen und TFA mit Foto, Schwerpunkt, Sprachen; eigene Tiere nur, wenn sie mögen)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/team-ueber-mich-layout/meta.json",
   "variante": "raster",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/team-ueber-mich-layout/demo?v=raster"
  },
  {
   "id": "person-detailseite",
   "rolle": "Sektion: Person-Detailseite (je Person eine Seite, aufgerufen aus dem Team: Tierärztin oder TFA mit Schwerpunkt, Tierarten, Zusatzqualifikation, Sprachen und Sprechtagen; Notdienst-Hinweis zuerst; Foto nur echt und mit Einwilligung, sonst markierter Platzhalter)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/person-detailseite/meta.json",
   "variante": "aerztin",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/person-detailseite/demo?v=aerztin"
  },
  {
   "id": "testimonials-neu-gedacht",
   "rolle": "Sektion: Stimmen (sachlich über Umgang, Erklärung und Wartezeit, nie über Heilerfolge; Google-Bewertungen nur mit Echtheitshinweis)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/testimonials-neu-gedacht/meta.json",
   "variante": "stimmen-reihe",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/testimonials-neu-gedacht/demo?v=stimmen-reihe"
  },
  {
   "id": "bewertungsprofil-mit-echtheitshinweis",
   "rolle": "Sektion: Stimmen (sachlich über Umgang, Erklärung und Wartezeit, nie über Heilerfolge; Google-Bewertungen nur mit Echtheitshinweis)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/bewertungsprofil-mit-echtheitshinweis/meta.json",
   "variante": "pille",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/bewertungsprofil-mit-echtheitshinweis/demo?v=pille"
  },
  {
   "id": "kontakt-anfrage-formular",
   "rolle": "Sektion: Rückruf und Frage (Name, Telefon, Tierart, Anliegen als Auswahl; Befunde und Bilder nicht über das Formular; die Figur reagiert auf Eingabe, Senden und Erfolg; im Notfall Telefon statt Formular)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/kontakt-anfrage-formular/meta.json",
   "variante": "basis",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/kontakt-anfrage-formular/demo?v=basis"
  },
  {
   "id": "formular-fehlerzusammenfassung",
   "rolle": "Sektion: Rückruf und Frage (Name, Telefon, Tierart, Anliegen als Auswahl; Befunde und Bilder nicht über das Formular; die Figur reagiert auf Eingabe, Senden und Erfolg; im Notfall Telefon statt Formular)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/formular-fehlerzusammenfassung/meta.json",
   "variante": "kompakt",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/formular-fehlerzusammenfassung/demo?v=kompakt"
  },
  {
   "id": "karte-zwei-klick",
   "rolle": "Sektion: Praxis, Sprechzeiten, Anfahrt (Sprechzeiten mit Status, Parken vor der Tür, Eingang für Hunde und Boxen als Skizze, Hausbesuche und Einzugsgebiet bei Pferden; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/meta.json",
   "variante": "skizze",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/demo?v=skizze"
  },
  {
   "id": "firmendaten-strukturiert",
   "rolle": "Sektion: Praxis, Sprechzeiten, Anfahrt (Sprechzeiten mit Status, Parken vor der Tür, Eingang für Hunde und Boxen als Skizze, Hausbesuche und Einzugsgebiet bei Pferden; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/firmendaten-strukturiert/meta.json",
   "variante": "zahnarzt",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/firmendaten-strukturiert/demo?v=zahnarzt"
  },
  {
   "id": "stellen-karriere",
   "rolle": "Sektion: Arbeiten bei uns (TFA, Tierärzt:in, Ausbildung; Notdienste und Wochenenden ehrlich)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/stellen-karriere/meta.json",
   "variante": "wenige",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/stellen-karriere/demo?v=wenige"
  },
  {
   "id": "barrierefreiheit-seite",
   "rolle": "Sektion: Erklärung zur Barrierefreiheit (eigene Seite; bei Online-Termin 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": "kontakt",
   "demo_url": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/demo?v=kontakt"
  },
  {
   "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": "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": "checkbox-radio-animiert",
   "rolle": "Mikroanimation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/checkbox-radio-animiert/meta.json"
  },
  {
   "id": "studio-visitenkarte-footer",
   "rolle": "Footer",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/footer/studio-visitenkarte-footer/meta.json",
   "variante": "praxis",
   "demo_url": "https://cecodesign.de/lab/fundus/footer/studio-visitenkarte-footer/demo?v=praxis"
  },
  {
   "id": "fuellung-vom-eintrittspunkt",
   "rolle": "Buttons",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hover/fuellung-vom-eintrittspunkt/meta.json",
   "variante": "basis",
   "demo_url": "https://cecodesign.de/lab/fundus/hover/fuellung-vom-eintrittspunkt/demo?v=basis"
  },
  {
   "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-toggle-asymmetrisch",
   "rolle": "Animationsstil",
   "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": "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"
  }
 ]
}
