/* Söhne — primary face (Klim Type Foundry, commercial license held by
   Felix Rascher; see /static/fonts/LICENSE-SOEHNE.md for distribution
   constraints). Regular 400 (Buch) + Bold 700 (Dreiviertelfett). */
@font-face {
  font-family: 'Söhne';
  src: url('/static/fonts/soehne-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Söhne';
  src: url('/static/fonts/soehne-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Azeret Mono — structural face (numerals, IDs, technical metadata).
   Variable WOFF2 covering 400-700. SIL OFL, see LICENSE-AZERET-OFL.txt. */
@font-face {
  font-family: 'Azeret Mono';
  src: url('/static/fonts/azeret-mono.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --body-font:    "Söhne", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --display-font: "Söhne", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono-font:    "Azeret Mono", ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, monospace;

  --step--2: clamp(0.6944rem, 0.6840rem + 0.0465vw, 0.72rem);
  --step--1: clamp(0.8333rem, 0.8060rem + 0.1212vw, 0.9rem);
  --step-0:  clamp(1rem,      0.9489rem + 0.2273vw, 1.125rem);
  --step-1:  clamp(1.2rem,    1.1156rem + 0.375vw,  1.4063rem);
  --step-2:  clamp(1.44rem,   1.31rem   + 0.5778vw, 1.7578rem);
  --step-3:  clamp(1.728rem,  1.536rem  + 0.8532vw, 2.1973rem);
  --step-4:  clamp(2.0736rem, 1.7983rem + 1.2236vw, 2.7466rem);
  --step-5:  clamp(2.4883rem, 2.1018rem + 1.7181vw, 3.4332rem);
  --step-6:  clamp(2.986rem,  2.4519rem + 2.3737vw, 4.2916rem);
  --step-7:  clamp(3.5832rem, 2.8545rem + 3.2386vw, 5.3644rem);

  --font-news-title: clamp(2.125rem, 1.7727rem + 1.5667vw, 3.25rem);
  --font-form-input: clamp(0.9375rem, 0.9148rem + 0.1011vw, 1rem);

  --ink:        #1A1816;
  --ink-soft:   #3A3631;
  --ink-mute:   #6F6B65;
  --ink-faint:  #ABA8A2;

  --bg:         #FCFBF8;
  --bg-mute:    #F5F3EE;
  --bg-mute-2:  #EDEAE3;
  --bg-card:    #FFFFFF;

  --rule:       #1A1816;
  --rule-soft:  rgba(26,24,22,0.10);
  --rule-mid:   rgba(26,24,22,0.16);

  --ok:         #2A7E39;
  --warn:       #A87808;
  --danger:     #B0261E;
  --danger-bg:  #FCEBE9;

  --accent:      #C8DCE6;
  --accent-soft: #E5EFF4;
  --accent-line: #1A1816;

  --eu-blue:    oklch(35% 0.15 270);
  --eu-blue-2:  oklch(48% 0.12 260);
  --eu-gold:    oklch(78% 0.14 88);

  --overlay-hover:         rgba(26,24,22,0.05);
  --overlay-shadow:        rgba(26,24,22,0.06);
  --overlay-modal:         rgba(26,24,22,0.40);

  --space-3xs: clamp(0.25rem,  0.2372rem + 0.0568vw, 0.2813rem);
  --space-2xs: clamp(0.5rem,   0.4744rem + 0.1136vw, 0.5625rem);
  --space-xs:  clamp(0.75rem,  0.7117rem + 0.1705vw, 0.8438rem);
  --space-s:   clamp(1rem,     0.9489rem + 0.2273vw, 1.125rem);
  --space-m:   clamp(1.5rem,   1.4233rem + 0.3409vw, 1.6875rem);
  --space-l:   clamp(2rem,     1.8977rem + 0.4545vw, 2.25rem);
  --space-xl:  clamp(3rem,     2.8466rem + 0.6818vw, 3.375rem);
  --space-2xl: clamp(4rem,     3.7955rem + 0.9091vw, 4.5rem);
  --space-3xl: clamp(6rem,     5.6932rem + 1.3636vw, 6.75rem);

  --gutter:     clamp(1.25rem, 1.0227rem + 1.0114vw, 3.5rem);
  --page-top:   clamp(3.5rem,  2.4773rem + 4.5455vw, 6rem);
  --page-bot:   clamp(3.5rem,  2.4773rem + 4.5455vw, 6rem);
  --hero-top:   clamp(7.5rem,  4.0909rem + 15.1515vw, 15rem);
  --login-top:  clamp(5rem,    2.7273rem + 10.1011vw, 10rem);

  --max:       1180px;
  --max-doc:    720px;
  --max-app:    880px;
  --max-news:   760px;
  --max-hero:   920px;
  --max-login:  420px;

  --header-public-h: 56px;
  --footer-public-h: 56px;
  --page-inset-x: 32px;
  --page-inset-x-mobile: 16px;

  --ease-standard:   cubic-bezier(.4, 0, .2, 1);
  --duration-quick:  140ms;
  --duration-medium: 180ms;
  --duration-slow:   320ms;

  --radius-0:    0;
  --radius-pill: 999px;
}
