// ──────────────────────────────────────────────────────────────── // Tokens · Typografie // // Drei Rollen: // Fliesstext/Bedienung → **Inter** (`--font-sans`), selbst gehostet // Marke/Titel → Systemschrift (`--font-brand`, `--font-display`) // Daten, Code → Systemschrift, mono (`--font-mono`) // ──────────────────────────────────────────────────────────────── $font-sans: "Inter", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif !default; $font-mono: ui-monospace, "DejaVu Sans Mono", Menlo, monospace !default; $font-brand: ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif !default; // Marke = Systemschrift $font-display: ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif !default; // Titel = Systemschrift // Feste Groessen-Skala (rem, relativ zur Basis 16px). $font-sizes: ( xs: .6875rem, // 11 sm: .75rem, // 12 md: .875rem, // 14 base: 1rem, // 16 lg: 1.25rem, // 20 xl: 1.5rem, // 24 2xl: 2rem, // 32 3xl: 2.5rem, // 40 ) !default; // Fluid-Display-Groessen (clamp) — fuer Marke/Hero. // `lg` ist die Marke und traegt den Wert der Startseite woertlich. $font-displays: ( sm: clamp(1.6rem, 4vw, 2.4rem), md: clamp(2.3rem, 6vw, 3.7rem), lg: clamp(52px, 10vw, 92px), ) !default; $font-weights: ( extralight: 200, light: 300, normal: 400, medium: 500, semibold: 600, bold: 700, ) !default; $line-heights: ( tight: 1.2, base: 1.5, loose: 1.7, ) !default; $trackings: ( tight: -.02em, normal: 0, wide: .14em, wider: .26em, widest: .34em, ) !default; @mixin type-tokens { --font-sans: #{$font-sans}; --font-mono: #{$font-mono}; --font-brand: #{$font-brand}; --font-display: #{$font-display}; @each $name, $value in $font-sizes { --fs-#{$name}: #{$value}; } @each $name, $value in $font-displays { --display-#{$name}: #{$value}; } @each $name, $value in $font-weights { --fw-#{$name}: #{$value}; } @each $name, $value in $line-heights { --lh-#{$name}: #{$value}; } @each $name, $value in $trackings { --tracking-#{$name}: #{$value}; } }