@charset "UTF-8";
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/montserrat-latin-ext-wght-normal.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: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/montserrat-latin-wght-normal.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: "Montserrat";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/montserrat-latin-ext-wght-italic.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: "Montserrat";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/montserrat-latin-wght-italic.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: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/open-sans-latin-ext-wght-normal.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: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/open-sans-latin-wght-normal.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: "Open Sans";
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/open-sans-latin-ext-wght-italic.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: "Open Sans";
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/open-sans-latin-wght-italic.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;
}
.kbm-h1 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-accent);
}

.kbm-h2 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-accent);
}

.kbm-h3 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-h4 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-h5 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-h6 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-subtitle1 {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text-secondary);
}

.kbm-subtitle2 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-body1 {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-body2 {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
}

.kbm-button {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: 0.01em;
  text-transform: none;
}

.kbm-overline {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--kbm-accent);
}

.kbm-caption {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text-secondary);
}

.kbm-table-header {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--kbm-on-brand-surface);
}

.kbm-kpi-value {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-accent);
}

.kbm-kpi-label {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--kbm-text-secondary);
}

body {
  margin: 0;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
  background-color: var(--kbm-ground);
}

.kbm-prose h1 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-accent);
  margin: 1.5em 0 0.5em;
}
.kbm-prose h2 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-accent);
  margin: 1.5em 0 0.5em;
}
.kbm-prose h3 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--kbm-text);
  margin: 1.5em 0 0.5em;
}
.kbm-prose h4 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
  margin: 1.5em 0 0.5em;
}
.kbm-prose h5 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
  margin: 1.5em 0 0.5em;
}
.kbm-prose h6 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
  margin: 1.5em 0 0.5em;
}
.kbm-prose > :first-child {
  margin-top: 0;
}
.kbm-prose p,
.kbm-prose ul,
.kbm-prose ol,
.kbm-prose blockquote,
.kbm-prose table {
  margin: 0 0 0.75em;
}
.kbm-prose p,
.kbm-prose li,
.kbm-prose blockquote {
  max-width: 75ch;
}
.kbm-prose a {
  color: var(--kbm-accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.kbm-prose hr {
  border: 0;
  border-top: 1px solid var(--kbm-line);
  margin: 1.5em 0;
}
.kbm-prose img {
  display: block;
  max-width: 100%;
  height: auto;
}
.kbm-prose code {
  padding: 0 0.25em;
  background-color: var(--kbm-panel);
  overflow-wrap: anywhere;
}
.kbm-list, .kbm-prose ul {
  list-style: none;
  padding-left: 1.25em;
}
.kbm-list > li, .kbm-prose ul > li {
  position: relative;
}
.kbm-list > li::before, .kbm-prose ul > li::before {
  content: "–";
  position: absolute;
  left: -1.25em;
  color: var(--kbm-accent);
  font-weight: 600;
}

.kbm-list-numbered, .kbm-prose ol {
  list-style: none;
  counter-reset: kbm-item;
  padding-left: 2.5em;
}
.kbm-list-numbered > li, .kbm-prose ol > li {
  position: relative;
  counter-increment: kbm-item;
}
.kbm-list-numbered > li::before, .kbm-prose ol > li::before {
  content: counters(kbm-item, ".") ".";
  position: absolute;
  right: 100%;
  margin-right: 0.5em;
  font-family: var(--kbm-font-heading);
  font-weight: 600;
  color: var(--kbm-accent);
  white-space: nowrap;
}
.kbm-list-numbered ol, .kbm-prose ol ol {
  padding-left: 3em;
}
.kbm-list-numbered ol > li::before, .kbm-prose ol ol > li::before {
  content: counters(kbm-item, ".");
}

.kbm-table, .kbm-prose table {
  width: 100%;
  border-collapse: collapse;
}
.kbm-table th, .kbm-prose table th {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--kbm-on-brand-surface);
  background-color: var(--kbm-brand-surface);
  text-align: left;
  vertical-align: bottom;
  padding: 0.625rem 0.75rem;
}
.kbm-table td, .kbm-prose table td {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text);
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--kbm-line);
  vertical-align: top;
}

.kbm-info-box {
  background-color: var(--kbm-panel);
  color: var(--kbm-text);
  padding: 1rem 1.25rem;
  border: 0;
  border-radius: var(--kbm-radius);
}

.kbm-warning {
  background-color: var(--kbm-alpengelb);
  color: var(--kbm-schwarz);
  padding: 1rem 1.25rem;
  border-radius: var(--kbm-radius);
}

.kbm-box-layout {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
.kbm-box-layout > .kbm-box-icon {
  flex: none;
}
.kbm-box-layout > .kbm-box-body {
  flex: 1 1 auto;
  min-width: 0;
}
.kbm-box-layout > .kbm-box-body > :last-child {
  margin-bottom: 0;
}

.kbm-box-title {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  margin: 0 0 0.25rem;
}

.kbm-quote, .kbm-prose blockquote {
  margin-left: 0;
  margin-right: 0;
  padding: 0.25rem 0 0.25rem 1.25rem;
  border-left: 4px solid var(--kbm-accent);
  font-family: var(--kbm-font-body);
  font-style: italic;
  color: var(--kbm-text);
}

.kbm-quote {
  margin-top: 0;
  margin-bottom: 0.75em;
}
.kbm-quote > blockquote {
  margin: 0;
}
.kbm-quote > blockquote > :last-child {
  margin-bottom: 0;
}

.kbm-quote-source {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: var(--kbm-text-secondary);
  display: block;
  margin-top: 0.5rem;
  font-style: normal;
}

.kbm-kpi-row {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(max(12rem, (100% - 3rem) / 4), 1fr));
}

.kbm-kpi {
  background-color: var(--kbm-panel);
  border-top: 1px solid var(--kbm-accent);
  padding: 1rem 1.25rem;
}
.kbm-kpi .kbm-kpi-value,
.kbm-kpi .kbm-kpi-label {
  margin: 0;
}
.kbm-kpi .kbm-kpi-label {
  margin-top: 0.375rem;
}

.kbm-kpi-unit {
  font-size: 0.5em;
  font-weight: 600;
  letter-spacing: normal;
}

.kbm-logo {
  display: block;
  height: auto;
  max-width: none;
}

:root {
  --kbm-blau: #00387B;
  --kbm-tiefblau: #002249;
  --kbm-blau-70: #4C74A3;
  --kbm-blau-40: #99AFCA;
  --kbm-blau-15: #D9E0EB;
  --kbm-schwarz: #000000;
  --kbm-schiefer: #3C444D;
  --kbm-titan: #B8BEC4;
  --kbm-papier: #F4F4F2;
  --kbm-weiss: #FFFFFF;
  --kbm-gletscher: #EEF3F8;
  --kbm-sand: #E4DDD1;
  --kbm-papiergrau: #F4F4F2;
  --kbm-stahlcyan: #0091C8;
  --kbm-stahlcyan-70: #4FB2DA;
  --kbm-stahlcyan-40: #A6D8EC;
  --kbm-stahlcyan-15: #DFF0F8;
  --kbm-signalorange: #E8730C;
  --kbm-signalorange-70: #F09B52;
  --kbm-signalorange-40: #F8CEA6;
  --kbm-signalorange-15: #FDEEDF;
  --kbm-praezisionsgruen: #2E7D5B;
  --kbm-praezisionsgruen-70: #6BA88D;
  --kbm-praezisionsgruen-40: #B4D3C4;
  --kbm-praezisionsgruen-15: #E4EFE9;
  --kbm-alpengelb: #F5B301;
  --kbm-alpengelb-70: #F8C64D;
  --kbm-alpengelb-40: #FCE3A6;
  --kbm-alpengelb-15: #FEF5DF;
  --kbm-zuerichviolett: #55499B;
  --kbm-zuerichviolett-70: #887FB9;
  --kbm-zuerichviolett-40: #BBB6D7;
  --kbm-zuerichviolett-15: #E6E4F0;
  --kbm-kupfer: #A8552F;
  --kbm-kupfer-70: #C2886D;
  --kbm-kupfer-40: #DCBBAC;
  --kbm-kupfer-15: #F2E6E0;
  --kbm-feldoliv: #6F7D2E;
  --kbm-feldoliv-70: #9AA46D;
  --kbm-feldoliv-40: #C5CBAB;
  --kbm-feldoliv-15: #E9ECE0;
  --kbm-beerenrot: #8E2C55;
  --kbm-beerenrot-70: #B06B88;
  --kbm-beerenrot-40: #D2ABBB;
  --kbm-beerenrot-15: #EEDFE6;
  --kbm-fehlerrot: #B3261E;
  --kbm-fehlerrot-70: #CA6762;
  --kbm-fehlerrot-40: #E1A8A5;
  --kbm-fehlerrot-15: #F4DEDD;
  --kbm-dark-ground: #121212;
  --kbm-dark-surface: #1E1E1E;
  --kbm-dark-panel: #2A2A2A;
  --kbm-radius: 0px;
  --kbm-chart-1: #00387B;
  --kbm-chart-2: #0091C8;
  --kbm-chart-3: #E8730C;
  --kbm-chart-4: #2E7D5B;
  --kbm-chart-5: #F5B301;
  --kbm-chart-6: #55499B;
  --kbm-chart-7: #8E2C55;
  --kbm-chart-8: #B8BEC4;
  --kbm-font-heading: "Montserrat", Arial, sans-serif;
  --kbm-font-body: "Open Sans", Arial, sans-serif;
  --kbm-text: var(--kbm-schwarz);
  --kbm-text-secondary: var(--kbm-schiefer);
  --kbm-accent: var(--kbm-blau);
  --kbm-on-accent: var(--kbm-weiss);
  --kbm-ground: var(--kbm-weiss);
  --kbm-panel: var(--kbm-papier);
  --kbm-line: var(--kbm-blau-15);
  --kbm-brand-surface: var(--kbm-blau);
  --kbm-on-brand-surface: var(--kbm-weiss);
}
