@charset "UTF-8";
/*
@include max($tablet) {
	height: 60px;
}
*/
/*
Beispiel:
@include default_text_specs(
    $css-variable-prepend: "kc-teaser-title",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include default_h1_specs(
    $css-variable-prepend: "",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include default_h2_specs(
    $css-variable-prepend: "",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include css_variable_prepend(
    $property: "font-size",
    $prepend-string: 'kc-teaser-title',
    $default-value: 20px
);
*/
/*
@extend %transition;
*/
/*
@extend %transition-timing;
*/
body,
html {
  /* ============================================================
     GLOBAL — alle kc/grid Layouts auf Mobil (≤phablet) auf
     eine einzige Spalte reduzieren. minmax(0, 1fr) verhindert
     das min-content-Overflow-Problem (Items mit nicht-shrinkbaren
     Kindern dehnen die Spalte sonst über den Viewport).

     Selektor matcht die Specificity der Parent-Default-Regel
     `.grid-container .grid[column-count="N"]`, sonst greift der
     Override nicht.
     ============================================================ */
  /* ============================================================
     ROADMAP-GRID — Step-Layout mit CSS-Counter
     className "roadmap-grid" auf einem kc/grid Block setzen.
     Jede Karte wird automatisch nummeriert (1, 2, 3, …) via
     counter-increment + ::before, ohne Content-Eingriff.
     ============================================================ */
}
@media (max-width: 580px) {
  body .grid-container .grid[column-count],
html .grid-container .grid[column-count] {
    grid-template-columns: minmax(0, 1fr);
  }
}
body .roadmap-grid,
html .roadmap-grid {
  counter-reset: step;
  position: relative;
}
body .roadmap-grid::before,
html .roadmap-grid::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 16%;
  right: 16%;
  height: 2px;
  background: var(--grey-lightest);
  z-index: 0;
  pointer-events: none;
}
body .roadmap-grid .teaser-container,
html .roadmap-grid .teaser-container {
  counter-increment: step;
  text-align: center;
  position: relative;
  z-index: 1;
}
body .roadmap-grid .kc-teaser,
html .roadmap-grid .kc-teaser {
  --kc-teaser-padding: 0;
  --kc-teaser-background-color: transparent;
  --kc-teaser-title-font-size: 17px;
  --kc-teaser-title-margin: 0 0 8px;
  --kc-teaser-title-text-align: center;
  --kc-teaser-description-font-size: 14px;
  --kc-teaser-description-line-height: 1.6;
  --kc-teaser-description-text-align: center;
  border: none !important;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
  transition: transform 0.3s ease;
}
body .roadmap-grid .kc-teaser::before,
html .roadmap-grid .kc-teaser::before {
  content: counter(step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gradient-2);
  color: var(--white);
  font-family: var(--secondary-font);
  font-weight: 800;
  font-size: 19px;
  margin: 0 auto 20px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
body .roadmap-grid .kc-teaser .kc-teaser-media-container,
html .roadmap-grid .kc-teaser .kc-teaser-media-container {
  display: none;
}
body .roadmap-grid .kc-teaser:hover, body .roadmap-grid .kc-teaser.mobile-viewport,
html .roadmap-grid .kc-teaser:hover,
html .roadmap-grid .kc-teaser.mobile-viewport {
  box-shadow: none;
  border: none !important;
  transform: translateY(-4px);
}
body .roadmap-grid .kc-teaser:hover::before, body .roadmap-grid .kc-teaser.mobile-viewport::before,
html .roadmap-grid .kc-teaser:hover::before,
html .roadmap-grid .kc-teaser.mobile-viewport::before {
  box-shadow: 0 10px 28px rgba(27, 54, 93, 0.3);
}
@media (max-width: 960px) {
  body .roadmap-grid::before,
html .roadmap-grid::before {
    display: none;
  }
}