{
 "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": "gebaeudedienste-sauber",
 "name": "Gebäudedienste: sauber, pünktlich, ansprechbar",
 "branche": "Gebäudereinigung / Unterhalts- und Glasreinigung / Hausmeisterservice / Facility Services für Büro, Praxis, Wohnanlage und Gewerbe",
 "stimmung": [
  "verlässlich",
  "klar",
  "bodenständig",
  "nüchtern"
 ],
 "stimmung_tags": [
  "präzise",
  "ruhig"
 ],
 "kurz": "Verkauft wird kein Werkstück, sondern Verlässlichkeit: welche Objektart, welcher Turnus, wer ist zuständig, was kostet das je Monat. Die Seite fragt zuerst nach der Objektart und führt in vier Schritten zur Besichtigung. Turnus und Leistungsverzeichnis stehen als Tabelle, die Objektleitung mit Foto und Durchwahl. Die zweite Startseite ist die Personalgewinnung (Minijob, Teilzeit, mehrsprachig). Breite Strichpunkt Sans für Überschriften, Commissioner für Text und Tabellen, Kalkweiß und Fliesengrau, ein klares Blau nur für Anfragen und Anrufen. Signatur: Referenzfotos öffnen sich einmal mit einer waagerechten Maske, wie ein Abzieher über eine Glasscheibe. Abgrenzung zu handwerk-werkstatt-klartext (Werkstück, Vorher/Nachher, Kostenrechner) und industrie-b2b-mittelstand (Produktdaten, Fachperson je Branche).",
 "referenzen": [
  {
   "seite": "Piepenbrock – Unterhaltsreinigung",
   "url": "https://www.piepenbrock.de/dienstleistungen/gebaeudereinigung/unterhaltsreinigung/",
   "art": "website",
   "herkunft": "beobachtet",
   "abgerufen": "2026-11-04",
   "quelle": "https://www.piepenbrock.de/dienstleistungen/gebaeudereinigung/unterhaltsreinigung/",
   "beobachtung": "Live geprüft 04.11.2026 (WebFetch, nur Text; CSS, Schriften und Kurven nicht gemessen): Turnus ohne feste Pakete („täglich, mehrmals pro Woche oder in individuellen Abständen“), Leistungsverzeichnis wird mit dem Kunden erstellt. Anfrage in vier Schritten von „Kontakt aufnehmen“ bis „Beauftragung und Start“; Felder Name, Unternehmen, Postleitzahl, Ort, Telefon (Pflicht), E-Mail (freiwillig), Betreff, Datum und Zeitraum. Ein zentraler Ansprechpartner mit Namen und Funktion. Sensible Bereiche (Krankenhaus, Labor, Lebensmittel) als eigener Abschnitt. Zertifikate auf dieser Seite nicht genannt. Vorbild für Ablauf in Schritten und benannte Ansprechperson."
  }
 ],
 "schrift": {
  "paarung_basis": "",
  "headline": "strichpunkt-sans",
  "text": "commissioner",
  "akzent": "",
  "groessen": "h1 Strichpunkt Sans clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem), wdth 140, wght 700, Laufweite -0.02em, Zeilenhöhe 1.0; h2 clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem), wdth 120, wght 700. Fließtext Commissioner 1.0625rem (17 px), wght 400, Zeilenhöhe 1.6, höchstens 66ch. Turnus-Tabelle und Preise Commissioner 1rem mit Tabellenziffern; Tabellenköpfe 0.8125rem Versal, +0.06em, wght 600. Knöpfe Commissioner 600, 1rem.",
  "techniken": [
   "fluide-typo-clamp-cqi",
   "tabellenziffern",
   "lesesatz-text-wrap",
   "headline-laufweite-zeilenabstand"
  ],
  "alternative_eigenprojekt": "Text satoshi (ITF) statt Commissioner für einen weicheren Ton – nur für Eigenprojekte, nicht für Templates.",
  "abweichung": "Vorschlag der Recherche 04.11.2026 übernommen. Strichpunkt Sans steht damit in zwei Rezepten (industrie als Headline mit Archivo), Commissioner in drei (gastro, bestattung als Text). Unterschied zu industrie: dort wirkt die Breite technisch über Archivo und Blueprint-Raster, hier über Kalkweiß, große Fotos und Tabellen. Keine Mono: Labels stehen in Commissioner (Leitfaden A4)."
 },
 "farbe": {
  "prinzip": "Hell und sachlich wie ein frisch gereinigter Flur: Kalkweiß als Grund, Fliesengrau als Fläche für Tabellen und Anfrage, Dunkelblau der Arbeitskleidung für Footer und Stellenband. Ein klares Blau nur für Besichtigung anfragen und Anrufen. Kein Wasser- oder Glanzverlauf, keine Seifenblasen, kein Hellblau-Türkis als Branchenklischee. Die eigene Markenfarbe der Firma ersetzt das Blau, wenn sie auf Kalkweiß 4,5 : 1 erreicht.",
  "beispiel": [
   "#F5F6F4 Grund Kalkweiß",
   "#141618 Text (16,7 : 1 auf Grund)",
   "#E2E7E5 Fläche Fliese: Turnus-Tabelle, Anfrage, Objektkarten (Text 14,5 : 1)",
   "#1D2A33 Dunkel Arbeitskleidung: Footer, Stellenband (Weiß darauf 14,7 : 1)",
   "#1F58B8 Signal Blau: Besichtigung anfragen, Anrufen (Weiß darauf 6,7 : 1; als Fläche auf Grund 6,2 : 1); auf Dunkel stattdessen Kalkweiß-Knopf mit dunkler Schrift",
   "#566067 Leise: Meta-Angaben, Stand-Daten (5,9 : 1 auf Grund, 5,1 : 1 auf Fläche; auch für Feldränder, 3 : 1)",
   "#CDD2D0 Linie: Haarlinien zwischen Tabellenzeilen (nur Dekoration)"
  ]
 },
 "animationsstil": "token-swiss-knackig",
 "animationsstil_ui": "token-toggle-asymmetrisch",
 "animationsstil_hinweis": "Knackig und kurz: Akkordeon, Reiter und Tabellen in 350 ms mit der Out-Kurve des Stils, Schließen mit der Austrittskurve in etwa 65 %. Die Signatur ist der einzige längere Moment (500 ms je Bild, einmal). Anfrage, Dialoge und mobile Leiste laufen über token-toggle-asymmetrisch (öffnen 300 ms, schließen 200 ms), wie von der Recherche vorgeschlagen.",
 "bewegung": {
  "easing": "cubic-bezier(0.25, 1, 0.5, 1) (token-swiss-knackig); Austritt cubic-bezier(0.5, 0, 0.75, 0); UI über animationsstil_ui",
  "beobachtet": "nicht gemessen: Referenz nur inhaltlich per WebFetch geprüft; Kurve und Dauern aus dem Animationsstil",
  "dauer_ms": "200 (Hover, Farbe), 350 (Akkordeon, Reiter), 230 (schließen), 500 (Bild-Maske eines Referenzfotos, einmal); Anfrage und Dialoge 300 auf, 200 zu",
  "regel": "Bewegung bestätigt nur Zustände: Akkordeon auf, Schritt erledigt, Anfrage gesendet. Text, Tabellen und Preise stehen sofort. Die Maske der Signatur läuft einmal je Bild, von links nach rechts, nie in einer Schleife. Bei prefers-reduced-motion stehen die Fotos sofort, Akkordeon und Schritte wechseln ohne Weg. Die Kapitelkante zieht mit dem Scroll eine gerade Bahn wie der Abzieher, Text steht.",
  "herkunft": "Kurve und Dauern aus token-swiss-knackig (stil-tokens: 200/350/500/700) und token-toggle-asymmetrisch (UI); Bild-Maske nach clip-path-bild-reveal, auf 500 ms gekürzt (eigene Festlegung).",
  "kurve": {
   "haupt": "cubic-bezier(0.25, 1, 0.5, 1)",
   "token": "--ease",
   "ein": "cubic-bezier(0.25, 1, 0.5, 1)",
   "aus": "cubic-bezier(0.5, 0, 0.75, 0)",
   "stil": "token-swiss-knackig",
   "gilt_fuer": "alles: knackig und kurz, Schließen mit der Austrittskurve; Anfrage, Dialoge, mobile Leiste über das UI-Paar",
   "ui": {
    "ein": "cubic-bezier(0.16, 1, 0.3, 1)",
    "aus": "cubic-bezier(0.7, 0, 0.84, 0)",
    "stil": "token-toggle-asymmetrisch",
    "token": "--ui-ease-ein / --ui-ease-aus"
   },
   "quelle": "bewegung.easing und tokens.css (token-swiss-knackig, UI token-toggle-asymmetrisch)"
  },
  "dauern": {
   "klein": 200,
   "mittel": 350,
   "gross": 500,
   "seitenwechsel": 650,
   "schliessen": 230,
   "aus_faktor": 0.66,
   "tokens": {
    "klein": "--dauer-rezept-1",
    "mittel": "--dauer-rezept-4",
    "gross": "--dauer-rezept-5",
    "seitenwechsel": "eigener Wert",
    "schliessen": "--dauer-rezept-2"
   },
   "hinweis": "Rezept: 200 Hover, 350 Akkordeon, Reiter, 230 schließen, 500 Bild-Maske einmal; Anfrage und Dialoge 300 auf, 200 zu. Seitenwechsel aus dem Starter (Abzieher 500 + 150)."
  },
  "laden": {
   "schritte": [
    {
     "teil": "Kopf und mobile Leiste",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "stehen"
    },
    {
     "teil": "Hero-Foto",
     "ab_ms": 0,
     "dauer_ms": 0,
     "art": "steht (LCP)"
    },
    {
     "teil": "H1",
     "ab_ms": [
      0,
      80,
      160
     ],
     "dauer_ms": 700,
     "art": "Zeilen steigen aus Masken (translate 0 105 % → 0), --ease"
    },
    {
     "teil": "Satz und Knöpfe",
     "ab_ms": 240,
     "dauer_ms": 500,
     "art": "Deckkraft und Weg, --ease"
    },
    {
     "teil": "Rest",
     "ab_ms": null,
     "dauer_ms": 0,
     "art": "erst beim Scrollen (scroll)"
    }
   ],
   "ende_ms": 860,
   "wiederholt": "H1-Zeilen wie oben.",
   "starter_intro": "Starter Wörz zieht beim ersten Aufruf die Wortmarke in drei Bahnen ab (je 340 ms, ab 80/380/680 ms), H1 dann ab 900 ms; zusammen etwa 1,8 s. Das Rezept nennt kein Intro; nur mit intro-ohne-wartezeit und Begründung, sonst über ende_max 1.200 ms."
  },
  "scroll": {
   "reveals": [
    {
     "art": "Kapitelkante",
     "muster": "kapitel-kante-signatur",
     "wo": "Kapitelgrenzen zwischen Objektart, Turnus und Referenzen als Abzieher-Bahn",
     "dauer_ms": "scrollgekoppelt",
     "versatz_ms": 0,
     "weg": "ein gerader Strich mit Gummilippe an der Spitze zieht sich scrollgekoppelt über die Breite, Kapitel-Wort am Anfang",
     "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": [
    "Tabellen, Preise, Leistungsverzeichnis (Rezept)",
    "Anfrage"
   ],
   "hinweis": "Einziger längerer Moment ist die Signatur (Bild-Maske je Referenzfoto); die Kapitelkante zieht nur mit dem Scroll und trägt dieselbe gerade Kante."
  },
  "hover": {
   "link": "Strich wächst in 350 ms, raus in 200 ms",
   "knopf": "fuellung-vom-eintrittspunkt basis (clip-path, 500 auf / 230 zu wie im Starter); kontur-button-zeichnen zeichnen",
   "karte": "karte-ganzflaechig-klickbar raster: Pfeil 4 px, Bild steht",
   "bild": "kein Zoom",
   "ein_ms": 350,
   "aus_ms": 230,
   "kurve": "--ease / --ease-aus"
  },
  "signatur": {
   "muster": "clip-path-bild-reveal",
   "variante": null,
   "bewegung": "Referenzfotos öffnen sich einmal je Bild wie unter dem Abzieher: Maske von links nach rechts, 500 ms --ease, nie in einer Schleife (Rezept).",
   "ausloeser": "Scroll (33 % sichtbar)",
   "dauer_ms": 500,
   "wiederholung": "einmal je Bild und Seitenaufruf"
  },
  "seitenwechsel": {
   "muster": "richtungsbewusste-uebergaenge",
   "spielart": "Abzieher: neue Seite hinter einer Gummilippe aufgedeckt (clip-path auf ::view-transition-new(root)), alte steht und dunkelt nur leicht ab",
   "zusatz": [
    {
     "muster": "vt-cross-document-mpa",
     "variante": "typen"
    },
    {
     "muster": "vt-shared-element-morph"
    }
   ],
   "richtung": "vor (Lippe von links), rueck (von rechts), tiefer (Übersicht → Leistung, von oben, Bild wächst zum Kopfbild), hoeher (von unten)",
   "geteilt": [
    "kopf",
    "unten (mobile Leiste)",
    "abzieher (Lippe als eigenes Element)",
    "held (Leistungsbild)"
   ],
   "dauer_ms": 650
  },
  "budget": [
   "Bewegung bestätigt nur Zustände (Rezept).",
   "Signatur einmal je Bild, nie als Schleife (Rezept).",
   "Kapitelkanten höchstens drei je Seite, nie über Tabellen und Preisen."
  ],
  "reduziert": "Fotos stehen sofort, Akkordeon und Schritte wechseln ohne Weg (Rezept); Seitenwechsel als Überblendung 150 ms ohne Lippe. Kapitelkanten stehen fertig gezogen.",
  "verboten": [
   "Glanzsterne, Funkeln, Seifenblasen (Rezept: keine Glanz-Klischees)",
   "Wisch-Animationen über Text",
   "Vorher-Nachher-Regler (Rezept)"
  ],
  "partitur_herkunft": "Starter gebaeudedienste-sauber (tokens.css --dauer-wisch 650, --dauer-rezept-1..5 200/230/300/350/500; style.css steigen --dauer-l mit 80 ms Versatz, taucht --dauer-m ab +240, Hover 350/200 und Knopf 500/230). Ablauf ohne Bahnen-Intro eigene Festlegung. Kapitelkante 05.11.2026 aus kapitel-kante-signatur (linie: Bleistift, Kreide, Abzieher).",
  "partitur_stand": "05.11.2026"
 },
 "hero_beschreibung": "Foto-Hero (split-randabfallend): echte Mitarbeitende bei der Arbeit in einem erkennbaren Objekt (Treppenhaus, Glasfront, Büro am frühen Morgen), mit Einwilligung. Daneben ein Satz, was gereinigt wird und wo, darunter die Objektart als erste Frage („Was sollen wir reinigen?“ mit vier bis sechs Knöpfen) und Telefon. Kein Stockfoto mit Gummihandschuh und Sprühflasche, kein Glanzstern.",
 "muster": {
  "seitenuebergang": [
   "richtungsbewusste-uebergaenge",
   "vt-shared-element-morph"
  ],
  "preloader": [],
  "navigation": [
   "native-popover-dropdowns",
   "mobile-bottom-navigation",
   "brotkrumen-pfad"
  ],
  "hero": [
   "foto-hero"
  ],
  "hero_variante": [],
  "sektionen": [
   {
    "zweck": "Ihre feste Ansprechperson direkt unter dem Hero (Objektleitung mit Foto, Name, Region oder Objektart, Durchwahl, Rückrufzeit und Vertretung; Foto nur mit Einwilligung)",
    "muster": [
     "ansprechperson-band"
    ],
    "varianten": {
     "ansprechperson-band": "handwerk"
    }
   },
   {
    "zweck": "Was sollen wir reinigen? (Objektart zuerst: Büro und Verwaltung, Praxis, Treppenhaus und Wohnanlage, Glas und Fassade, Bau-Endreinigung, Gewerbe; je Objektart eine Unterseite, Antwort zuerst: was gemacht wird, in welchem Turnus, ab-Preis je m² oder Stunde und wovon er abhängt)",
    "muster": [
     "akkordeon-hoehe-auto",
     "leistungsseite-antwort-zuerst",
     "ansprechperson-band"
    ],
    "varianten": {
     "akkordeon-hoehe-auto": "leistungen",
     "leistungsseite-antwort-zuerst": "handwerk",
     "ansprechperson-band": "handwerk"
    }
   },
   {
    "zweck": "Turnus und Leistungsverzeichnis (Tabelle: täglich, wöchentlich, monatlich je Leistung; drei Pakete nur, wenn der Betrieb sie wirklich anbietet, sonst Beispiel-Leistungsverzeichnis; Zeitfenster wie vor 7 Uhr oder nach Büroschluss; Preise für Privatkunden inkl. MwSt.)",
    "muster": [
     "vergleichstabelle-sticky",
     "preisseite-geruest"
    ],
    "varianten": {
     "vergleichstabelle-sticky": "pakete",
     "preisseite-geruest": "mitgliedschaft"
    }
   },
   {
    "zweck": "Besichtigung anfragen (Objektart → Fläche in m² und Etagen → Turnus und Zeitfenster → Postleitzahl und Kontakt; Grundriss oder Fotos freiwillig; Antwortzeit nennen; Telefon und WhatsApp daneben)",
    "muster": [
     "mehrschritt-anfrage",
     "datei-upload-ablage",
     "formular-fehlerzusammenfassung"
    ],
    "varianten": {
     "mehrschritt-anfrage": "senkrecht",
     "datei-upload-ablage": "dokument",
     "formular-fehlerzusammenfassung": "liste"
    }
   },
   {
    "zweck": "So starten wir (Besichtigung → Leistungsverzeichnis und Angebot → Einweisung und Schlüsselübergabe mit Protokoll → feste Reinigungskraft und Objektleitung → erste Qualitätskontrolle mit Termin)",
    "muster": [
     "prozess-timeline-wachsende-linie"
    ]
   },
   {
    "zweck": "Referenzen nach Objektart (Branche, Fläche, Turnus, seit wann betreut; Kundenname und Logo nur mit Erlaubnis; Fotos öffnen sich einmal mit waagerechter Maske; eigene Stimmen nüchtern mit Funktion und Datum)",
    "muster": [
     "clip-path-bild-reveal",
     "testimonials-neu-gedacht"
    ],
    "varianten": {
     "testimonials-neu-gedacht": "stimmen-reihe"
    }
   },
   {
    "zweck": "Zertifikate und Mitgliedschaften (Innung, Gütegemeinschaft, ISO-Zertifikate nur mit Nummer, Gültigkeit und Link; Umweltzeichen nur mit Lizenznummer)",
    "muster": [
     "logo-wand-social-proof"
    ],
    "varianten": {
     "logo-wand-social-proof": "siegel-nachweis"
    }
   },
   {
    "zweck": "Ihre Objektleitung (Foto, Name, Zuständigkeit nach Region oder Objektart, Durchwahl, Sprachen; bei kleinen Betrieben die Inhaberin oder der Inhaber selbst)",
    "muster": [
     "team-ueber-mich-layout"
    ],
    "varianten": {
     "team-ueber-mich-layout": "raster"
    }
   },
   {
    "zweck": "Arbeiten bei uns (Minijob, Teilzeit, Vollzeit; Stundenlohn nach Tarif mit Lohngruppe und Stand-Datum, Einsatzzeiten, Einsatzorte, Fahrtkosten; Kurzbewerbung in mehreren Sprachen; jede Stelle mit eigener Seite)",
    "muster": [
     "stellen-karriere",
     "stellenseite-mit-jobposting"
    ],
    "varianten": {
     "stellen-karriere": "liste",
     "stellenseite-mit-jobposting": "handwerk"
    }
   },
   {
    "zweck": "Kontakt, Niederlassungen, Einzugsgebiet (Adresse als Text, Bürozeiten, Einzugsgebiet als Orte; Standortliste erst ab zwei Niederlassungen; Karte per 2-Klick)",
    "muster": [
     "standortfinder-liste",
     "karte-zwei-klick",
     "firmendaten-strukturiert",
     "erreichbarkeits-button"
    ],
    "varianten": {
     "standortfinder-liste": "kompakt",
     "karte-zwei-klick": "bild",
     "firmendaten-strukturiert": "werkstatt",
     "erreichbarkeits-button": "bereitschaft"
    }
   },
   {
    "zweck": "Erklärung zur Barrierefreiheit (eigene Seite, Footer-Link; bei Online-Buchung für Privathaushalte nach BFSG prüfen lassen)",
    "muster": [
     "barrierefreiheit-seite"
    ],
    "varianten": {
     "barrierefreiheit-seite": "erklaerung"
    }
   }
  ],
  "scroll": [
   "clip-path-bild-reveal",
   "kapitel-kante-signatur"
  ],
  "schrift_animation": [],
  "hover": [
   "karte-ganzflaechig-klickbar"
  ],
  "cursor": [],
  "mikro": [
   "druck-feedback",
   "checkbox-radio-animiert"
  ],
  "material": [],
  "galerie": [],
  "footer": [
   "studio-visitenkarte-footer"
  ],
  "button": [
   "fuellung-vom-eintrittspunkt",
   "kontur-button-zeichnen"
  ],
  "hero_varianten": {
   "foto-hero": "split-randabfallend"
  }
 },
 "signatur": [
  "clip-path-bild-reveal"
 ],
 "moment": {
  "was": "Die Bahn: große Referenzfotos öffnen sich einmal wie unter dem Abzieher, von links nach rechts.",
  "wo": "Startseite, erster und zweiter Bildschirm",
  "gewicht": "groß: Foto mindestens 8 Spalten, Maske über die ganze Bildbreite",
  "muster": [
   "clip-path-bild-reveal",
   "kapitel-kante-signatur"
  ],
  "variante": null
 },
 "optional": [
  "agentenformular-webmcp"
 ],
 "varianten_demo": {
  "mobile-bottom-navigation": "kontakt",
  "studio-visitenkarte-footer": "praxis",
  "fuellung-vom-eintrittspunkt": "basis",
  "kontur-button-zeichnen": "zeichnen",
  "agentenformular-webmcp": "projekt",
  "karte-ganzflaechig-klickbar": "raster",
  "brotkrumen-pfad": "voll",
  "kapitel-kante-signatur": "linie"
 },
 "nicht_verwenden": [
  "vorher-nachher-vergleichsregler – Signatur von handwerk-werkstatt-klartext; dazu wirken Schmutz-Vorher-Bilder schnell inszeniert",
  "blueprint-raster-sichtbar – Signatur von industrie-b2b-mittelstand",
  "liquid-glass-refraktion / glas-button – Glas als Effekt ist hier das Klischee der Branche",
  "atmosphaere-partikel / mesh-gradient-shader – Seifenblasen und Glanzlichter sind Deko ohne Inhalt",
  "zahlen-odometer – „10.000 m² täglich“ wird nicht hochgezählt",
  "marquee-laufband – Kundenlogos als Laufband ohne Erlaubnis und unruhig",
  "smooth-scroll-lenis – verzögert Tabelle und Formular",
  "konfetti-erfolg – nach der Anfrage eine ruhige Bestätigung mit Rückmeldezeit",
  "Stockfotos mit Gummihandschuh, Sprühflasche und Glanzstern – echte Mitarbeitende im echten Objekt",
  "„grün“, „umweltfreundlich“, „keimfrei“, „99,9 %“ ohne Nachweis – Umwelt- und Wirkaussagen nur mit Beleg (Leitfaden 8a)"
 ],
 "regeln": [
  "Erster Bildschirm: echtes Foto aus einem Objekt, ein Satz mit Leistung und Region, die Objektart als erste Frage, Telefon als tel:-Link. Mobil eine untere Leiste Anrufen / Besichtigung / WhatsApp.",
  "Objektart vor Leistung: Jede Objektart hat eine Unterseite nach leistungsseite-antwort-zuerst (Variante handwerk) mit Turnus, ab-Preis und dem Satz, wovon der Preis abhängt (Fläche, Bodenart, Verschmutzung, Zeitfenster).",
  "Turnus und Leistungsverzeichnis als echte Tabelle mit Tabellenziffern; ein PDF-Leistungsverzeichnis nur als Ergänzung, nie als einzige Quelle.",
  "Anfrage nach mehrschritt-anfrage (Variante senkrecht): höchstens vier Schritte, Telefon und E-Mail einzeln wählbar, Upload freiwillig mit Datenschutzhinweis. Validierung erst nach dem Verlassen eines Feldes. Die Bestätigung nennt, wer sich bis wann meldet.",
  "Signatur (clip-path-bild-reveal): Referenzfotos öffnen sich einmal mit waagerechter Maske in 500 ms, Kante gerade wie ein Abzieher. Es ist immer dasselbe echte Foto, kein Vorher-Nachher-Vergleich. Höchstens drei solche Bilder pro Seite, nie zwei gleichzeitig im Bild.",
  "Ein Signalton nur für Besichtigung anfragen und Anrufen. Auf Dunkel ist der Knopf kalkweiß mit dunkler Schrift.",
  "Personalgewinnung ist die zweite Startseite: Stellen mit Stundenlohn nach Tarif oder Spanne, Einsatzzeiten und Orten, Kurzbewerbung ohne Anschreiben in mehreren Sprachen, Anruf und WhatsApp als zweiter Weg; jede Stelle mit JobPosting (stellenseite-mit-jobposting).",
  "Pflichtangaben und Recht (Leitfaden 8a): Impressum mit Handwerkskammer und Eintrag in das Verzeichnis der zulassungsfreien Handwerke; Löhne und Tarifangaben nur mit Stand-Datum; Zertifikate und Umweltzeichen nur mit Träger, Nummer und Gültigkeit (logo-wand-social-proof, Variante siegel-nachweis); keine Umwelt- oder Desinfektionsaussagen ohne Nachweis; Preise für Privatkunden inkl. MwSt., für Gewerbe klar als netto gekennzeichnet; Verschwiegenheit in Praxen und Kanzleien nur nennen, wenn sie vertraglich geregelt ist; Kundenlogos nur mit Erlaubnis. Vom Kunden prüfen lassen.",
  "agentenformular-webmcp nur als Zusatz (Priorität F): Die Anfrage funktioniert vollständig als normales Formular.",
  "Leitidee über die Seite (z. B. „Die Bahn“): Kapitelkanten als Abzieher-Strich (kapitel-kante-signatur, Variante linie) zwischen Objektart, Turnus und Referenzen; Kante gerade wie bei der Signatur, höchstens drei je Seite, nie über Tabellen."
 ],
 "varianten": [
  {
   "name": "Hausmeisterservice und Winterdienst (Wohnanlagen, Hausverwaltungen)",
   "hinweis": "Schrift, Farbe, Stil und Signatur bleiben. Zielgruppe sind Hausverwaltungen und Eigentümergemeinschaften: Leistungen je Einheit oder Objekt, Winterdienst mit Einsatzzeiten, Räum- und Streupflicht nach Satzung der Gemeinde (vom Kunden prüfen lassen) und Dokumentation der Einsätze. Notdienst nur, wenn es eine echte Rufbereitschaft gibt, dann mit Nummer und Zeiten im Kopf.",
   "sektionen": [
    "Leistungen je Objekt (Treppenhaus, Außenanlage, Mülltonnen, Kontrollgänge, kleine Reparaturen)",
    "Winterdienst (Einsatzzeiten, Dokumentation, Pauschale je Saison)",
    "Für Hausverwaltungen (Ansprechperson, Berichte, Schlüsselverwaltung)",
    "Anfrage (Objektadresse, Zahl der Einheiten, gewünschte Leistungen)",
    "Arbeiten bei uns",
    "Kontakt und Einzugsgebiet"
   ],
   "weglassen": [
    "Glas und Fassade als eigene Unterseite, wenn es nicht angeboten wird"
   ],
   "muster_zusatz": [
    "oeffnungszeiten-status"
   ]
  },
  {
   "name": "Reinigung für Privathaushalte",
   "hinweis": "Sie-Anrede bleibt. Festpreis je Stunde inkl. MwSt. und Mindestdauer offen nennen; Hinweis auf die Steuerermäßigung für haushaltsnahe Dienstleistungen (§ 35a EStG) nur als Hinweis mit Verweis auf die Steuerberatung. Wird online gebucht oder ein Dauervertrag online geschlossen, gelten Widerrufs- und Kündigungsbutton (widerruf-und-kuendigung-schaltflaeche, Variante richtig). Vom Kunden prüfen lassen.",
   "sektionen": [
    "Preise je Stunde mit Mindestdauer (preisseite-geruest Variante mitgliedschaft: Stundenpreis inkl. MwSt., Mindestdauer, Laufzeit und Kündigung des Dauerauftrags)",
    "Termin anfragen oder buchen (Buchungs-Widget erst nach Klick)",
    "Wer zu Ihnen kommt (feste Reinigungskraft, Vertretung)",
    "Vertrag widerrufen / kündigen"
   ],
   "weglassen": [
    "Zertifikate als Logo-Wand",
    "Leistungsverzeichnis als PDF"
   ],
   "muster_zusatz": [
    "termin-buchung-zwei-klick",
    "widerruf-und-kuendigung-schaltflaeche",
    "preisseite-geruest"
   ]
  }
 ],
 "template_tauglich": true,
 "aufwand": "niedrig",
 "leistung": "Leicht: kaum JS, Akkordeon über details, Signatur nur per CSS clip-path mit animation-timeline: view() hinter @supports, sonst stehen die Bilder. Hero-Foto mit fetchpriority=high und ohne Reveal. Strichpunkt Sans als Variable-Datei mit wdth und wght, Commissioner nur Latin. Formular ohne Bibliothek, Upload ohne Vorschau-Bibliothek.",
 "offen": [
  "Nur eine Referenz (Piepenbrock, Großunternehmen) per WebFetch geprüft; eine kleine Gebäudereinigung als Vorbild fehlt. Schriften, Farben und Kurven nicht gemessen."
 ],
 "raum": {
  "basis_px": 8,
  "skala_px": [
   4,
   8,
   12,
   16,
   24,
   32,
   40,
   56,
   80,
   112
  ],
  "sektion": "clamp(64px, 8vw, 112px)",
  "dichte": "mittel",
  "hinweis": "Klar und luftig wie ein leerer Flur: Tabellen dicht (12 px Zeilenabstand), Sektionen mit viel Abstand, Objektarten als Liste mit 24 px zwischen den Punkten."
 },
 "raster": {
  "spalten": 12,
  "rand": "clamp(16px, 4vw, 56px)",
  "spalt": "clamp(16px, 2.4vw, 32px)",
  "max_breite": "1280px",
  "hinweis": "Hero 5/7 (Text links, Foto randabfallend rechts). Objektarten als zweispaltige Liste, Turnus-Tabelle über 12 Spalten, mobil waagerecht scrollbar mit fester erster Spalte."
 },
 "form": {
  "radius_klein": "2px",
  "radius_gross": "4px",
  "pille": false,
  "linie": "1px #CDD2D0 zwischen Tabellenzeilen; Formularfelder 1px in Leise #566067 (3:1)",
  "schatten": "keiner",
  "hinweis": "Kanten fast eckig wie Fliesenfugen. Flächen trennen sich über Fliesengrau, nicht über Schatten."
 },
 "bildsprache": {
  "licht": "Frühes Tageslicht oder Arbeitslicht im echten Objekt, kühl-neutral, nicht nachgeschärft.",
  "ausschnitt": "Mitarbeitende bei der Arbeit in der Halbtotale, Glasflächen und Böden im Streiflicht, Objekt in der Totale.",
  "personen": "Ja: eigenes Team mit Einwilligung, Arbeitskleidung mit Firmenlogo; keine Kundinnen und Kunden ohne Erlaubnis.",
  "formate": [
   "3:2",
   "4:5",
   "16:9"
  ],
  "nicht": "Keine Stockfotos mit Gummihandschuh und Sprühflasche, keine Glanzsterne und Seifenblasen, keine fremden Firmenlogos im Bild.",
  "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": "Sie",
  "saetze": "Kurz und sachlich: Objekt, Turnus, Uhrzeit, Preis, Ansprechperson.",
  "haltung": "Verlässlich wie ein Dienstplan, freundlich, ohne Werbesprech.",
  "beispiele": [
   "Büros in [Ort], täglich vor 7 Uhr gereinigt.",
   "Ihre Objektleiterin ist [Name]. Sie erreichen sie unter [Durchwahl]."
  ],
  "nicht": "„blitzblank“, „strahlend sauber“, „Ihr kompetenter Partner“, „grüne Reinigung“ ohne Nachweis."
 },
 "hero_aufbau": {
  "raster": "12 Spalten: Text über Spalte 1 bis 5, Foto über 6 bis 12 bis an den rechten Rand; mobil Foto oben, Text darunter.",
  "bild": "Echtes Foto aus einem betreuten Objekt mit Mitarbeitenden, 3:2 Desktop, 4:5 mobil.",
  "h1": "clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem), Strichpunkt Sans wdth 140, wght 700, oben im Textblock, kein Label darüber.",
  "handlung": "Objektart als vier bis sechs Knöpfe (führen in die Anfrage mit Vorauswahl), daneben „Anrufen“ als tel:-Link mit sichtbarer Nummer.",
  "zusatz": "Region als Zeile unter der H1; mobil untere Leiste Anrufen / Besichtigung / WhatsApp."
 },
 "url": "https://cecodesign.de/lab/fundus/rezepte/gebaeudedienste-sauber/",
 "tokens_css": "https://cecodesign.de/lab/fundus/rezepte/gebaeudedienste-sauber/tokens.css",
 "bauplan": "https://cecodesign.de/lab/fundus/rezepte/gebaeudedienste-sauber/bauplan.txt",
 "rezept_json": "https://cecodesign.de/lab/fundus/rezepte/gebaeudedienste-sauber/rezept.json",
 "nicht_verwenden_ids": [
  {
   "ids": [
    "vorher-nachher-vergleichsregler"
   ],
   "grund": "Signatur von handwerk-werkstatt-klartext; dazu wirken Schmutz-Vorher-Bilder schnell inszeniert"
  },
  {
   "ids": [
    "blueprint-raster-sichtbar"
   ],
   "grund": "Signatur von industrie-b2b-mittelstand"
  },
  {
   "ids": [
    "liquid-glass-refraktion",
    "glas-button"
   ],
   "grund": "Glas als Effekt ist hier das Klischee der Branche"
  },
  {
   "ids": [
    "atmosphaere-partikel",
    "mesh-gradient-shader"
   ],
   "grund": "Seifenblasen und Glanzlichter sind Deko ohne Inhalt"
  },
  {
   "ids": [
    "zahlen-odometer"
   ],
   "grund": "„10.000 m² täglich“ wird nicht hochgezählt"
  },
  {
   "ids": [
    "marquee-laufband"
   ],
   "grund": "Kundenlogos als Laufband ohne Erlaubnis und unruhig"
  },
  {
   "ids": [
    "smooth-scroll-lenis"
   ],
   "grund": "verzögert Tabelle und Formular"
  },
  {
   "ids": [
    "konfetti-erfolg"
   ],
   "grund": "nach der Anfrage eine ruhige Bestätigung mit Rückmeldezeit"
  },
  {
   "ids": [],
   "grund": "Stockfotos mit Gummihandschuh, Sprühflasche und Glanzstern – echte Mitarbeitende im echten Objekt"
  },
  {
   "ids": [],
   "grund": "„grün“, „umweltfreundlich“, „keimfrei“, „99,9 %“ ohne Nachweis – Umwelt- und Wirkaussagen nur mit Beleg (Leitfaden 8a)"
  }
 ],
 "starter": "https://cecodesign.de/lab/fundus/starter/gebaeudedienste-sauber/index.html",
 "alle_muster": [
  {
   "id": "clip-path-bild-reveal",
   "rolle": "Signatur",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/scroll/clip-path-bild-reveal/meta.json"
  },
  {
   "id": "foto-hero",
   "rolle": "Hero",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero/meta.json",
   "variante": "split-randabfallend",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/foto-hero/demo?v=split-randabfallend"
  },
  {
   "id": "ansprechperson-band",
   "rolle": "Sektion: Ihre feste Ansprechperson direkt unter dem Hero (Objektleitung mit Foto, Name, Region oder Objektart, Durchwahl, Rückrufzeit und Vertretung; Foto nur mit Einwilligung)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/ansprechperson-band/meta.json",
   "variante": "handwerk",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/ansprechperson-band/demo?v=handwerk"
  },
  {
   "id": "akkordeon-hoehe-auto",
   "rolle": "Sektion: Was sollen wir reinigen? (Objektart zuerst: Büro und Verwaltung, Praxis, Treppenhaus und Wohnanlage, Glas und Fassade, Bau-Endreinigung, Gewerbe; je Objektart eine Unterseite, Antwort zuerst: was gemacht wird, in welchem Turnus, ab-Preis je m² oder Stunde und wovon er abhängt)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/meta.json",
   "variante": "leistungen",
   "demo_url": "https://cecodesign.de/lab/fundus/mikroanimationen/akkordeon-hoehe-auto/demo?v=leistungen"
  },
  {
   "id": "leistungsseite-antwort-zuerst",
   "rolle": "Sektion: Was sollen wir reinigen? (Objektart zuerst: Büro und Verwaltung, Praxis, Treppenhaus und Wohnanlage, Glas und Fassade, Bau-Endreinigung, Gewerbe; je Objektart eine Unterseite, Antwort zuerst: was gemacht wird, in welchem Turnus, ab-Preis je m² oder Stunde und wovon er abhängt)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/leistungsseite-antwort-zuerst/meta.json",
   "variante": "handwerk",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/leistungsseite-antwort-zuerst/demo?v=handwerk"
  },
  {
   "id": "vergleichstabelle-sticky",
   "rolle": "Sektion: Turnus und Leistungsverzeichnis (Tabelle: täglich, wöchentlich, monatlich je Leistung; drei Pakete nur, wenn der Betrieb sie wirklich anbietet, sonst Beispiel-Leistungsverzeichnis; Zeitfenster wie vor 7 Uhr oder nach Büroschluss; Preise für Privatkunden inkl. MwSt.)",
   "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": "preisseite-geruest",
   "rolle": "Sektion: Turnus und Leistungsverzeichnis (Tabelle: täglich, wöchentlich, monatlich je Leistung; drei Pakete nur, wenn der Betrieb sie wirklich anbietet, sonst Beispiel-Leistungsverzeichnis; Zeitfenster wie vor 7 Uhr oder nach Büroschluss; Preise für Privatkunden inkl. MwSt.)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/preisseite-geruest/meta.json",
   "variante": "mitgliedschaft",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/preisseite-geruest/demo?v=mitgliedschaft"
  },
  {
   "id": "mehrschritt-anfrage",
   "rolle": "Sektion: Besichtigung anfragen (Objektart → Fläche in m² und Etagen → Turnus und Zeitfenster → Postleitzahl und Kontakt; Grundriss oder Fotos freiwillig; Antwortzeit nennen; Telefon und WhatsApp daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/mehrschritt-anfrage/meta.json",
   "variante": "senkrecht",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/mehrschritt-anfrage/demo?v=senkrecht"
  },
  {
   "id": "datei-upload-ablage",
   "rolle": "Sektion: Besichtigung anfragen (Objektart → Fläche in m² und Etagen → Turnus und Zeitfenster → Postleitzahl und Kontakt; Grundriss oder Fotos freiwillig; Antwortzeit nennen; Telefon und WhatsApp daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/datei-upload-ablage/meta.json",
   "variante": "dokument",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/datei-upload-ablage/demo?v=dokument"
  },
  {
   "id": "formular-fehlerzusammenfassung",
   "rolle": "Sektion: Besichtigung anfragen (Objektart → Fläche in m² und Etagen → Turnus und Zeitfenster → Postleitzahl und Kontakt; Grundriss oder Fotos freiwillig; Antwortzeit nennen; Telefon und WhatsApp daneben)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/formular-fehlerzusammenfassung/meta.json",
   "variante": "liste",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/formular-fehlerzusammenfassung/demo?v=liste"
  },
  {
   "id": "prozess-timeline-wachsende-linie",
   "rolle": "Sektion: So starten wir (Besichtigung → Leistungsverzeichnis und Angebot → Einweisung und Schlüsselübergabe mit Protokoll → feste Reinigungskraft und Objektleitung → erste Qualitätskontrolle mit Termin)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/prozess-timeline-wachsende-linie/meta.json"
  },
  {
   "id": "testimonials-neu-gedacht",
   "rolle": "Sektion: Referenzen nach Objektart (Branche, Fläche, Turnus, seit wann betreut; Kundenname und Logo nur mit Erlaubnis; Fotos öffnen sich einmal mit waagerechter Maske; eigene Stimmen nüchtern mit Funktion und Datum)",
   "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": "logo-wand-social-proof",
   "rolle": "Sektion: Zertifikate und Mitgliedschaften (Innung, Gütegemeinschaft, ISO-Zertifikate nur mit Nummer, Gültigkeit und Link; Umweltzeichen nur mit Lizenznummer)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/logo-wand-social-proof/meta.json",
   "variante": "siegel-nachweis",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/logo-wand-social-proof/demo?v=siegel-nachweis"
  },
  {
   "id": "team-ueber-mich-layout",
   "rolle": "Sektion: Ihre Objektleitung (Foto, Name, Zuständigkeit nach Region oder Objektart, Durchwahl, Sprachen; bei kleinen Betrieben die Inhaberin oder der Inhaber selbst)",
   "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": "stellen-karriere",
   "rolle": "Sektion: Arbeiten bei uns (Minijob, Teilzeit, Vollzeit; Stundenlohn nach Tarif mit Lohngruppe und Stand-Datum, Einsatzzeiten, Einsatzorte, Fahrtkosten; Kurzbewerbung in mehreren Sprachen; jede Stelle mit eigener Seite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/stellen-karriere/meta.json",
   "variante": "liste",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/stellen-karriere/demo?v=liste"
  },
  {
   "id": "stellenseite-mit-jobposting",
   "rolle": "Sektion: Arbeiten bei uns (Minijob, Teilzeit, Vollzeit; Stundenlohn nach Tarif mit Lohngruppe und Stand-Datum, Einsatzzeiten, Einsatzorte, Fahrtkosten; Kurzbewerbung in mehreren Sprachen; jede Stelle mit eigener Seite)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/stellenseite-mit-jobposting/meta.json",
   "variante": "handwerk",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/stellenseite-mit-jobposting/demo?v=handwerk"
  },
  {
   "id": "standortfinder-liste",
   "rolle": "Sektion: Kontakt, Niederlassungen, Einzugsgebiet (Adresse als Text, Bürozeiten, Einzugsgebiet als Orte; Standortliste erst ab zwei Niederlassungen; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/standortfinder-liste/meta.json",
   "variante": "kompakt",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/standortfinder-liste/demo?v=kompakt"
  },
  {
   "id": "karte-zwei-klick",
   "rolle": "Sektion: Kontakt, Niederlassungen, Einzugsgebiet (Adresse als Text, Bürozeiten, Einzugsgebiet als Orte; Standortliste erst ab zwei Niederlassungen; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/meta.json",
   "variante": "bild",
   "demo_url": "https://cecodesign.de/lab/fundus/hero-layouts/karte-zwei-klick/demo?v=bild"
  },
  {
   "id": "firmendaten-strukturiert",
   "rolle": "Sektion: Kontakt, Niederlassungen, Einzugsgebiet (Adresse als Text, Bürozeiten, Einzugsgebiet als Orte; Standortliste erst ab zwei Niederlassungen; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/firmendaten-strukturiert/meta.json",
   "variante": "werkstatt",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/firmendaten-strukturiert/demo?v=werkstatt"
  },
  {
   "id": "erreichbarkeits-button",
   "rolle": "Sektion: Kontakt, Niederlassungen, Einzugsgebiet (Adresse als Text, Bürozeiten, Einzugsgebiet als Orte; Standortliste erst ab zwei Niederlassungen; Karte per 2-Klick)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/erreichbarkeits-button/meta.json",
   "variante": "bereitschaft",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/erreichbarkeits-button/demo?v=bereitschaft"
  },
  {
   "id": "barrierefreiheit-seite",
   "rolle": "Sektion: Erklärung zur Barrierefreiheit (eigene Seite, Footer-Link; bei Online-Buchung für Privathaushalte nach BFSG prüfen lassen)",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/zugang/barrierefreiheit-seite/meta.json",
   "variante": "erklaerung",
   "demo_url": "https://cecodesign.de/lab/fundus/zugang/barrierefreiheit-seite/demo?v=erklaerung"
  },
  {
   "id": "richtungsbewusste-uebergaenge",
   "rolle": "Seitenwechsel",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/seitenuebergaenge/richtungsbewusste-uebergaenge/meta.json"
  },
  {
   "id": "vt-shared-element-morph",
   "rolle": "Seitenwechsel",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/seitenuebergaenge/vt-shared-element-morph/meta.json"
  },
  {
   "id": "native-popover-dropdowns",
   "rolle": "Navigation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/navigation/native-popover-dropdowns/meta.json"
  },
  {
   "id": "mobile-bottom-navigation",
   "rolle": "Navigation",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/meta.json",
   "variante": "kontakt",
   "demo_url": "https://cecodesign.de/lab/fundus/navigation/mobile-bottom-navigation/demo?v=kontakt"
  },
  {
   "id": "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": "kapitel-kante-signatur",
   "rolle": "Scroll",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/scroll/kapitel-kante-signatur/meta.json",
   "variante": "linie",
   "demo_url": "https://cecodesign.de/lab/fundus/scroll/kapitel-kante-signatur/demo?v=linie"
  },
  {
   "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": "kontur-button-zeichnen",
   "rolle": "Buttons",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/buttons/kontur-button-zeichnen/meta.json",
   "variante": "zeichnen",
   "demo_url": "https://cecodesign.de/lab/fundus/buttons/kontur-button-zeichnen/demo?v=zeichnen"
  },
  {
   "id": "token-swiss-knackig",
   "rolle": "Animationsstil",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/token-swiss-knackig/meta.json"
  },
  {
   "id": "token-toggle-asymmetrisch",
   "rolle": "Animationsstil für UI",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/animationsstile/token-toggle-asymmetrisch/meta.json"
  },
  {
   "id": "fluide-typo-clamp-cqi",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/fluide-typo-clamp-cqi/meta.json"
  },
  {
   "id": "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"
  },
  {
   "id": "headline-laufweite-zeilenabstand",
   "rolle": "Schrift-Technik",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/typo-techniken/headline-laufweite-zeilenabstand/meta.json"
  },
  {
   "id": "agentenformular-webmcp",
   "rolle": "Optional",
   "demo": true,
   "meta": "https://cecodesign.de/lab/fundus/sektionen/agentenformular-webmcp/meta.json",
   "variante": "projekt",
   "demo_url": "https://cecodesign.de/lab/fundus/sektionen/agentenformular-webmcp/demo?v=projekt"
  }
 ]
}
