/* ═══════════════════════════════════════════════════════
   base.css — Tokens · Reset · Typografie · HTML/Body
   endlich-online.ch
   ═══════════════════════════════════════════════════════ */

/* ── FONTS ── */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/instrument-sans-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 Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/instrument-sans-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 Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/instrument-sans-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 Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/instrument-sans-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;
}

/* ── RESET ── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── CI DESIGN TOKENS ── */
:root {
  /* Farben */
  --color-navy:      #1A2E57;
  --color-sky:       #407ED1;
  --color-tinte:     #212330;
  --color-stahlgrau: #808D9F;
  --color-warmweiss: #FAF8F2;
  --color-eisblau:   #E0EDF9;

  /* Abstände */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-xl: 64px;

  /* Schriften */
  --font-sans: 'Instrument Sans', sans-serif;
  --font-mono: 'Geist Mono', monospace;

  /* Layout */
  --container-max: 1200px;

  /* Legacy-Aliases — bestehende Komponenten bleiben unverändert */
  --navy:      var(--color-navy);
  --sky:       var(--color-sky);
  --sky-light: #7BB0F3;
  --ink:       var(--color-tinte);
  --steel:     #5B6B7A;
  --warm:      var(--color-warmweiss);
  --ice:       var(--color-eisblau);
  --white:     #FFFFFF;
  --border:    #DCE6F0;
  --font:      var(--font-sans);
}

/* ── BASIS ── */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  background: var(--color-eisblau);
  color: var(--color-tinte);
  line-height: 1.7;
}
