/* ============================================================
   kaidor — Design Tokens
   Stand: 28.07.2026
   Abgeleitet aus den Logo-Originaldateien (Illustrator, Juli 2026)
   ============================================================ */

/* ------------------------------------------------------------------
   Schriften — selbst gehostet

   Sora, Inter und Instrument Serif stehen unter der SIL Open Font
   License 1.1 (Lizenztexte in assets/fonts/). Selbsthosting ist damit
   erlaubt und in Deutschland auch nötig: würde die Seite die Schriften
   von fonts.gstatic.com laden, ginge die IP jedes Besuchers ungefragt
   an Google — abmahnfähig (LG München I, 3 O 17493/20).

   Alle drei sind Variable Fonts. Eine Datei je Familie/Stil/Subset deckt
   die gesamte Gewichtsspanne ab; der Browser interpoliert 500 und 600
   selbst. Deshalb steht in font-weight eine Spanne statt einer Zahl.

   Die unicode-range sorgt dafür, dass latin-ext nur geladen wird, wenn
   ein Zeichen daraus vorkommt. Eine deutschsprachige Seite kommt in
   aller Regel mit latin aus.
   ------------------------------------------------------------------ */

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/instrument-serif-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/instrument-serif-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/instrument-serif-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/instrument-serif-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('assets/fonts/sora-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('assets/fonts/sora-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {

  /* --- Markenfarben (aus dem Logo) ------------------------- */
  --kd-ink:            #0E0A32;   /* Primär, Wortmarke auf hell */
  --kd-blue:           #006EAA;   /* Akzent, Signal */
  --kd-paper:          #E8ECE4;   /* Wortmarke auf dunkel, Flächen */

  /* --- Blau-Skala ------------------------------------------ */
  --kd-blue-050:       #F0F6FA;
  --kd-blue-100:       #D9E9F2;
  --kd-blue-200:       #A6CCE1;
  --kd-blue-400:       #4797C2;   /* Pflicht für Blau auf dunklem Grund */
  --kd-blue-500:       #006EAA;   /* = Markenblau */
  --kd-blue-600:       #035C94;   /* Hover, Links auf hell */
  --kd-blue-700:       #05487C;   /* Active, Druck-Sonderfälle */

  /* --- Ink-Skala ------------------------------------------- */
  --kd-ink-900:        #0E0A32;
  --kd-ink-800:        #2B274B;
  --kd-ink-700:        #4D4A67;   /* Sekundärtext auf hell */
  --kd-ink-600:        #737188;   /* nur Meta, nie Fließtext */
  --kd-ink-500:        #9593A5;   /* Deko, Linien */
  --kd-ink-400:        #B2B1BD;

  /* --- Flächen --------------------------------------------- */
  --kd-paper-000:      #FFFFFF;
  --kd-paper-050:      #F5F6F3;
  --kd-paper-100:      #E8ECE4;   /* = Markenpapier */
  --kd-paper-200:      #D2D5D2;   /* Trennlinien auf hell */

  /* --- Semantisch ------------------------------------------ */
  --kd-surface:        var(--kd-paper-100);
  --kd-surface-raised: var(--kd-paper-000);
  --kd-surface-invert: var(--kd-ink-900);
  --kd-text:           var(--kd-ink-900);
  --kd-text-muted:     var(--kd-ink-700);
  --kd-text-invert:    var(--kd-paper-100);
  --kd-link:           var(--kd-blue-600);
  --kd-link-invert:    var(--kd-blue-400);
  --kd-border:         var(--kd-paper-200);
  --kd-border-invert:  #2B274B;

  /* --- Schrift --------------------------------------------- */
  --kd-font-display:   'Sora', system-ui, sans-serif;
  --kd-font-accent:    'Instrument Serif', Georgia, serif;
  --kd-font-body:      'Inter', system-ui, -apple-system, sans-serif;

  /* --- Typo-Skala (Web) ------------------------------------ */
  --kd-size-hero:      clamp(2.75rem, 6vw, 4rem);   /* 44–64px */
  --kd-size-h1:        clamp(2rem, 4vw, 2.5rem);    /* 32–40px */
  --kd-size-h2:        1.75rem;   /* 28px */
  --kd-size-h3:        1.25rem;   /* 20px */
  --kd-size-body-lg:   1.125rem;  /* 18px */
  --kd-size-body:      1rem;      /* 16px */
  --kd-size-sm:        0.875rem;  /* 14px */
  --kd-size-label:     0.75rem;   /* 12px */

  --kd-lh-tight:       1.08;
  --kd-lh-heading:     1.2;
  --kd-lh-body:        1.65;

  --kd-ls-label:       0.09em;
  --kd-ls-display:     -0.02em;

  /* --- Abstände (4px-Raster) ------------------------------- */
  --kd-space-1:  0.25rem;
  --kd-space-2:  0.5rem;
  --kd-space-3:  0.75rem;
  --kd-space-4:  1rem;
  --kd-space-6:  1.5rem;
  --kd-space-8:  2rem;
  --kd-space-12: 3rem;
  --kd-space-16: 4rem;
  --kd-space-24: 6rem;

  /* --- Radien und Linien ----------------------------------- */
  --kd-radius-sm:  4px;
  --kd-radius-md:  10px;
  --kd-radius-full: 999px;
  --kd-hairline:   1px;

  /* --- Maße -------------------------------------------------*/
  --kd-measure:    68ch;   /* max. Zeilenlänge Fließtext */
  --kd-container:  1120px;
}
