/* Bausteine von der Angebotsseite go.adswerk.de/verkaufergewinnung.
   Erzeugt von LP-ADSWERK-Branchenseiten/bauen.py, nicht von Hand ändern. */
.aw-op {
  --color-kit-key1: #1D44AC;
  --color-kit-key2: #8FA6E6;
  --font-kit-header-font: 'EB Garamond';
  --font-kit-text-font: 'Source Sans 3';
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: normal;
}
/* Fuß der Bausteine: linksbündig wie die Sektionen selbst. Knopf und
   Slot-Zeile sind die von adswerk.de, die Slot-Zeile steht mittig darunter. */
.aw-fuss { margin-top: clamp(34px, 4vw, 48px); }
.aw-fuss-text {
  max-width: 26em;
  margin: 0 0 28px;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: clamp(21px, 2.3vw, 27px);
  line-height: 1.28;
  color: #F2F3F9;
}
.aw-fuss .abschnitt-cta { display: inline-block; margin-top: 0; text-align: center; }
.sf-slot { --font-kit-text-font: 'Source Sans 3'; --color-kit-key1: #1D44AC; --color-kit-key2: #8FA6E6; }
/* Die Uhr rechnet im Browser. Ohne JS stünde sie still, dann lieber gar nicht. */
html:not(.js) .gv-uhrBlock { display: none; }
.aw-fuss-note { max-width: 34em; margin: 22px 0 0; font-size: 15px; line-height: 1.55; color: rgba(201, 210, 226, 0.72); }
@media (max-width: 719px) {
  .aw-fuss .abschnitt-cta { display: block; }
  .aw-fuss-note { text-align: center; margin-left: auto; margin-right: auto; }
}

.bs-block {
  position: relative;
  background-color: #081227;
  background-image:
    linear-gradient(
      180deg,
      #071025 0,
      #08122AF5 clamp(70px, 8vw, 120px),
      #091530EB clamp(200px, 22vw, 320px),
      #0A1734E8 clamp(380px, 40vw, 560px),
      #081227E6 62%,
      #060E20E8 100%);
  background-size: auto, cover;
  background-position: center top, center center;
  background-repeat: no-repeat, no-repeat;
  color: #F2F3F9;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  padding: clamp(78px, 9.5vw, 128px) 0;
}
.bs-voll {
  min-height: var(--con-kit-section-min-height, 100vh);
}
.bs-schein {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      58% 44% at 12% 4%,
      #1D44AC33 0%,
      #1D44AC00 68%);
  -webkit-mask-image:
    linear-gradient(
      180deg,
      #00000000 0,
      #000000 clamp(260px, 30vw, 440px));
  mask-image:
    linear-gradient(
      180deg,
      #00000000 0,
      #000000 clamp(260px, 30vw, 440px));
  pointer-events: none;
}
.bs-inhalt {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}
.bs-kopf {
  max-width: 800px;
}
.bs-kopfRaster {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(26px, 3.2vw, 34px);
  margin-top: clamp(30px, 3.6vw, 46px);
}
.bs-antwort {
  display: grid;
  gap: clamp(16px, 2vw, 22px);
  align-content: start;
  max-width: 44em;
}
.bs-kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
  margin-bottom: 18px;
}
.bs-frageSpalte {
  min-width: 0;
}
.bs-grund {
  display: grid;
  gap: 9px;
  margin: 0 0 clamp(24px, 3vw, 36px);
  max-width: 680px;
}
.bs-gKern {
  display: block;
  font-size: clamp(17px, 1.35vw, 19.5px);
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: -0.008em;
  color: #FFFFFF;
}
.bs-gText {
  margin: 0;
  font-size: clamp(15.5px, 1.2vw, 17px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: -0.005em;
  color: #C9D3EC;
}
.bs-gText strong {
  font-weight: 700;
  color: #FFFFFF;
}
.bs-titel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(27px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: #FFFFFF;
}
.bs-akzent {
  color: var(--color-kit-key2, #8FA6E6);
  font-style: italic;
}
.bs-intro {
  margin: 0;
  font-size: clamp(16px, 1.2vw, 17.5px);
  line-height: 1.72;
  color: #F2F3F9B8;
}
.bs-uebersicht {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 0;
  padding-top: clamp(14px, 1.8vw, 20px);
  border-top: 1px solid #F2F3F91F;
}
.bs-uPunkt {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  font-size: 13.5px;
  line-height: 1.4;
  color: #F2F3F98F;
}
.bs-uPunkt b {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--color-kit-key2, #8FA6E6);
}
.bs-intro strong,
.bs-bruecke strong {
  font-weight: 600;
  color: #FFFFFF;
}
.bs-quelle {
  margin: clamp(38px, 4.6vw, 58px) 0 clamp(16px, 2vw, 22px);
  max-width: 52em;
  font-size: 14px;
  line-height: 1.6;
  color: #F2F3F98F;
}
.bs-quelle strong {
  font-weight: 600;
  color: #F2F3F9D9;
}
.bs-stapel {
  display: block;
}
.bs-karte {
  position: sticky;
  margin-bottom: 18px;
  top: min(calc(clamp(74px, 9vh, 108px) + var(--i, 0) * 12px), calc(100vh - var(--h, 0px) - 18px));
  top: min(calc(clamp(74px, 9vh, 108px) + var(--i, 0) * 12px), calc(100svh - var(--h, 0px) - 18px));
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 14px;
  overflow: hidden;
  background:
    radial-gradient(
      540px 360px at 0% 0%,
      #1D44AC52 0%,
      #1D44AC00 70%),
    linear-gradient(
      135deg,
      #0C1A38 0%,
      #081227 100%);
  box-shadow:
    0 -22px 46px -24px #030710E6,
    0 24px 54px -26px #08122799,
    inset 0 1px 0 #F2F3F91A;
}
@media (min-width: 720px) {
  .bs-karte {
    grid-template-columns: clamp(76px, 8vw, 114px) minmax(0, 1fr);
  }
}
.bs-ruecken {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 14px clamp(18px, 2.4vw, 26px);
  background: var(--color-kit-key1, #1D44AC);
}
@media (min-width: 720px) {
  .bs-ruecken {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: clamp(24px, 3vw, 34px) 10px;
    gap: 0;
  }
}
.bs-rNr {
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: lining-nums;
  color: #FFFFFF;
}
.bs-rStrich {
  display: none;
}
@media (min-width: 720px) {
  .bs-rStrich {
    display: block;
    width: 22px;
    height: 1px;
    background: #FFFFFF5C;
    margin: 16px 0 auto;
  }
}
.bs-rSenk {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #FFFFFFBD;
  white-space: nowrap;
}
@media (min-width: 720px) {
  .bs-rSenk {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    margin-top: 18px;
  }
}
.bs-kInhalt {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(22px, 3vw, 40px);
  align-items: center;
  padding: clamp(26px, 3.4vw, 44px);
}
@media (min-width: 1040px) {
  .bs-kInhalt {
    grid-template-columns: minmax(0, 1fr) clamp(240px, 24vw, 320px);
  }
}
.bs-kText {
  min-width: 0;
}
.bs-gNote {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.bs-stimme {
  margin: 12px 0 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(25px, 2.7vw, 37px);
  line-height: 1.13;
  letter-spacing: -0.016em;
  color: #FFFFFF;
  text-wrap: balance;
}
.bs-dahinter {
  margin: clamp(16px, 1.9vw, 20px) 0 0;
  padding-top: clamp(14px, 1.7vw, 18px);
  border-top: 1px solid #F2F3F91F;
}
.bs-dLabel {
  display: block;
  margin-bottom: 7px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.bs-dText {
  margin: 0;
  max-width: 40em;
  font-size: 15.5px;
  line-height: 1.6;
  color: #F2F3F9D1;
  text-wrap: pretty;
}
.bs-kennLabel {
  display: block;
  margin: clamp(16px, 1.9vw, 20px) 0 0;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.bs-haken {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
}
.bs-hPunkt {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid #F2F3F914;
  font-size: 15.5px;
  line-height: 1.5;
  color: #F2F3F9B8;
  text-wrap: pretty;
  overflow-wrap: break-word;
}
.bs-hPunkt:first-child {
  border-top: 1px solid #F2F3F914;
}
.bs-hPunkt:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.bs-hPunkt strong {
  font-weight: 600;
  color: #FFFFFF;
}
.bs-hZeichen {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border-radius: 6px;
  background: #1D44AC59;
  border: 1px solid #8FA6E680;
}
.bs-kBild {
  min-width: 0;
}
.bs-svg {
  display: block;
  width: 100%;
  height: auto;
}
.bs-grafik {
  position: relative;
}
.bs-svg text {
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
}
.bs-gt {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  fill: #C9D2E29E;
}
.bs-gtKlein {
  font-size: 7.5px;
}
.bs-gtWarn {
  fill: #E3A99DC7;
}
.bs-gk {
  font-size: 10px;
  fill: #C9D2E28C;
}
.bs-gUhr {
  font-size: 7.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  fill: #C9D2E280;
  font-variant-numeric: tabular-nums;
}
.bs-gTermin {
  font-size: 9.2px;
  font-weight: 600;
}
.bs-gZeit {
  font-size: 7.3px;
  fill: #C9D2E28C;
  font-variant-numeric: tabular-nums;
}
.bs-gDetail {
  font-size: 7.3px;
  fill: #C9D2E280;
}
.bs-gAnfrageZeit {
  font-size: 7.3px;
  fill: #F2F3F9B3;
  font-variant-numeric: tabular-nums;
}
.bs-gWarte {
  font-size: 6.8px;
  font-weight: 700;
  letter-spacing: 0.16em;
  fill: #F2F3F99E;
}
.bs-gBis {
  font-size: 7.3px;
  font-weight: 600;
  fill: #E3A99D;
}
.bs-gMarke {
  font-size: 7.2px;
  font-weight: 700;
  fill: #0C1A38;
}
.bs-gMonat {
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  fill: #C9D2E28C;
}
.bs-gName {
  font-size: 7.6px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.bs-gStatus {
  font-size: 7.2px;
  fill: #C9D2E28C;
}
.bs-gStatusWarn {
  fill: #E3A99DC7;
}
.bs-gLabel {
  font-size: 7.2px;
  font-weight: 700;
  letter-spacing: 0.1em;
  fill: #C9D2E28C;
}
.bs-gLabelWarn {
  fill: #E3A99DC7;
}
.bs-gFehlt {
  font-size: 7px;
  font-weight: 700;
  fill: #E3A99D;
}
.bs-balken,
.bs-e,
.bs-runter {
  transform-box: fill-box;
}
.bs-balken {
  transform-origin: 50% 100%;
}
.bs-e {
  transform-origin: center;
}
.bs-runter {
  transform-origin: 50% 0;
}
.bs-bereit .bs-balken,
.bs-bereit .bs-runter {
  transform: scaleY(0);
}
.bs-bereit .bs-e {
  opacity: 0;
  transform: translateY(6px);
}
.bs-bereit .bs-zug,
.bs-an .bs-zug {
  stroke-dasharray: 1;
}
.bs-bereit .bs-zug {
  stroke-dashoffset: 1;
}
.bs-an .bs-balken {
  transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) calc(0.1s + var(--i, 0) * 0.06s);
}
.bs-an .bs-runter {
  transition: transform 1.3s cubic-bezier(0.22, 1, 0.36, 1) calc(0.1s + var(--i, 0) * 0.07s);
}
.bs-an .bs-e {
  transition: opacity 0.6s ease calc(0.1s + var(--i, 0) * 0.07s), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) calc(0.1s + var(--i, 0) * 0.07s);
}
.bs-an .bs-zug {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 1s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}
@media (max-width: 1039px) {
  .bs-kBild {
    max-width: 340px;
  }
}
.bs-rTitel {
  display: none;
}
@media (max-width: 719px) {
  .bs-karte {
    top: min(calc(12px + var(--i, 0) * 10px), calc(100vh - var(--h, 0px) - 12px));
    top: min(calc(12px + var(--i, 0) * 10px), calc(100svh - var(--h, 0px) - 12px));
    min-height: var(--gleich, 0px);
    margin-bottom: 14px;
    align-content: start;
  }
  .bs-ruecken {
    padding: 9px 18px;
    gap: 12px;
  }
  .bs-rNr {
    font-size: 25px;
  }
  .bs-rSenk {
    display: none;
  }
  .bs-rTitel {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 1px 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #FFFFFF;
  }
  .bs-rOrt {
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #FFFFFFA6;
  }
  .bs-kInhalt {
    padding: 18px;
    gap: 0;
  }
  .bs-kText {
    display: contents;
  }
  .bs-gNote,
  .bs-dahinter {
    display: none;
  }
  .bs-stimme {
    order: 1;
    margin-top: 0;
    font-size: 22px;
    line-height: 1.14;
  }
  .bs-kBild {
    order: 2;
    width: 74%;
    max-width: none;
    margin: 14px auto 0;
  }
  .bs-kennLabel {
    order: 3;
    margin-top: 14px;
  }
  .bs-haken {
    order: 4;
    margin-top: 8px;
  }
  .bs-hPunkt {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 11px;
    padding: 8px 0;
    font-size: 14.5px;
    line-height: 1.42;
  }
  .bs-hZeichen {
    width: 20px;
    height: 20px;
  }
}
.bs-karte:last-child {
  margin-bottom: 0;
}
.bs-bruecke {
  margin: clamp(46px, 5.5vw, 72px) 0 0;
  max-width: 620px;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(21px, 2.4vw, 30px);
  line-height: 1.28;
  letter-spacing: -0.016em;
  color: #FFFFFF;
  text-wrap: balance;
}
.bs-fuss {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "knopf ." "slot ." "note note";
  justify-content: start;
  align-items: center;
  column-gap: 26px;
  margin-top: clamp(26px, 3vw, 36px);
}
.bs-fuss .bs-cta {
  grid-area: knopf;
  justify-content: center;
}
.bs-slotFuss {
  grid-area: slot;
}
@media (max-width: 719px) {
  .bs-fuss {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "knopf" "slot" "note";
    justify-items: center;
  }
  .bs-fuss .bs-fussNote {
    text-align: center;
  }
}
@media (min-width: 720px) {
  .bs-fuss {
    grid-template-columns: auto minmax(0, 26em);
    grid-template-areas: "knopf note" "slot .";
  }
}
.bs-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 17px 30px;
  border-radius: 999px;
  background: var(--color-kit-key1, #1D44AC);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 16px 38px -18px #1D44ACCC;
  transition: background 0.2s ease, transform 0.2s ease;
}
.bs-cta:hover {
  background: #16368C;
  transform: translate3d(0, -1px, 0);
}
.bs-cta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF26;
  font-size: 13px;
  line-height: 1;
}
.bs-cta:focus-visible {
  outline: 2px solid #8FA6E6;
  outline-offset: 3px;
}
.bs-fussNote {
  grid-area: note;
  margin: 18px 0 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: #F2F3F96E;
  max-width: 26em;
}
@media (min-width: 720px) {
  .bs-fussNote {
    margin-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bs-karte {
    position: static;
    box-shadow: 0 24px 54px -26px #08122799, inset 0 1px 0 #F2F3F91A;
    margin-bottom: 22px;
  }
  .bs-cta:hover {
    transform: none;
  }
}

.th-block {
  position: relative;
  background:
    linear-gradient(
      180deg,
      #0A1734 0%,
      #081227 26%,
      #060E20 64%,
      #081227 100%);
  color: #F2F3F9;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  padding: clamp(78px, 9.5vw, 128px) 0;
}
.th-voll {
  min-height: var(--con-kit-section-min-height, 100vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.th-inhalt {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}
.th-kopf {
  max-width: 960px;
}
.th-kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
  margin-bottom: 18px;
}
.th-titel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(27px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #FFFFFF;
}
.th-akzent {
  color: var(--color-kit-key2, #8FA6E6);
  font-style: italic;
}
@media (min-width: 641px) {
  .th-titel .th-akzent {
    display: block;
  }
}
.th-intro {
  margin: 22px 0 0;
  max-width: 40em;
  font-size: clamp(15.5px, 1.2vw, 16px);
  line-height: 1.72;
  color: #F2F3F9B8;
}
.th-intro strong {
  font-weight: 600;
  color: #FFFFFF;
}
.th-weg {
  margin-top: clamp(38px, 4.4vw, 56px);
  padding: clamp(22px, 2.8vw, 34px) clamp(20px, 3vw, 38px) clamp(24px, 2.9vw, 36px);
  border-radius: 16px;
  border: 1px solid #8FA6E633;
  background:
    radial-gradient(
      760px 380px at 0% 0%,
      #1D44AC3D 0%,
      #1D44AC00 70%),
    linear-gradient(
      135deg,
      #0C1A38 0%,
      #081227 100%);
  box-shadow:
    inset 0 1px 0 #FFFFFF1F,
    0 50px 110px -60px #030710,
    0 0 0 1px #03071066;
}
.th-stationen {
  display: grid;
  grid-template-columns: clamp(150px, 16vw, 210px) repeat(var(--n), minmax(0, 1fr));
  align-items: end;
}
.th-station {
  padding-bottom: 14px;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #F2F3F98F;
}
.th-station.th-ziel {
  color: #FFFFFF;
}
.th-bahn {
  display: grid;
  grid-template-columns: clamp(150px, 16vw, 210px) minmax(0, 1fr);
  align-items: center;
  padding: 22px 0;
  border-top: 1px solid #F2F3F914;
}
.th-bahnName {
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(20px, 1.9vw, 24px);
  line-height: 1.1;
  color: #F2F3F9A6;
}
.th-logo {
  display: block;
  height: 24px;
  width: auto;
}
.th-spur {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--n), minmax(0, 1fr));
}
.th-halt {
  position: relative;
  height: 62px;
}
.th-pkt {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 13px;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  border-radius: 50%;
  box-sizing: border-box;
}
.th-andere .th-zu .th-pkt {
  background: #8A93A6;
  border: 3px solid #0C1A38;
}
.th-andere .th-leer .th-pkt {
  background: #0C1A38;
  border: 2px dashed #D08A7D99;
}
.th-eigen .th-pkt {
  background: #8FA6E6;
  border: 3px solid #0C1A38;
}
.th-eigen .th-ende .th-pkt {
  top: 9px;
  width: 26px;
  height: 26px;
  margin-left: -13px;
  background: #FFFFFF;
  border: 4px solid #1D44AC;
  box-shadow: 0 0 0 5px #8FA6E640, 0 0 26px #8FA6E6;
}
.th-fest::after,
.th-offen::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 20px;
  width: 100%;
}
.th-andere .th-fest::after {
  height: 4px;
  border-radius: 4px;
  background: #8A93A6;
}
.th-andere .th-offen::after {
  top: 21px;
  border-top: 2px dashed #D08A7D99;
}
.th-eigen .th-fest::after {
  height: 4px;
  border-radius: 4px;
  background:
    linear-gradient(
      90deg,
      #1D44AC 0%,
      #8FA6E6 100%);
  background-size: calc(100% * (var(--n) - 1)) 100%;
  background-position: calc(100% * var(--i) / (var(--n) - 2)) 0;
  box-shadow: 0 0 22px -2px #8FA6E6;
  transform-origin: 0 50%;
}
.th-hName,
.th-wer {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.th-marke {
  position: absolute;
  left: 50%;
  top: 42px;
  transform: translateX(-50%);
  font-size: 13.5px;
  line-height: 1.3;
  white-space: nowrap;
  color: #F2F3F98F;
}
.th-marke.th-warn {
  color: #E3A99D;
}
.th-marke.th-stark {
  left: auto;
  right: 0;
  transform: none;
  color: #FFFFFF;
  font-weight: 600;
}
.th-matrix {
  position: relative;
  margin-top: 28px;
  border-top: 3px double #C9D2EB59;
  display: grid;
  grid-template-columns: clamp(150px, 16vw, 210px) repeat(var(--m), minmax(0, 1fr));
}
.th-mPunkt {
  display: contents;
}
.th-mKopf {
  grid-row: 1;
  grid-column: calc(var(--i) + 2);
  padding: 22px 20px 16px 22px;
  border-left: 1px solid #F2F3F914;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.th-mName {
  grid-column: 1;
  display: flex;
  align-items: center;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(20px, 1.8vw, 22px);
  line-height: 1.1;
  color: #F2F3F9A6;
}
.th-mNameAlt {
  grid-row: 2;
  padding: 22px 0;
  border-top: 1px solid #F2F3F914;
}
.th-mNameNeu {
  grid-row: 3;
  position: relative;
  z-index: 1;
  margin-top: 4px;
  padding: 24px 0;
  color: #FFFFFF;
}
.th-mZelle {
  grid-column: calc(var(--i) + 2);
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin: 0;
  font-size: 15.5px;
  line-height: 1.42;
  text-wrap: pretty;
}
.th-mAlt {
  grid-row: 2;
  padding: 22px 20px 22px 22px;
  border-top: 1px solid #F2F3F914;
  border-left: 1px solid #F2F3F914;
  color: #F2F3F98F;
}
.th-mNeu {
  grid-row: 3;
  position: relative;
  z-index: 1;
  margin-top: 4px;
  padding: 24px 20px 24px 22px;
  border-left: 1px solid #8FA6E633;
  font-size: 16.5px;
  font-weight: 600;
  color: #FFFFFF;
}
.th-mBand {
  grid-row: 3;
  grid-column: 1 / -1;
  position: relative;
  margin: 4px -22px 0;
  border-radius: 14px;
  border: 1px solid #8FA6E699;
  background:
    radial-gradient(
      520px 200px at 0% 0%,
      #1D44AC99 0%,
      #1D44AC00 70%),
    linear-gradient(
      150deg,
      #132A66 0%,
      #0C1A38 100%);
  box-shadow:
    0 0 0 5px #1D44AC1F,
    0 30px 70px -36px #1D44AC,
    inset 0 1px 0 #FFFFFF2E;
  overflow: hidden;
}
.th-mBand::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background:
    linear-gradient(
      90deg,
      #8992A6 0%,
      #FFFFFF 6%,
      #7E8899 14%,
      #F8FAFE 24%,
      #98A1B3 33%,
      #FFFFFF 46%,
      #828C9E 56%,
      #F2F6FC 68%,
      #8E97AA 80%,
      #FFFFFF 90%,
      #9099AC 100%);
}
.th-kreuz,
.th-haken {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
}
.th-kreuz {
  background: #D08A7D1F;
  border: 1px solid #D08A7D66;
}
.th-haken {
  background: var(--color-kit-key1, #1D44AC);
  border: 1px solid #8FA6E6;
  box-shadow: 0 0 14px -2px #8FA6E6;
}
@media (max-width: 1179px) {
  .th-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
  }
  .th-mBand,
  .th-mName {
    display: none;
  }
  .th-mPunkt {
    display: block;
    padding: 22px 0 20px;
    border-top: 1px solid #F2F3F914;
  }
  .th-mPunkt:nth-of-type(-n+2) {
    border-top: 0;
  }
  .th-mKopf {
    display: block;
    padding: 0;
    border-left: 0;
  }
  .th-mAlt {
    margin-top: 12px;
    padding: 0;
    border: 0;
  }
  .th-mNeu {
    margin-top: 12px;
    padding: 13px 14px 14px;
    border: 1px solid #8FA6E680;
    border-radius: 12px;
    background:
      linear-gradient(
        150deg,
        #132A66 0%,
        #0C1A38 100%);
    box-shadow: inset 0 1px 0 #FFFFFF24;
    font-size: 16px;
  }
  .th-wer {
    position: static;
    display: block;
    width: auto;
    height: auto;
    margin: 0 0 2px;
    overflow: visible;
    clip-path: none;
    white-space: normal;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #F2F3F96E;
  }
  .th-mNeu .th-wer {
    color: var(--color-kit-key2, #8FA6E6);
  }
}
@media (max-width: 719px) {
  .th-stationen {
    display: none;
  }
  .th-bahnen {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .th-bahn {
    display: block;
    padding: 0;
    border-top: 0;
  }
  .th-bahnName {
    display: flex;
    align-items: flex-end;
    min-height: 44px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid #F2F3F91F;
    font-size: 19px;
  }
  .th-logo {
    height: 20px;
  }
  .th-spur {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-halt {
    height: auto;
    min-height: 66px;
    padding: 0 0 14px 28px;
  }
  .th-pkt,
  .th-eigen .th-ende .th-pkt {
    left: 9px;
    top: 0;
  }
  .th-eigen .th-ende .th-pkt {
    top: -4px;
  }
  .th-fest::after,
  .th-offen::after {
    left: 8px;
    top: 9px;
    width: 0;
    height: 100%;
  }
  .th-andere .th-fest::after {
    left: 7px;
    top: 9px;
    width: 4px;
    height: 100%;
  }
  .th-andere .th-offen::after {
    top: 9px;
    border-top: 0;
    border-left: 2px dashed #D08A7D99;
  }
  .th-eigen .th-fest::after {
    left: 7px;
    width: 4px;
    height: 100%;
    background:
      linear-gradient(
        180deg,
        #1D44AC 0%,
        #8FA6E6 100%);
    background-size: 100% calc(100% * (var(--n) - 1));
    background-position: 0 calc(100% * var(--i) / (var(--n) - 2));
    transform-origin: 50% 0;
  }
  .th-hName {
    position: static;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: normal;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #F2F3F98F;
  }
  .th-eigen .th-hName {
    color: #F2F3F9D1;
  }
  .th-eigen .th-ende .th-hName {
    color: #FFFFFF;
  }
  .th-marke,
  .th-marke.th-stark {
    position: static;
    display: block;
    transform: none;
    margin-top: 3px;
    white-space: normal;
    font-size: 13px;
  }
  .th-matrix {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 12px;
    margin-top: 22px;
    padding-top: 22px;
    counter-reset: punkt;
  }
  .th-mPunkt,
  .th-mPunkt:nth-of-type(-n+2) {
    counter-increment: punkt;
    padding: 0;
    border: 1px solid #8FA6E633;
    border-radius: 14px;
    overflow: hidden;
    background: #F2F3F908;
    box-shadow: inset 0 1px 0 #FFFFFF14;
  }
  .th-mKopf {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #F2F3F914;
    color: #FFFFFF;
  }
  .th-mKopf::before {
    content: counter(punkt);
    display: grid;
    place-items: center;
    flex: 0 0 26px;
    height: 26px;
    border-radius: 50%;
    font-family:
      var(--font-kit-header-font),
      "EB Garamond",
      serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    font-variant-numeric: lining-nums;
    color: #0C1A38;
    background:
      radial-gradient(
        circle at 32% 26%,
        #FFFFFF 0%,
        #EEF0F6 40%,
        #BEC5D4 100%);
    box-shadow: 0 0 0 1px #8992A6;
  }
  .th-mAlt {
    margin: 0;
    padding: 14px 16px;
  }
  .th-mNeu {
    margin: 0;
    padding: 15px 16px 16px;
    border: 0;
    border-radius: 0;
    background:
      radial-gradient(
        320px 140px at 0% 0%,
        #1D44AC99 0%,
        #1D44AC00 70%),
      linear-gradient(
        150deg,
        #132A66 0%,
        #0C1A38 100%);
  }
  .th-mNeu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background:
      linear-gradient(
        90deg,
        #8992A6 0%,
        #FFFFFF 6%,
        #7E8899 14%,
        #F8FAFE 24%,
        #98A1B3 33%,
        #FFFFFF 46%,
        #828C9E 56%,
        #F2F6FC 68%,
        #8E97AA 80%,
        #FFFFFF 90%,
        #9099AC 100%);
  }
}
.th-fuss {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "text text" "knopf ." "slot .";
  align-items: center;
  margin-top: clamp(34px, 4vw, 48px);
}
.th-slotFuss {
  grid-area: slot;
}
@media (max-width: 719px) {
  .th-fuss {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "text" "knopf" "slot";
    justify-items: center;
  }
  .th-fuss .th-fussText {
    text-align: center;
  }
}
@media (min-width: 720px) {
  .th-fuss {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "text knopf" ". slot";
    column-gap: 26px;
  }
  .th-fuss .th-fussText {
    margin-bottom: 0;
  }
}
.th-fussText {
  grid-area: text;
  margin: 0 0 18px;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(19px, 2.1vw, 26px);
  line-height: 1.3;
  letter-spacing: -0.016em;
  color: #FFFFFF;
  text-wrap: balance;
}
.th-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  grid-area: knopf;
  justify-content: center;
  padding: 17px 30px;
  border-radius: 999px;
  background: var(--color-kit-key1, #1D44AC);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 16px 38px -18px #1D44ACCC;
  transition: background 0.2s ease, transform 0.2s ease;
}
.th-cta:hover {
  background: #16368C;
  transform: translate3d(0, -1px, 0);
}
.th-cta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF26;
  font-size: 13px;
  line-height: 1;
}
.th-cta:focus-visible {
  outline: 2px solid #8FA6E6;
  outline-offset: 3px;
}
.th-verborgen {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}
.th-sichtbar {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.th-verborgen .th-eigen .th-fest::after {
  transform: scaleX(0);
}
.th-verborgen .th-eigen .th-ende .th-pkt {
  opacity: 0;
}
.th-sichtbar .th-eigen .th-fest::after {
  transform: scaleX(1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) calc(0.5s + var(--i) * 0.28s);
}
.th-sichtbar .th-eigen .th-ende .th-pkt {
  opacity: 1;
  transition: opacity 0.5s ease calc(0.5s + var(--i) * 0.28s);
}
@media (max-width: 719px) {
  .th-verborgen .th-eigen .th-fest::after {
    transform: scaleY(0);
  }
  .th-sichtbar .th-eigen .th-fest::after {
    transform: scaleY(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .th-verborgen {
    opacity: 1;
    transform: none;
  }
  .th-sichtbar {
    transition: none;
  }
  .th-verborgen .th-eigen .th-fest::after,
  .th-sichtbar .th-eigen .th-fest::after {
    transform: none;
    transition: none;
  }
  .th-verborgen .th-eigen .th-ende .th-pkt {
    opacity: 1;
  }
  .th-cta:hover {
    transform: none;
  }
}

.ab-block {
  position: relative;
  background:
    linear-gradient(
      180deg,
      #060E20 0%,
      #081227 44%,
      #0A1734 100%);
  color: #F2F3F9;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  padding: clamp(78px, 9.5vw, 128px) 0;
}
.ab-block::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      70% 46% at 14% 8%,
      #1D44AC33 0%,
      #1D44AC00 66%);
}
.ab-voll {
  min-height: var(--con-kit-section-min-height, 100vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ab-inhalt {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}
.ab-kopf {
  max-width: 760px;
}
.ab-kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
  margin-bottom: 18px;
}
.ab-titel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(27px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: #FFFFFF;
}
.ab-akzent {
  color: var(--color-kit-key2, #8FA6E6);
  font-style: italic;
}
.ab-intro {
  margin: 20px 0 0;
  max-width: 34em;
  font-size: clamp(16px, 1.2vw, 17.5px);
  line-height: 1.72;
  color: #F2F3F9B8;
}
.ab-intro strong,
.ab-aText strong,
.ab-aNach strong {
  font-weight: 600;
  color: #FFFFFF;
}
.ab-treppe {
  list-style: none;
  margin: clamp(40px, 5vw, 64px) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  justify-items: start;
}
.ab-stufe {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: calc(64% + var(--i, 0) * 6%);
  padding: 24px 20px 22px;
  border-radius: 14px;
  transition: translate 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.ab-flaeche {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(
      180deg,
      #14264F 0%,
      #0B1733 44%,
      #070F23 100%);
  box-shadow: inset 0 0 0 1px #F2F3F912;
  transform: translate3d(calc((var(--g, 1) - 1) * 102%), 0, 0);
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.ab-kante {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background:
    linear-gradient(
      90deg,
      #8992A6 0%,
      #FFFFFF 6%,
      #7E8899 14%,
      #F8FAFE 24%,
      #98A1B3 33%,
      #FFFFFF 46%,
      #828C9E 56%,
      #F2F6FC 68%,
      #8E97AA 80%,
      #FFFFFF 90%,
      #9099AC 100%);
  box-shadow: 0 1px 4px #03071099;
}
.ab-stufe > *:not(.ab-flaeche) {
  opacity: var(--o, 1);
  translate: calc((1 - var(--o, 1)) * -14px) 0;
  transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.5s, translate 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.5s;
}
.ab-stufe[data-lauf=zu] > *:not(.ab-flaeche) {
  transition: opacity 0.18s ease 0s, translate 0.18s ease 0s;
}
.ab-stufe[data-lauf=zu] > .ab-flaeche {
  transition-delay: 0.18s;
}
.ab-ziffer {
  align-self: flex-start;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(38px, 3.4vw, 54px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: lining-nums;
  background:
    linear-gradient(
      180deg,
      #FFFFFF 0%,
      #C9D2E2 52%,
      #8992A6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ab-wann {
  display: block;
  margin-top: 12px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #C9D2E2B3;
}
.ab-sTitel {
  margin: 12px 0 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.16;
  letter-spacing: -0.014em;
  color: #FFFFFF;
}
.ab-sText {
  margin: 8px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #F2F3F9B8;
  text-wrap: pretty;
}
.ab-marke {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: flex-start;
  margin-top: 14px;
  padding: 6px 12px 6px 8px;
  border-radius: 999px;
  background: #F2F3F9;
  color: #0C1A38;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
}
.ab-siegel {
  flex: 0 0 auto;
  display: block;
  color: var(--color-kit-key2, #8FA6E6);
}
.ab-stufeAn .ab-flaeche {
  background:
    linear-gradient(
      180deg,
      #2A56C7 0%,
      #1D44AC 38%,
      #12307E 100%);
  box-shadow: inset 0 0 0 1px #FFFFFF33;
}
.ab-stufeAn .ab-wann {
  color: #DEE7FB;
}
.ab-stufeAn .ab-sText {
  color: #F2F3F9E6;
}
.ab-stufeAn .ab-ziffer {
  background:
    linear-gradient(
      180deg,
      #FFFFFF 0%,
      #DEE7FB 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
@media (min-width: 1180px) {
  .ab-treppe {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items: end;
    justify-items: stretch;
  }
  .ab-stufe {
    width: auto;
    min-height: calc(330px + var(--i, 0) * 44px);
    padding: 26px 16px 22px;
    border-radius: 3px 3px 14px 14px;
  }
  .ab-flaeche {
    transform: translate3d(0, calc((1 - var(--g, 1)) * 102%), 0);
    transition-delay: calc(var(--i, 0) * 40ms);
  }
  .ab-stufe > *:not(.ab-flaeche) {
    translate: 0 calc((1 - var(--o, 1)) * 16px);
    transition-delay: calc(0.25s + var(--i, 0) * 40ms);
  }
  .ab-stufe:hover {
    translate: 0 -8px;
  }
  .ab-sTitel {
    margin-top: auto;
    padding-top: 18px;
  }
}
.ab-anteil {
  position: relative;
  overflow: hidden;
  margin-top: clamp(20px, 2.4vw, 28px);
  padding: clamp(26px, 3.2vw, 38px);
  border-radius: 14px;
  border: 1px solid #F2F3F924;
  background:
    linear-gradient(
      168deg,
      #0D1C3DF7 0%,
      #101F44F2 100%);
  box-shadow: 0 1px 0 #F2F3F914 inset, 0 30px 70px -40px #030710;
}
.ab-aLabel {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.ab-aTitel {
  margin: 12px 0 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(24px, 2.8vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #FFFFFF;
}
.ab-aText {
  margin: 12px 0 0;
  max-width: 44em;
  font-size: clamp(15px, 1.15vw, 16.5px);
  line-height: 1.62;
  color: #F2F3F9A6;
}
.ab-balken {
  display: flex;
  gap: 3px;
  height: 16px;
  max-width: 860px;
  margin-top: clamp(22px, 2.6vw, 28px);
}
.ab-seg {
  flex: 1 1 0;
  min-width: 14px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      #8FA6E6 0%,
      #DEE7FB 100%);
}
.ab-aListe {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  max-width: 860px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px 24px;
  font-size: 14.5px;
  line-height: 1.45;
  color: #F2F3F9B8;
}
.ab-aListe li {
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.ab-aListe b {
  flex: 0 0 4.2em;
  font-weight: 700;
  color: #FFFFFF;
  font-variant-numeric: lining-nums tabular-nums;
}
.ab-aNach {
  margin: clamp(18px, 2.2vw, 24px) 0 0;
  padding-top: clamp(16px, 2vw, 20px);
  border-top: 1px solid #F2F3F91F;
  max-width: 860px;
  font-size: 14.5px;
  line-height: 1.6;
  color: #F2F3F9A6;
}
@media (min-width: 760px) {
  .ab-aListe {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.ab-fuss {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "knopf ." "slot ." "note note";
  justify-content: start;
  align-items: center;
  column-gap: 26px;
  margin-top: clamp(34px, 4vw, 48px);
}
.ab-fuss .ab-cta {
  grid-area: knopf;
  justify-content: center;
}
.ab-slotFuss {
  grid-area: slot;
}
@media (max-width: 719px) {
  .ab-fuss {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "knopf" "slot" "note";
    justify-items: center;
  }
  .ab-fuss .ab-fussNote {
    text-align: center;
  }
}
@media (min-width: 720px) {
  .ab-fuss {
    grid-template-columns: auto minmax(0, 26em);
    grid-template-areas: "knopf note" "slot .";
  }
}
.ab-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 17px 30px;
  border-radius: 999px;
  background: var(--color-kit-key1, #1D44AC);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 16px 38px -18px #1D44ACCC;
  transition: background 0.2s ease, transform 0.2s ease;
}
.ab-cta:hover {
  background: #16368C;
  transform: translate3d(0, -1px, 0);
}
.ab-cta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF26;
  font-size: 13px;
  line-height: 1;
}
.ab-cta:focus-visible {
  outline: 2px solid #8FA6E6;
  outline-offset: 3px;
}
.ab-fussNote {
  grid-area: note;
  margin: 18px 0 0;
  max-width: 26em;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(19px, 2.1vw, 26px);
  line-height: 1.3;
  letter-spacing: -0.016em;
  color: #FFFFFF;
  text-wrap: balance;
}
@media (min-width: 720px) {
  .ab-fussNote {
    margin-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ab-stufe,
  .ab-flaeche,
  .ab-stufe > *:not(.ab-flaeche) {
    transition: none;
  }
  .ab-stufe:hover {
    translate: none;
  }
  .ab-cta:hover {
    transform: none;
  }
}

.ga-block {
  position: relative;
  background:
    linear-gradient(
      180deg,
      #060E20 0%,
      #081227 44%,
      #0A1734 100%);
  color: #F2F3F9;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  padding: clamp(78px, 9.5vw, 128px) 0;
}
.ga-block::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      70% 46% at 86% 10%,
      #1D44AC33 0%,
      #1D44AC00 66%);
}
.ga-wasser {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.ga-emblem {
  position: absolute;
  top: clamp(40px, 9vw, 96px);
  right: -34%;
  width: 138%;
  max-width: none;
  height: auto;
  opacity: 0.5;
}
@media (min-width: 1000px) {
  .ga-emblem {
    top: clamp(30px, 3.4vw, 56px);
    right: clamp(-200px, -9vw, -80px);
    width: min(1160px, 82vw);
    opacity: 0.66;
  }
}
.ga-voll {
  min-height: var(--con-kit-section-min-height, 100vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ga-inhalt {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}
.ga-kopf {
  max-width: 760px;
}
.ga-kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
  margin-bottom: 18px;
}
.ga-titel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(27px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: #FFFFFF;
}
.ga-akzent {
  color: var(--color-kit-key2, #8FA6E6);
  font-style: italic;
}
.ga-intro {
  margin: 20px 0 0;
  max-width: 34em;
  font-size: clamp(16px, 1.2vw, 17.5px);
  line-height: 1.72;
  color: #F2F3F9B8;
}
.ga-intro strong,
.ga-zText strong,
.ga-eText strong,
.ga-eListe strong {
  font-weight: 600;
  color: #FFFFFF;
}
.ga-garantie {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(26px, 4vw, 60px);
  align-items: start;
  margin-top: clamp(40px, 5vw, 64px);
}
@media (min-width: 1000px) {
  .ga-garantie {
    grid-template-columns: minmax(280px, 0.5fr) minmax(0, 1.5fr);
  }
}
.ga-siegelSeite {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 1000px) {
  .ga-siegelSeite {
    position: sticky;
    top: clamp(24px, 11vh, 110px);
    padding-top: 6px;
  }
}
.ga-rosette {
  display: block;
  width: 100%;
  max-width: 190px;
  height: auto;
  filter: drop-shadow(0 16px 24px #02050CB3);
}
@media (min-width: 1000px) {
  .ga-rosette {
    max-width: 210px;
  }
}
.ga-ringText {
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  font-size: 9.4px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.ga-rosZahl {
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: 52px;
  font-variant-numeric: lining-nums;
}
.ga-rosWort {
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  font-size: 9.6px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.ga-buergen {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 6px;
}
.ga-gesichter {
  display: flex;
}
.ga-gesicht {
  display: block;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background-color: #0C1A38;
  background-repeat: no-repeat;
  border: 2px solid #C9D2E2;
  box-shadow: 0 0 0 3px #0A1530;
}
.ga-gesicht + .ga-gesicht {
  margin-left: -16px;
}
.ga-bLabel {
  display: block;
  margin-top: 16px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.ga-bSatz {
  margin: 5px 0 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(17px, 1.3vw, 18.5px);
  line-height: 1.2;
  white-space: nowrap;
  color: #FFFFFF;
}
.ga-bNamen {
  margin: 3px 0 0;
  font-size: 13.5px;
  color: #F2F3F9A6;
}
.ga-kacheln {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.ga-kacheln::before {
  content: "";
  position: absolute;
  inset: -50px calc(min(34px, clamp(20px, 4vw, 48px)) * -1);
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      38% 26% at 86% 8%,
      #3563D680 0%,
      #3563D600 70%),
    radial-gradient(
      44% 30% at 8% 52%,
      #1D44AC99 0%,
      #1D44AC00 70%),
    radial-gradient(
      40% 26% at 82% 96%,
      #8FA6E64D 0%,
      #8FA6E600 70%);
  filter: blur(18px);
}
.ga-kachel {
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: clamp(20px, 2.2vw, 26px) clamp(20px, 2.6vw, 30px);
  border-radius: 14px;
  background:
    linear-gradient(
      135deg,
      #FFFFFF17 0%,
      #FFFFFF08 100%);
  border: 1px solid #FFFFFF24;
  box-shadow: inset 0 1px 0 #FFFFFF2E, 0 26px 50px -32px #02050C;
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
.ga-kachel > div {
  min-width: 0;
}
.ga-silberOben {
  position: absolute;
  left: 14px;
  right: 14px;
  top: 0;
  height: 2px;
  border-radius: 2px;
  background:
    linear-gradient(
      90deg,
      #8992A6 0%,
      #FFFFFF 6%,
      #7E8899 14%,
      #F8FAFE 24%,
      #98A1B3 33%,
      #FFFFFF 46%,
      #828C9E 56%,
      #F2F6FC 68%,
      #8E97AA 80%,
      #FFFFFF 90%,
      #9099AC 100%);
}
.ga-schild {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  filter: drop-shadow(0 4px 8px #02050C99);
}
.ga-zTitel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(20px, 1.9vw, 24px);
  line-height: 1.2;
  letter-spacing: -0.012em;
  color: #FFFFFF;
}
.ga-zText {
  margin: 6px 0 0;
  font-size: 14.5px;
  line-height: 1.62;
  color: #F2F3F9BD;
  text-wrap: pretty;
}
.ga-ehrlich {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px 14px;
  margin-top: clamp(30px, 3.4vw, 44px);
}
@media (min-width: 860px) {
  .ga-ehrlich {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  }
}
.ga-eKarte {
  position: relative;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 30px clamp(22px, 2.6vw, 30px) clamp(22px, 2.6vw, 30px);
  border-radius: 14px;
  background: #0812274D;
  border: 1.5px dashed #8A93A6B3;
}
.ga-eKarte > div {
  min-width: 0;
}
.ga-eMedaille {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px dashed #8A93A6B3;
}
.ga-eZeichen {
  width: 24px;
  height: 24px;
}
.ga-eLabel {
  position: absolute;
  left: 18px;
  top: -11px;
  padding: 4px 11px;
  border-radius: 999px;
  border: 1px solid #8A93A6B3;
  background: #0C1A38;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #F2F3F9;
}
.ga-eTitel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(21px, 2vw, 26px);
  line-height: 1.18;
  letter-spacing: -0.012em;
  color: #FFFFFF;
}
.ga-eText {
  margin: 8px 0 0;
  font-size: 14.5px;
  line-height: 1.62;
  color: #F2F3F9BD;
  text-wrap: pretty;
}
.ga-eListe {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 9px;
}
.ga-eListe li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14.5px;
  line-height: 1.5;
  color: #F2F3F9C7;
}
.ga-eHaken {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 3px;
}
.ga-fuss {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "knopf ." "slot ." "note note";
  justify-content: start;
  align-items: center;
  column-gap: 26px;
  margin-top: clamp(34px, 4vw, 48px);
}
.ga-fuss .ga-cta {
  grid-area: knopf;
  justify-content: center;
}
.ga-slotFuss {
  grid-area: slot;
}
@media (max-width: 719px) {
  .ga-fuss {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "knopf" "slot" "note";
    justify-items: center;
  }
  .ga-fuss .ga-fussNote {
    text-align: center;
  }
}
@media (min-width: 720px) {
  .ga-fuss {
    grid-template-columns: auto minmax(0, 26em);
    grid-template-areas: "knopf note" "slot .";
  }
}
.ga-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 17px 30px;
  border-radius: 999px;
  background: var(--color-kit-key1, #1D44AC);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 16px 38px -18px #1D44ACCC;
  transition: background 0.2s ease, transform 0.2s ease;
}
.ga-cta:hover {
  background: #16368C;
  transform: translate3d(0, -1px, 0);
}
.ga-cta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF26;
  font-size: 13px;
  line-height: 1;
}
.ga-cta:focus-visible {
  outline: 2px solid #8FA6E6;
  outline-offset: 3px;
}
.ga-fussNote {
  grid-area: note;
  margin: 18px 0 0;
  max-width: 26em;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(19px, 2.1vw, 26px);
  line-height: 1.3;
  letter-spacing: -0.016em;
  color: #FFFFFF;
  text-wrap: balance;
}
@media (min-width: 720px) {
  .ga-fussNote {
    margin-top: 0;
  }
}
.ga-verborgen {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}
.ga-sichtbar {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
  .ga-verborgen {
    opacity: 1;
    transform: none;
  }
  .ga-sichtbar {
    transition: none;
  }
  .ga-cta:hover {
    transform: none;
  }
}

.gv-block {
  --oben: clamp(300px, 36vw, 520px);
  --unten: clamp(340px, 40vw, 580px);
  position: relative;
  background:
    linear-gradient(
      180deg,
      #0A1734 0,
      #0A1735 calc(var(--oben) * 0.1),
      #0B1A3B calc(var(--oben) * 0.2),
      #0D1E48 calc(var(--oben) * 0.3),
      #10255A calc(var(--oben) * 0.4),
      #142E70 calc(var(--oben) * 0.5),
      #173686 calc(var(--oben) * 0.6),
      #1A3D98 calc(var(--oben) * 0.7),
      #1C41A5 calc(var(--oben) * 0.8),
      #1D44AB calc(var(--oben) * 0.9),
      #1D44AC calc(var(--oben) * 1),
      #1A3D9C calc(100% - var(--unten)),
      #1A3D9B calc(100% - var(--unten) * 0.9),
      #193B96 calc(100% - var(--unten) * 0.8),
      #17378B calc(100% - var(--unten) * 0.7),
      #15317B calc(100% - var(--unten) * 0.6),
      #122A68 calc(100% - var(--unten) * 0.5),
      #0F2355 calc(100% - var(--unten) * 0.4),
      #0D1D45 calc(100% - var(--unten) * 0.3),
      #0B193A calc(100% - var(--unten) * 0.2),
      #0A1735 calc(100% - var(--unten) * 0.1),
      #0A1734 100%);
  color: #F2F3F9;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  padding: clamp(78px, 9.5vw, 128px) 0;
  overflow: hidden;
}
.gv-block::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      60% 46% at 82% 44%,
      #8FA6E62E 0%,
      #8FA6E614 38%,
      #8FA6E600 72%);
}
.gv-voll {
  min-height: var(--con-kit-section-min-height, 100vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gv-inhalt {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}
.gv-kopf {
  max-width: 760px;
}
.gv-kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #DEE7FB;
  margin-bottom: 18px;
}
.gv-titel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(27px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: #FFFFFF;
}
.gv-akzent {
  color: #DEE7FB;
  font-style: italic;
}
.gv-intro {
  margin: 20px 0 0;
  max-width: 34em;
  font-size: clamp(16px, 1.2vw, 17.5px);
  line-height: 1.72;
  color: #F2F3F9D9;
}
.gv-intro strong,
.gv-rText strong {
  font-weight: 600;
  color: #FFFFFF;
}
.gv-kalenderReihe {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 60px);
  align-items: center;
  margin-top: clamp(38px, 4.6vw, 60px);
}
@media (min-width: 900px) {
  .gv-kalenderReihe {
    grid-template-columns: auto minmax(0, 1fr);
  }
}
.gv-kalender {
  display: flex;
  gap: clamp(12px, 1.8vw, 22px);
  padding-top: 8px;
}
.gv-blatt {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: clamp(128px, 15vw, 190px);
  border-radius: 14px;
  overflow: hidden;
  background: #E6E8F1;
  color: #131A2E;
  box-shadow: 0 30px 50px -28px #02050C;
}
.gv-blattAn {
  background: #F8F8FB;
  transform: translate3d(0, -8px, 0);
  box-shadow: 0 0 0 3px #FFFFFF59, 0 34px 56px -26px #02050C;
}
.gv-blattKopf {
  display: block;
  width: 100%;
  min-height: 34px;
  padding: 10px 8px 8px;
  background: #081227;
  color: #F2F3F9;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.gv-blattAn .gv-blattKopf {
  background:
    linear-gradient(
      90deg,
      #8992A6 0%,
      #FFFFFF 22%,
      #A9B3C6 52%,
      #F8FAFE 78%,
      #9099AC 100%);
  color: #081227;
}
.gv-blattTag {
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(64px, 7.4vw, 96px);
  line-height: 1;
  min-height: 1em;
  padding: 14px 0 4px;
  font-variant-numeric: lining-nums;
  color: #081227;
}
.gv-blattFuss {
  padding: 0 8px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5F6775;
  text-align: center;
}
.gv-blattAn .gv-blattFuss {
  color: #1D44AC;
}
.gv-uhrBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.gv-uhrZeile {
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(21px, 2.1vw, 27px);
  line-height: 1.2;
  color: #FFFFFF;
}
.gv-pips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.gv-pips i {
  width: 26px;
  height: 8px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      #FFFFFF 0%,
      #C9D2E2 100%);
  box-shadow: 0 0 0 1px #FFFFFF40;
}
.gv-pipText {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #DEE7FB;
}
.gv-regeln {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: clamp(34px, 4vw, 52px);
  border-top: 1px solid #FFFFFF59;
}
.gv-regeln > div {
  padding: 20px 0;
  border-bottom: 1px solid #FFFFFF33;
}
@media (min-width: 860px) {
  .gv-regeln {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gv-regeln > div {
    padding: 22px 28px 4px 0;
    border-bottom: 0;
  }
  .gv-regeln > div + div {
    padding-left: 28px;
    border-left: 1px solid #FFFFFF33;
  }
}
.gv-rTitel {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.2;
  letter-spacing: -0.012em;
  color: #FFFFFF;
}
.gv-rText {
  margin: 7px 0 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: #F2F3F9E0;
  text-wrap: pretty;
}
.gv-zitat {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: clamp(30px, 3.6vw, 44px) 0 0;
  padding: 0;
}
.gv-gesichter {
  display: flex;
  flex: 0 0 auto;
}
.gv-gesicht {
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #0C1A38;
  background-repeat: no-repeat;
  border: 2px solid #C9D2E2;
  box-shadow: 0 0 0 3px #16368C;
}
.gv-gesicht + .gv-gesicht {
  margin-left: -16px;
}
.gv-zitatSatz {
  margin: 0;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-style: italic;
  font-size: clamp(19px, 2vw, 25px);
  line-height: 1.3;
  letter-spacing: -0.012em;
  color: #FFFFFF;
  max-width: 30em;
  text-wrap: balance;
}
.gv-zitatNamen {
  margin-top: 5px;
  font-size: 13px;
  color: #F2F3F9CC;
}
@media (max-width: 560px) {
  .gv-zitat {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}
.gv-fuss {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "knopf ." "slot ." "note note";
  justify-content: start;
  align-items: center;
  column-gap: 26px;
  margin-top: clamp(30px, 3.6vw, 44px);
  padding-top: clamp(26px, 3vw, 34px);
  border-top: 1px solid #FFFFFF40;
}
.gv-fuss .gv-ctaWeiss {
  grid-area: knopf;
  justify-content: center;
}
.gv-slotFuss {
  grid-area: slot;
}
@media (max-width: 719px) {
  .gv-fuss {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "knopf" "slot" "note";
    justify-items: center;
  }
  .gv-fuss .gv-fussNote {
    text-align: center;
  }
}
@media (min-width: 720px) {
  .gv-fuss {
    grid-template-columns: auto minmax(0, 26em);
    grid-template-areas: "knopf note" "slot .";
  }
}
.gv-ctaWeiss {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 17px 30px;
  border-radius: 999px;
  background: #F2F3F9;
  color: #0C1A38;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 14px 34px -16px #00000080;
  transition: background 0.2s ease, transform 0.2s ease;
}
.gv-ctaWeiss:hover {
  background: #FFFFFF;
  transform: translate3d(0, -1px, 0);
}
.gv-ctaWeiss span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #0C1A3814;
  font-size: 13px;
  line-height: 1;
}
.gv-ctaWeiss:focus-visible {
  outline: 2px solid #F2F3F9;
  outline-offset: 3px;
}
.gv-fussNote {
  grid-area: note;
  margin: 18px 0 0;
  max-width: 26em;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-size: clamp(19px, 2.1vw, 26px);
  line-height: 1.3;
  letter-spacing: -0.016em;
  color: #FFFFFF;
  text-wrap: balance;
}
@media (min-width: 720px) {
  .gv-fussNote {
    margin-top: 0;
  }
}
.gv-verborgen {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}
.gv-sichtbar {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
  .gv-verborgen {
    opacity: 1;
    transform: none;
  }
  .gv-sichtbar {
    transition: none;
  }
  .gv-ctaWeiss:hover {
    transform: none;
  }
}

.sf-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-top: 14px;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
  font-size: 13.5px;
  line-height: 1.35;
  color: #F2F3F9B8;
  text-align: center;
  white-space: nowrap;
}
.sf-zeile {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.sf-start {
  display: block;
}
.sf-zeile strong,
.sf-start strong {
  font-weight: 600;
  color: #F2F3F9;
}
.sf-punkt {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-kit-key2, #8FA6E6);
  box-shadow: 0 0 0 4px #8FA6E629;
}
.sf-hell {
  color: #454D63;
}
.sf-hell .sf-zeile strong,
.sf-hell .sf-start strong {
  color: #131A2E;
}
.sf-hell .sf-punkt {
  background: var(--color-kit-key1, #1D44AC);
  box-shadow: 0 0 0 4px #1D44AC24;
}

.fu-uhr {
  display: flex;
  gap: 8px;
  font-family:
    var(--font-kit-text-font),
    "Source Sans 3",
    Arial,
    sans-serif;
}
.fu-feld {
  min-width: 64px;
  padding: 10px 8px 9px;
  border-radius: 10px;
  background:
    linear-gradient(
      168deg,
      #081227 0%,
      #11224A 100%);
  text-align: center;
  box-shadow: 0 1px 0 #F2F3F91F inset, 0 12px 26px -16px #081227;
}
.fu-wert {
  display: block;
  font-family:
    var(--font-kit-header-font),
    "EB Garamond",
    serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 1;
  color: #FFFFFF;
  font-variant-numeric: lining-nums tabular-nums;
}
.fu-name {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-kit-key2, #8FA6E6);
}
.fu-hell .fu-feld {
  background: #F2F3F914;
  box-shadow: 0 1px 0 #F2F3F91F inset;
}
@media (max-width: 380px) {
.fu-uhr {
    gap: 6px;
  }
.fu-feld {
    min-width: 56px;
  }
.fu-wert {
    font-size: 26px;
  }
}

/* Lange Überschrift in der schmalen FAQ-Spalte: etwas kleiner, damit sie in
   drei Zeilen steht (Vorgabe Arian, 05.10.2026). Startseite: clamp(34px, 3.6vw, 46px). */
.faq-kopf h2.titel-lang { font-size: clamp(32px, 3.2vw, 40px); }

/* Prüfbogen: Die dreizeilige Slot-Zeile steht mittig unter dem Knopf, nicht
   mittig in der Zelle. Ab 860px abwärts ist der Knopf so breit wie die Zelle. */
.pb-aktion .knopf-block { display: inline-flex; flex-direction: column; align-items: center; }
@media (max-width: 860px) { .pb-aktion .knopf-block { display: flex; align-items: stretch; } }

/* Slot-Zeile mit Datum im Hero: blendet ein wie die übrigen Teile des Heros. */
.hero .sf-slot { opacity: 0; animation: heldRein 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; animation-delay: 0.7s; }
@media (prefers-reduced-motion: reduce) { .hero .sf-slot { opacity: 1; animation: none; } }

/* Leichtere Fassung der Zeichnung hinter dem Vergleich (WebP statt 443 KB PNG). */
.arch-zeichnung { background-image: url("../assets/img/web/stadtrand-zeichnung.webp"); }
