/* Fundus · Rezept „Bauunternehmen: Projekt, Bauschild, Mannschaft“ · tokens.css · Stand 02.11.2026
   Quelle: https://cecodesign.de/lab/fundus/rezepte/bau-unternehmen-projekt/ · Bauplan: bauplan.txt · Leitfaden: https://cecodesign.de/lab/fundus/leitfaden.txt
   Alle Gestaltung der Seite nutzt nur diese Variablen. Schriftpfade beim Kopieren in ein Projekt anpassen. */

@font-face { font-family: 'Big Shoulders'; src: url('../../../../assets/fonts/big-shoulders-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Google Sans Flex'; src: url('../../../../assets/fonts/google-sans-flex-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-stretch: 25% 151%; font-display: swap; }
@font-face { font-family: 'Geist Mono'; src: url('../../../../assets/fonts/geist-mono-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }

:root {
  /* Schrift */
  --schrift-headline: 'Big Shoulders', system-ui, sans-serif;
  --schrift-text: 'Google Sans Flex', system-ui, sans-serif;
  --schrift-akzent: 'Geist Mono', ui-monospace, monospace;
  /* Größen laut Rezept: h1 Big Shoulders clamp(2.75rem, 1.6rem + 5vw, 6rem), opsz 72, wght 800, Laufweite -0.01em, Zeilenhöhe 0.9, gemischte Schreibung (kein Versal-Satz für ganze Sätze); h2 clamp(2rem, 1.4rem + 2.4vw, 3.5rem), wght 800. Fließtext Google Sans Flex 1.0625rem (17 px), wght 400, ROND 0, Zeilenhöhe 1.6, höchstens 66ch. Bauschild-Daten (Bauherr, Ort, BGF in m², Bauzeit, Fertigstellung) in Geist Mono 0.875rem, Labels 0.75rem Versal +0.08em. Knöpfe Google Sans Flex 600, 1rem. */
  --mass: 66ch;
  --zeilenhoehe-text: 1.6;

  /* Farbe (Prinzip: Material der Baustelle: Betongrau als Grund, Sand als Fläche für Bauschild-Daten und Anfrage, fast schwarzer Asphalt für Footer und Karriere-Band. Signalorange nur für Anfragen und Bewerben, sparsam wie eine Warnmarkierung. Kein Gelb-Schwarz-Warnstreifen als Deko, keine Baustellen-Icons, keine blauen Hochglanz-Renderings als Stimmung.) */
  --farbe-grund: #EDECE8; /* Grund Beton */
  --farbe-text: #1A1A18; /* Text (14,7 : 1 auf Grund) */
  --farbe-flaeche: #DCD4C3; /* Fläche Sand: Bauschild-Daten, Anfrage, Kenndaten (Text 11,8 : 1) */
  --farbe-dunkel: #262624; /* Dunkel Asphalt: Footer, Karriere-Band (Weiß darauf 15,2 : 1) */
  --farbe-signal: #B43C0A; /* Signal Orange: Anfragen, Bewerben (Weiß darauf 5,8 : 1; als Fläche auf Grund 4,9 : 1, auf Sand 4,0 : 1); auf Asphalt stattdessen Beton-Knopf mit dunkler Schrift */
  --farbe-leise: #5B5952; /* Leise: Meta-Angaben, Stand-Daten (5,9 : 1 auf Grund, 4,8 : 1 auf Sand) */
  --farbe-linie: #CFCBC0; /* Linie: Haarlinien in Kenndaten (nur Dekoration) */
  --farbe-fehler: #B3261E; /* abgeleitet: Fehlermeldungen, 5.5 : 1 auf Grund */

  /* Dauer-Rahmen des Rezepts (gilt vor der Stil-Skala darunter): 200 (Hover, Farbe), 350 (Akkordeon, Filter, Hotspot-Karte), 230 (schließen), 500 (Masken-Reveal eines Projektbilds), 700 (Baufortschritt-Linie) */
  --dauer-rezept-1: 200ms;
  --dauer-rezept-2: 230ms;
  --dauer-rezept-3: 350ms;
  --dauer-rezept-4: 500ms;
  --dauer-rezept-5: 700ms;
  /* Bewegung: token-swiss-knackig */
  --ease: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-ein: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-aus: cubic-bezier(0.5, 0, 0.75, 0);
  --dauer-xs: 200ms;
  --dauer-s: 350ms;
  --dauer-m: 500ms;
  --dauer-l: 700ms;
  --stagger: 40ms;
  --aus-faktor: 0.7; /* Schließen = Öffnen × Faktor */
  /* Wege: nur x oder y; Text 100 % in Zeilenmaske, Pfeile 8 px; keine Rotation */

  /* Flächen, Bilder, Seitenwechsel (clip-path, Panels, Bänder): Kurve ohne Überschwingen */
  --ease-flaeche: var(--ease-ein);
  --ease-flaeche-aus: var(--ease-aus);
  --dauer-xl: 500ms; /* größte Stufe für große Flächen (= --dauer-gross der Partitur); der Seitenwechsel nimmt --dauer-seitenwechsel */

  /* Bewegungs-Partitur (rezept.bewegung, Stand 05.11.2026): Rollen statt Stufen; gleiche Werte wie oben, nur benannt */
  --dauer-klein: 200ms; /* = --dauer-rezept-1 */
  --dauer-mittel: 350ms; /* = --dauer-rezept-3 */
  --dauer-gross: 500ms; /* = --dauer-rezept-4 */
  --dauer-seitenwechsel: 500ms; /* = --dauer-rezept-4 */
  --dauer-schliessen: 230ms; /* = --dauer-rezept-2 */
  --dauer-hover-ein: 200ms;
  --dauer-hover-aus: 140ms;
  /* Laden 1: Hero-Foto (bildunterschrift) */
  --dauer-laden-1-ab: 0ms;
  --dauer-laden-1: 500ms;

  /* Raum (mittel): Plakativ und geordnet: große Überschriften mit wenig Luft darüber, Kenndaten eng (8 px), Projektbilder mit 32 px Abstand. */
  --raum-1: 4px;
  --raum-2: 8px;
  --raum-3: 12px;
  --raum-4: 16px;
  --raum-5: 24px;
  --raum-6: 32px;
  --raum-7: 48px;
  --raum-8: 64px;
  --raum-9: 96px;
  --raum-10: 128px;
  --raum-sektion: clamp(64px, 9vw, 128px);
  /* Raster: Hero-Foto über 12 Spalten mit Bildunterschrift-Zeile; Projektseite 8/4 (Bild und Hotspots links, Bauschild-Daten rechts sticky). */
  --raster-spalten: 12;
  --raster-rand: clamp(16px, 4vw, 56px);
  --raster-spalt: clamp(12px, 2vw, 32px);
  --raster-max: 1360px;
  /* Form: Eckig wie Schalung und Bauschild. Signalorange nur auf Knöpfen. */
  --radius-klein: 0;
  --radius-gross: 0;
  --radius-button: var(--radius-klein, 0);
  --linie-staerke: 2px; /* 2px #1A1A18 unter Überschriften von Kenndaten, sonst 1px #CFCBC0 */
  /* Schatten: keiner */

  /* Buttons: fuellung-vom-eintrittspunkt (Variante basis), kontur-button-zeichnen (Variante ecken) */
  --button-hoehe: 44px; /* Trefferfläche mindestens 44 × 44 px */
  --button-farbe: var(--farbe-signal, currentColor);
  --fokus-ring: 2px solid var(--farbe-text, currentColor); /* außen um den Knopf, Abstand s. u.; auf dunklen Flächen eigene Farbe setzen */
  --fokus-abstand: 3px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --stagger: 0ms; --ui-stagger: 0ms; }
  :root { --dauer-klein: 150ms; --dauer-mittel: 150ms; --dauer-gross: 150ms; --dauer-seitenwechsel: 150ms; --dauer-schliessen: 100ms; --dauer-hover-ein: 150ms; --dauer-hover-aus: 100ms; } /* nur Überblenden, höchstens 150 ms; nie länger als normal */
  /* Partitur reduziert: Bilder und Linie im Endzustand (Rezept); Punkte und Karten nur per Deckkraft; Seitenwechsel als Überblendung. Kapitelkanten stehen als fertige Stufen. */
  /* Reduziert laut Stil: opacity 150 ms linear, Masken sofort offen */
}
