.coach-oben {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(32px, 4.4vw, 72px);
  align-items: center;
  margin-top: var(--s-3);
}
.coach-text {
  min-width: 0;
}
.coach-text h1 {
  margin: 0;
  font: 800 var(--t-anzeige)/1.02 var(--sans);
  letter-spacing: -.045em;
}
.coach-unter {
  margin: var(--s-5) 0 0;
  color: var(--text-2);
  font-size: var(--t-20);
  line-height: 1.5;
  max-width: 42ch;
}
.coach-kauf {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4) var(--s-5);
  margin: var(--s-6) 0 0;
}
.coach-preis {
  display: grid;
  gap: 6px;
}
.coach-preis b {
  font: 600 var(--t-16)/1.3 var(--sans);
  letter-spacing: 0;
  color: var(--text-2);
}
.coach-preis small {
  color: var(--text-3);
  font-size: var(--t-14);
}
.coach-kauf .knopf-gross {
  min-width: 11em;
}
.coach-naechster {
  margin-top: var(--s-6);
  max-width: 560px;
  min-height: 88px;
}
html:not([data-js]) .coach-naechster {
  display: none;
}
.cn-skelett {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: var(--s-4);
  row-gap: 10px;
  align-items: center;
  height: 88px;
  padding: var(--s-3);
  border-radius: var(--r-3);
  background: var(--bg-1);
}
.cn-skelett i {
  display: block;
  height: 12px;
  border-radius: 4px;
}
.cn-skelett i:first-child {
  grid-row: 1 / 3;
  width: 64px;
  height: 64px;
  border-radius: var(--r-1);
}
.cn-skelett i:nth-child(2) {
  width: 58%;
  align-self: end;
}
.cn-skelett i:nth-child(3) {
  width: 82%;
  align-self: start;
}
.cn-karte {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s-4);
  min-height: 88px;
  padding: var(--s-3) var(--s-5) var(--s-3) var(--s-3);
  border-radius: var(--r-3);
  background: var(--bg-1);
  color: var(--text);
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color .2s var(--ease),
    scale .12s var(--ease),
    box-shadow .24s var(--ease);
  box-shadow: var(--tiefe-1);
}
.cn-karte:hover {
  background: var(--bg-2);
  box-shadow: var(--tiefe-2);
}
.cn-karte:active {
  scale: var(--druck-karte);
}
.cn-karte:focus-visible {
  outline: none;
}
.cn-karte::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: var(--verlauf);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s var(--ease);
}
.cn-karte:focus-visible::after {
  opacity: 1;
}
.cn-karte .kachel-mini {
  width: 64px;
  height: 64px;
}
.cn-karte .kachel-mini > svg {
  transition: transform .45s var(--ease);
}
.cn-karte:hover .kachel-mini > svg {
  transform: scale(1.08);
}
.cn-text {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.cn-was {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  color: var(--text-3);
  font: 600 var(--t-12)/1.3 var(--sans);
}
.cn-bald {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cyan);
  font-family: var(--mono);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.cn-bald::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.cn-titel {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: 700 var(--t-16)/1.25 var(--sans);
  letter-spacing: -.01em;
}
.cn-meta {
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}
.cn-hinweis {
  color: var(--text-3);
  font-size: var(--t-12);
  line-height: 1.35;
}
.cn-preis {
  display: flex;
  align-items: center;
  gap: var(--s-2);
}
.cn-preis b {
  font: 800 var(--t-20)/1 var(--sans);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cn-preis .ik {
  width: 18px;
  height: 18px;
  color: var(--text-2);
  transition: transform .2s var(--ease), color .15s var(--ease);
}
.cn-karte:hover .cn-preis .ik {
  transform: translateX(var(--pfeil-weg));
  color: var(--text);
}
.cn-leer {
  display: flex;
  align-items: center;
  min-height: 88px;
  margin: 0;
  padding: var(--s-3) var(--s-5);
  border-radius: var(--r-3);
  border: 1.5px dashed var(--line-2);
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.coach-szene {
  --szene-dreh: rotateY(-11deg) rotateX(5deg);
  position: relative;
  aspect-ratio: 700 / 452;
  perspective: var(--perspektive);
  perspective-origin: 40% 30%;
}
.coach-szene > * {
  position: absolute;
  transform: var(--szene-dreh);
  transform-origin: 50% 50%;
}
.coach-szene::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -12% 0 -10% -8%;
  pointer-events: none;
  background:
    radial-gradient(
      46% 48% at 44% 46%,
      rgba(168, 85, 247, .2),
      rgba(168, 85, 247, 0) 72%),
    radial-gradient(
      30% 34% at 80% 50%,
      rgba(56, 224, 255, .13),
      rgba(56, 224, 255, 0) 72%);
}
.cs-schirm {
  left: 1%;
  top: 0;
  width: 82%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--r-3);
  background: #070C18;
  box-shadow: var(--tiefe-3);
}
.cs-schirm > svg {
  display: block;
  width: 100%;
  height: 100%;
}
.cs-schirm::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(150, 172, 222, .12), var(--licht-kante);
}
.cs-live,
.cs-zu,
.cs-name {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.cs-live {
  left: 3.6%;
  top: 5.6%;
  gap: 7px;
  height: 26px;
  padding: 0 11px 0 9px;
  border-radius: 13px;
  background: #3A1418;
  box-shadow: inset 0 0 0 1px rgba(226, 89, 74, .7);
  color: #FFD9D5;
  font: 800 13px/1 var(--sans);
  letter-spacing: .05em;
}
.cs-live i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #FF5A4E;
}
.cs-zu {
  right: 3.6%;
  top: 5.6%;
  gap: 7px;
  height: 28px;
  padding: 0 11px 0 9px;
  border-radius: var(--r-1);
  background: rgba(8, 14, 26, .86);
  box-shadow: inset 0 0 0 1px rgba(150, 172, 222, .14);
  color: var(--text);
  font: 600 var(--t-12)/1 var(--sans);
}
.cs-zu .ik {
  width: 16px;
  height: 16px;
  color: #4CC182;
}
.cs-name {
  left: 3.6%;
  bottom: 5.6%;
  height: 30px;
  padding: 0 12px;
  border-radius: var(--r-1);
  background: rgba(11, 17, 32, .88);
  color: var(--text);
  font: 700 var(--t-14)/1 var(--sans);
  letter-spacing: -.01em;
}
.cs-call {
  right: 0;
  top: 30%;
  width: 39%;
  display: grid;
  gap: 8px;
  padding: 10px;
  border-radius: var(--r-3);
  background: #0C0A1E;
  box-shadow: var(--tiefe-3), inset 0 0 0 1px rgba(150, 172, 222, .1);
  transform: var(--szene-dreh) translateZ(64px);
}
.cs-person {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px 10px 10px;
  border-radius: 12px;
  background: #15102E;
  box-shadow: inset 0 0 0 1.5px #26334F;
}
.cs-coach {
  box-shadow: inset 0 0 0 2px rgba(76, 193, 130, .95);
}
.cs-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex: none;
  border-radius: 50%;
  background: #0B1120;
  box-shadow: 0 0 0 2.5px #4CC182, 0 0 0 7px rgba(76, 193, 130, .2);
}
.cs-avatar img {
  width: 40px;
  height: 40px;
}
.cs-avatar::after {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(76, 193, 130, .55);
  opacity: 0;
  pointer-events: none;
}
.cs-avatar-du {
  width: 40px;
  height: 40px;
  margin-left: 6px;
  background: #1D2946;
  box-shadow: inset 0 0 0 1.5px #2C3A58;
  color: #C08BFA;
  font: 800 var(--t-12)/1 var(--sans);
  letter-spacing: .02em;
}
.cs-wer {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.cs-wer b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font: 700 var(--t-16)/1.1 var(--sans);
  letter-spacing: -.015em;
}
.cs-du .cs-wer b {
  color: #AAB4C8;
  font-size: var(--t-14);
  font-weight: 600;
}
.cs-welle {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 18px;
}
.cs-welle i {
  width: 4px;
  height: 10px;
  border-radius: 2px;
  background: #4CC182;
  transform-origin: 50% 50%;
}
.cs-welle i:nth-child(2),
.cs-welle i:nth-child(6) {
  height: 15px;
}
.cs-welle i:nth-child(4) {
  height: 18px;
}
.cs-welle i:nth-child(5) {
  height: 12px;
}
.cs-welle i:nth-child(3),
.cs-welle i:nth-child(7) {
  height: 8px;
}
.cs-geteilt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 24px;
  padding: 0 8px;
  border-radius: var(--r-1);
  background: #0F1A2E;
  box-shadow: inset 0 0 0 1px #2C3A58;
  color: #BFEFFF;
  font: 700 var(--t-12)/1 var(--sans);
  white-space: nowrap;
}
.cs-geteilt .ik {
  width: 14px;
  height: 14px;
  color: #7DEBFF;
}
.cs-knoepfe {
  display: block;
  width: min(150px, 70%);
  height: auto;
  margin: 4px auto 2px;
}
.coach-szene > .coach-zeit {
  position: absolute;
  left: 5%;
  bottom: 0;
  width: 60%;
  border-radius: var(--r-3);
  background: #0C0A1E;
  box-shadow: var(--tiefe-3), inset 0 0 0 1px rgba(150, 172, 222, .1);
  transform: var(--szene-dreh) translateZ(40px);
}
.coach-zeit {
  position: relative;
  padding: 16px 6% 18px;
  color: #97A2BA;
  font: 600 var(--t-12)/1 var(--sans);
}
.cz-kopf {
  position: relative;
  height: 14px;
  margin-bottom: 10px;
}
.cz-titel {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #AAB4C8;
  white-space: nowrap;
}
.cz-titel i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gut);
  box-shadow: 0 0 0 3px rgba(76, 193, 130, .2);
}
.cz-plus {
  position: absolute;
  right: 12%;
  top: 0;
  color: #C08BFA;
  white-space: nowrap;
}
.cz-spur {
  position: relative;
  height: 10px;
  border-radius: 5px;
  background: rgba(238, 242, 250, .07);
}
.cz-lauf {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 88%;
  border-radius: 5px;
  background: var(--verlauf-quer);
  transform-origin: 0 50%;
}
.cz-lauf::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 93.18%;
  right: 0;
  border-radius: 0 5px 5px 0;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(12, 10, 30, .55) 0 2px,
      transparent 2px 5px);
}
.cz-lauf > i {
  position: absolute;
  top: -1px;
  bottom: -1px;
  width: 3px;
  margin-left: -1.5px;
  background: #0C0A1E;
}
.cz-lauf > i:nth-child(1) {
  left: 16.5%;
}
.cz-lauf > i:nth-child(2) {
  left: 28.4%;
}
.cz-lauf > i:nth-child(3) {
  left: 47.7%;
}
.cz-lauf > i:nth-child(4) {
  left: 62.5%;
}
.cz-lauf > i:nth-child(5) {
  left: 80.1%;
}
.cz-ende {
  position: absolute;
  left: 82%;
  top: -6px;
  bottom: -14px;
  width: 2px;
  margin-left: -1px;
  border-radius: 1px;
  background: var(--text);
}
.cz-fuss {
  position: relative;
  height: 14px;
  margin-top: 10px;
}
.cz-start {
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}
.cz-fenster {
  position: absolute;
  right: calc(18% + 7px);
  top: 0;
  color: var(--text);
  white-space: nowrap;
}
@media (prefers-reduced-motion: no-preference) {
  html[data-js] .coach-szene:not(.sichtbar) .cz-lauf {
    transform: scaleX(0);
  }
  html[data-js] .coach-szene:not(.sichtbar) .cz-plus {
    opacity: 0;
    transform: translateY(3px);
  }
  .coach-szene.sichtbar .cz-lauf {
    transition: transform 1.5s cubic-bezier(.5, 0, .2, 1) .9s;
  }
  .coach-szene.sichtbar .cz-plus {
    transition: opacity .3s var(--ease) 2.2s, transform .3s var(--ease) 2.2s;
  }
  .coach-szene.sichtbar .cz-titel i {
    animation: puls 2s var(--ease) .9s 1;
  }
  .coach-szene.sichtbar .cs-welle i {
    animation: bild-welle .5s ease-in-out .3s 4 alternate;
  }
  .coach-szene.sichtbar .cs-welle i:nth-child(2n) {
    animation-delay: .42s;
  }
  .coach-szene.sichtbar .cs-welle i:nth-child(3n) {
    animation-delay: .54s;
  }
  .coach-szene.sichtbar .cs-coach .cs-avatar::after {
    animation: cs-ring 1.1s var(--ease) .3s 2;
  }
}
@keyframes cs-ring {
  from {
    opacity: .9;
    transform: scale(.92);
  }
  to {
    opacity: 0;
    transform: scale(1.18);
  }
}
.coach-band {
  margin-top: clamp(40px, 5vw, 64px);
}
.coach-fakten {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.14fr) minmax(0, 1.14fr);
  border-radius: var(--r-3);
  background: var(--bg-1);
  box-shadow: var(--tiefe-1);
}
.coach-fakten > div {
  min-width: 0;
  padding: var(--s-5) clamp(20px, 2.2vw, 32px) var(--s-6);
}
.coach-fakten > div + div {
  border-left: 1px solid var(--line);
}
.coach-fakten dt {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin: 0 0 var(--s-3);
  font: 700 var(--t-16)/1.2 var(--sans);
  letter-spacing: -.01em;
}
.cf-ikon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: var(--r-1);
  background: var(--cyan-grund);
  color: var(--cyan);
}
.cf-ikon .ik {
  width: 18px;
  height: 18px;
}
.coach-fakten dd {
  margin: 0;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.6;
  max-width: 62ch;
}
.coach-fakten .server {
  display: inline-block;
  padding: 0 5px;
  border-radius: 5px;
  border: 1px solid var(--line-2);
  color: var(--text);
  font: 600 var(--t-12)/1.45 var(--mono);
  letter-spacing: .02em;
  vertical-align: 1px;
  white-space: nowrap;
}
.cf-runden {
  display: grid;
  gap: var(--s-2);
  margin: var(--s-3) 0 0;
  padding: 0;
  list-style: none;
}
.cf-runden b {
  color: var(--text);
  font-weight: 600;
  white-space: nowrap;
}
.coach-ablauf {
  padding-top: clamp(56px, 6vw, 88px);
}
.coach-schritte {
  --luecke: var(--s-6);
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: schritt;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--luecke);
}
.coach-schritte::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 20px;
  right: calc((100% - 2 * var(--luecke)) / 3 - 20px);
  height: 2px;
  border-radius: 1px;
  background: var(--verlauf-quer);
  opacity: .5;
}
.coach-schritte li {
  counter-increment: schritt;
  position: relative;
  min-width: 0;
  padding-top: 60px;
}
.coach-schritte li::before {
  content: counter(schritt, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bg-0);
  box-shadow: inset 0 0 0 1.5px var(--line-2);
  color: var(--text);
  font: 600 var(--t-14)/1 var(--mono);
}
.coach-schritte li:first-child::before {
  background: linear-gradient(var(--cyan-grund), var(--cyan-grund)), var(--bg-0);
  box-shadow: inset 0 0 0 1.5px rgba(56, 224, 255, .55);
  color: var(--cyan);
}
.coach-schritte b {
  display: block;
  font: 700 var(--t-20)/1.25 var(--sans);
  letter-spacing: -.02em;
}
.coach-schritte p {
  margin: var(--s-2) 0 0;
  max-width: 36ch;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.6;
}
.coaching #cups {
  padding-top: clamp(56px, 6vw, 88px);
}
.sp {
  display: grid;
  gap: var(--s-4);
}
.sp-leiste {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3) var(--s-5);
  min-height: 52px;
}
.sp-regionen {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: var(--bg-1);
  box-shadow: var(--tiefe-1);
}
.sp-regionen button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 64px;
  height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--r-1);
  background: transparent;
  color: var(--text-2);
  font: 600 var(--t-14)/1 var(--mono);
  letter-spacing: .02em;
  -webkit-tap-highlight-color: transparent;
  transition:
    color .15s var(--ease),
    background-color .15s var(--ease),
    box-shadow .15s var(--ease),
    transform .12s var(--ease);
}
.sp-regionen button:hover {
  color: var(--text);
  background: var(--bg-2);
}
.sp-regionen button:active {
  transform: scale(var(--druck-knopf));
}
.sp-regionen button[aria-pressed=true] {
  color: var(--text);
  background: var(--bg-3);
  box-shadow: var(--licht-kante), 0 1px 2px rgba(2, 6, 16, .45);
}
.sp-regionen button::before {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 5px;
  height: 2px;
  border-radius: 1px;
  background: var(--verlauf-quer);
  opacity: 0;
  transition: opacity .15s var(--ease);
}
.sp-regionen button[aria-pressed=true]::before {
  opacity: 1;
}
.sp-regionen button:focus-visible {
  outline: none;
}
.sp-regionen button::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  padding: 2px;
  background: var(--verlauf-quer);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s var(--ease);
}
.sp-regionen button:focus-visible::after {
  opacity: 1;
}
.sp-zahl {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--cyan-grund);
  color: var(--cyan);
  font: 600 var(--t-12)/1 var(--mono);
}
.sp-zahl.null {
  display: none;
}
.sp-sk-knopf {
  display: block;
  width: 64px;
  height: 44px;
}
.sp-zone {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.4;
}
.sp-zone .ik {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--text-3);
}
.sp-region {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px var(--s-3);
  margin: var(--s-2) 0 0;
}
.sp-region-name {
  font: 800 var(--t-20)/1.2 var(--sans);
  letter-spacing: -.025em;
}
.sp-region-zahl {
  color: var(--text-2);
  font: 500 var(--t-14)/1.2 var(--sans);
  font-variant-numeric: tabular-nums;
}
.sp-region-zahl.voll {
  color: var(--text-3);
}
.sp-woche {
  --sp-spalten: 4;
  display: grid;
  grid-template-columns: repeat(var(--sp-spalten), minmax(0, 1fr));
  gap: var(--s-5) var(--s-3);
  align-items: start;
  max-width: calc(var(--sp-spalten) * 300px + (var(--sp-spalten) - 1) * var(--s-3));
  min-height: 220px;
}
.sp-woche.sp-leer {
  grid-template-columns: minmax(0, 1fr);
  max-width: none;
}
.sp-woche > .kachel-leer {
  min-height: 180px;
}
.sp-tag {
  display: grid;
  gap: var(--s-2);
  align-content: start;
  min-width: 0;
}
.sp-tag-kopf {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px var(--s-2);
  margin: 0 0 var(--s-1);
  padding: 0 2px 10px;
  border-bottom: 1px solid var(--line);
  font: inherit;
  letter-spacing: 0;
}
.sp-tag.heute .sp-tag-kopf::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  border-radius: 1px;
  background: var(--verlauf-quer);
}
.sp-wochentag {
  font: 700 var(--t-16)/1.2 var(--sans);
  letter-spacing: -.01em;
}
.sp-datum {
  color: var(--text-3);
  font: 500 var(--t-12)/1.2 var(--mono);
  white-space: nowrap;
}
.sp-sk-kopf {
  display: block;
  height: 30px;
  margin-bottom: var(--s-1);
}
.sp-sk-karte {
  display: block;
  height: 148px;
  border-radius: 12px;
}
.sp-karte {
  position: relative;
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: var(--s-3) var(--s-3) var(--s-3) 14px;
  border-radius: 12px;
  background: var(--bg-1);
  box-shadow: var(--tiefe-1);
  color: var(--text);
  transition:
    background-color .2s var(--ease),
    box-shadow .2s var(--ease),
    scale .12s var(--ease);
}
a.sp-karte {
  -webkit-tap-highlight-color: transparent;
}
a.sp-karte:hover {
  background: var(--bg-2);
  box-shadow: var(--tiefe-2);
}
a.sp-karte:active {
  scale: var(--druck-karte);
}
a.sp-karte:focus-visible {
  outline: none;
}
a.sp-karte::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  padding: 2px;
  background: var(--verlauf);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s var(--ease);
}
a.sp-karte:focus-visible::after {
  opacity: 1;
}
.sp-karte-kopf {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0 var(--s-2);
}
.sp-zeit {
  font: 700 var(--t-20)/1.15 var(--mono);
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.sp-preis {
  font: 700 var(--t-14)/1.15 var(--sans);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.sp-titel {
  margin-top: var(--s-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font: 700 var(--t-16)/1.25 var(--sans);
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.sp-runde {
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.35;
}
.sp-zeile {
  color: var(--text-2);
  font-size: var(--t-12);
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.sp-hinweis {
  color: var(--text-3);
  font-size: var(--t-12);
  line-height: 1.4;
}
.sp-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  min-height: 36px;
  margin-top: var(--s-2);
  padding: 0 var(--s-3);
  border-radius: var(--r-1);
  background: var(--bg-2);
  color: var(--text-2);
  font: 600 var(--t-14)/1.2 var(--sans);
  transition: background-color .15s var(--ease), color .15s var(--ease);
}
.sp-status .ik {
  width: 18px;
  height: 18px;
  transition: transform .2s var(--ease);
}
.sp-frei .sp-status {
  background: var(--cyan-grund);
  color: var(--cyan);
}
a.sp-karte:hover .sp-status {
  background: var(--cyan);
  color: var(--on-cyan);
}
a.sp-karte:hover .sp-status .ik {
  transform: translateX(var(--pfeil-weg));
}
.sp-gebucht,
.sp-vergeben {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--line-2);
}
.sp-gebucht .sp-zeit,
.sp-vergeben .sp-zeit,
.sp-gebucht .sp-preis,
.sp-vergeben .sp-preis {
  color: var(--text-3);
}
.sp-gebucht .sp-titel,
.sp-vergeben .sp-titel {
  color: var(--text-2);
}
.sp-gebucht .sp-runde,
.sp-vergeben .sp-runde {
  color: var(--text-3);
}
.sp-gebucht .sp-status,
.sp-vergeben .sp-status {
  background: transparent;
  padding: 0;
  min-height: 24px;
  color: var(--text-3);
}
.coach-absage .karte {
  padding: var(--s-6);
  box-shadow: var(--tiefe-1);
}
.coach-absage h2 {
  margin: 0 0 var(--s-3);
}
.coach-absage p {
  max-width: 82ch;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.6;
}
.coach-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-1) var(--s-5);
  margin-top: var(--s-4);
}
.coach-links a:not(.knopf) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--text-2);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: var(--t-14);
}
.coach-links a:not(.knopf):hover {
  color: var(--text);
}
.coach-schluss {
  margin-top: var(--s-7);
}
.coach-t5 {
  margin: 0;
  max-width: 70ch;
}
.coach-fragen {
  margin: var(--s-5) 0 0;
  max-width: 70ch;
  color: var(--text-2);
  font-size: var(--t-16);
  line-height: 1.6;
}
.coach-fragen a {
  position: relative;
}
.coach-fragen a::after {
  content: "";
  position: absolute;
  left: -4px;
  right: -4px;
  top: 50%;
  height: 44px;
  margin-top: -22px;
}
@media (max-width: 1199px) {
  .sp-woche {
    grid-template-columns: repeat(auto-fill, minmax(184px, 1fr));
    max-width: none;
  }
}
@media (max-width: 1100px) {
  .coach-oben {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-6);
  }
  .coach-szene {
    width: 100%;
    max-width: 760px;
  }
  .coach-fakten {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .coach-fakten > div:first-child {
    grid-column: 1 / -1;
  }
  .coach-fakten > div:nth-child(2) {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .coach-fakten > div:nth-child(3) {
    border-top: 1px solid var(--line);
  }
}
@media (max-width: 900px) {
  .coach-oben {
    margin-top: 0;
  }
  .cn-was,
  .cn-hinweis,
  .sp-hinweis,
  .sp-zeile,
  .sp-datum {
    font-size: var(--t-14);
  }
  .coach-fakten > div {
    padding: var(--s-5) var(--s-4);
  }
  .coach-absage .karte {
    padding: var(--s-5);
  }
  .coach-schritte {
    --luecke: var(--s-5);
    grid-template-columns: minmax(0, 1fr);
  }
  .coach-schritte::before {
    display: none;
  }
  .coach-schritte li {
    padding: 6px 0 0 60px;
    min-height: 40px;
  }
  .coach-schritte li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 19px;
    top: 48px;
    bottom: calc(-1 * var(--luecke) + 8px);
    width: 2px;
    border-radius: 1px;
    background: var(--verlauf);
    opacity: .5;
  }
  .coach-schritte b {
    font-size: var(--t-16);
  }
}
@media (max-width: 640px) {
  .coach-fakten {
    grid-template-columns: minmax(0, 1fr);
  }
  .coach-fakten > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .sp-leiste {
    flex-direction: column;
    align-items: stretch;
    gap: var(--s-3);
  }
  .sp-regionen {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sp-regionen button {
    min-width: 0;
    padding: 0 8px;
  }
  .sp-woche {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-5);
  }
  .sp-sk-knopf {
    width: auto;
  }
  .sp-karte {
    grid-template-columns: 5em minmax(0, 1fr) auto;
    column-gap: var(--s-3);
    align-items: baseline;
    padding: var(--s-3) var(--s-3) var(--s-3) var(--s-4);
  }
  .sp-karte-kopf {
    display: contents;
  }
  .sp-zeit {
    grid-column: 1;
    grid-row: 1;
    font-size: var(--t-16);
    white-space: normal;
  }
  .sp-titel {
    grid-column: 2;
    grid-row: 1;
    margin-top: 0;
  }
  .sp-preis {
    grid-column: 3;
    grid-row: 1;
  }
  .sp-runde,
  .sp-zeile,
  .sp-hinweis,
  .sp-status {
    grid-column: 2 / -1;
  }
  .sp-sk-karte {
    height: 112px;
  }
}
@media (max-width: 560px) {
  .coach-unter {
    font-size: var(--t-16);
  }
  .coach-kauf {
    gap: var(--s-3) var(--s-4);
  }
  .coach-kauf .knopf-gross {
    width: 100%;
  }
  .coach-naechster {
    margin-top: var(--s-5);
  }
  .coach-kauf {
    margin-top: var(--s-5);
  }
  .cn-karte {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: var(--s-2) var(--s-3);
    padding-right: var(--s-4);
  }
  .cn-karte .kachel-mini {
    width: 56px;
    height: 56px;
  }
  .cn-preis {
    grid-column: 2;
  }
  .cn-skelett {
    grid-template-columns: 56px minmax(0, 1fr);
    height: 156px;
  }
  .cn-skelett i:first-child {
    width: 56px;
    height: 56px;
  }
  .cn-titel {
    white-space: normal;
  }
  .coach-szene {
    display: grid;
    aspect-ratio: auto;
    perspective: none;
  }
  .coach-szene > *,
  .coach-szene > .coach-zeit {
    position: relative;
    inset: auto;
    transform: none;
  }
  .cs-schirm {
    width: 100%;
  }
  .cs-name {
    top: calc(5.6% + 34px);
    bottom: auto;
  }
  .cs-call {
    justify-self: end;
    width: 70%;
    margin-top: -44px;
  }
  .coach-szene > .coach-zeit {
    width: 100%;
    margin-top: var(--s-3);
  }
}
@media (max-width: 350px) {
  .cz-fuss {
    height: 30px;
  }
  .cz-fenster {
    max-width: 9.5em;
    white-space: normal;
    text-align: right;
    line-height: 1.25;
  }
}
@media (max-width: 374px) {
  .cs-call {
    width: 86%;
  }
  .cs-coach .cs-avatar {
    width: 46px;
    height: 46px;
  }
  .cs-coach .cs-avatar img {
    width: 36px;
    height: 36px;
  }
}
@media (prefers-reduced-motion: reduce) {
  a.sp-karte:active {
    scale: none !important;
  }
  .sp-regionen button:active,
  a.sp-karte:hover .sp-status .ik {
    transform: none !important;
  }
}
.coach-text h1 {
  font: 740 clamp(44px, 5.5vw, 84px)/.95 var(--sans);
  letter-spacing: -.05em;
}
.coach-oben {
  padding-top: clamp(16px, 2.6vw, 48px);
}
.coach-szene {
  position: relative;
}
.co-aura {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 150%;
  aspect-ratio: 1;
  translate: -50% -50%;
  pointer-events: none;
  overflow: visible;
  -webkit-mask-image:
    radial-gradient(
      closest-side,
      #000 72%,
      transparent 100%);
  mask-image:
    radial-gradient(
      closest-side,
      #000 72%,
      transparent 100%);
}
.co-aura .coa-schein {
  filter: blur(10px);
}
main.coaching,
main:has(> .coach-oben) {
  overflow-x: clip;
}
@media (max-width: 900px) {
  .co-aura {
    width: 170%;
  }
}
.co-neu {
  max-width: 100%;
  margin-top: var(--s-5);
}
.co-neu .hn-name {
  min-width: 0;
  color: var(--text);
}
.v1 {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(32px, 4.4vw, 72px);
  align-items: center;
  scroll-margin-top: calc(var(--kopf-h, 64px) + 24px);
}
.v1-text {
  min-width: 0;
}
.v1-text h2 {
  margin: 0;
  font: 800 var(--t-abschnitt)/1.02 var(--sans);
  letter-spacing: -.045em;
}
.v1-unter {
  margin: var(--s-4) 0 0;
  max-width: 46ch;
  color: var(--text-2);
  font-size: var(--t-16);
  line-height: 1.6;
}
.v1-fakten {
  display: grid;
  gap: var(--s-3);
  margin: var(--s-5) 0 0;
  padding: 0;
  list-style: none;
}
.v1-fakten li {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
}
.v1-fakten .ik {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  color: var(--cyan);
}
.v1-fakten li > span {
  display: grid;
  gap: 2px;
}
.v1-fakten b {
  color: var(--text);
  font: 700 var(--t-16)/1.3 var(--sans);
}
.v1-fakten small {
  color: var(--text-3);
  font-size: var(--t-14);
  line-height: 1.4;
}
.v1-kauf {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4) var(--s-5);
  margin: var(--s-6) 0 0;
}
.v1-kauf .preis-block {
  display: grid;
  gap: 4px;
}
.v1-kauf .preis-block b {
  font: 800 var(--t-32)/1 var(--sans);
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.v1-kauf .preis-block small {
  color: var(--text-3);
  font-size: var(--t-14);
}
.v1-kauf .knopf-gross {
  min-width: 11em;
}
.v1-bild {
  position: relative;
  aspect-ratio: 640 / 380;
  overflow: hidden;
  border-radius: var(--r-3);
  background: #0C0A1E;
  box-shadow: inset 0 0 0 1px rgba(150, 172, 222, .14), var(--tiefe-2);
}
.v1-bild > svg {
  display: block;
  width: 100%;
  height: 100%;
}
.v1-bild {
  aspect-ratio: 640 / 268;
}
.v1-bild > svg {
  height: auto;
  margin-top: calc(-112 / 640 * 100%);
}
.v1-bild .bild-kopf {
  display: none;
}
@media (max-width: 1100px) {
  .v1 {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-6);
  }
  .v1-bild {
    order: -1;
    width: 100%;
    max-width: 760px;
  }
}
@media (max-width: 560px) {
  .v1-kauf {
    gap: var(--s-3) var(--s-4);
  }
  .v1-kauf .knopf-gross {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .co-neu:hover .ik {
    transform: none;
  }
}
.vodcall .coach-unter {
  max-width: 46ch;
}
.vodcall .v1-fakten {
  margin-top: var(--s-6);
}
.vodcall .produkt-status {
  margin: var(--s-3) 0 0;
}
.v1-lieferung {
  display: flex;
  align-items: flex-start;
  gap: var(--s-2);
  margin: var(--s-5) 0 0;
  max-width: 52ch;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.55;
}
.v1-lieferung .ik {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  color: var(--cyan);
}
.v1-lieferung b {
  color: var(--text);
  font-weight: 600;
}
.v1-buehne {
  position: relative;
}
.coach-schritte.nur-satz p {
  margin: 0;
  color: var(--text);
  font-size: var(--t-16);
  line-height: 1.55;
}
@media (max-width: 1100px) {
  .v1-buehne {
    width: 100%;
    max-width: 760px;
  }
  .v1-buehne .v1-bild {
    max-width: none;
  }
  .v1-buehne .co-aura {
    width: 130%;
    -webkit-mask-image:
      linear-gradient(
        transparent 24%,
        #000 38%,
        #000 62%,
        transparent 76%);
    mask-image:
      linear-gradient(
        transparent 24%,
        #000 38%,
        #000 62%,
        transparent 76%);
  }
}
@media (max-width: 900px) {
  .coach-schritte.nur-satz li {
    padding-top: 9px;
  }
}
.coaching #cups,
.coaching .coach-ablauf {
  padding-top: var(--s-luft);
}
.coaching .coach-band {
  margin-top: clamp(48px, 5vw, 64px);
}
.coaching .coach-fakten {
  border-radius: 0;
  background: none;
  box-shadow: none;
  border-block: 1px solid var(--line);
}
.coaching .coach-fakten > div {
  padding: var(--s-5) var(--s-5) var(--s-6);
}
.coaching .coach-fakten > div:first-child {
  padding-left: 0;
}
.coaching .cf-ikon {
  width: 20px;
  height: 20px;
  border-radius: 0;
  background: none;
  color: var(--text-2);
}
.coaching .coach-absage {
  padding-top: var(--s-luft);
}
.coaching .coach-absage .karte {
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.coaching .coach-absage p {
  max-width: 70ch;
  font-size: var(--t-16);
}
.coaching .coach-schluss {
  margin-top: clamp(48px, 5vw, 64px);
}
@media (max-width: 1100px) {
  .coaching .coach-fakten > div:nth-child(2) {
    padding-left: 0;
  }
}
@media (max-width: 640px) {
  .coaching .coach-fakten > div {
    padding: var(--s-5) 0;
  }
}
.vodcall .v1-fakten .ik,
.vodcall .v1-lieferung .ik {
  color: var(--text-2);
}
.coaching .coach-absage p {
  max-width: 36em;
}
.coaching .hinweis.coach-t5 {
  max-width: 36em;
  padding-inline: 0;
  background: none;
  box-shadow: none;
  color: var(--text-3);
}
.coaching .coach-absage {
  padding-top: var(--s-7);
}
.coaching .coach-absage details.fussnote {
  margin-top: 0;
}
.coaching .coach-absage details.fussnote > summary > h2 {
  margin: 0;
  font: inherit;
  letter-spacing: 0;
  color: inherit;
}
.coaching .coach-absage details.fussnote > p {
  margin: var(--s-2) 0 0;
  padding-left: 24px;
  font-size: var(--t-14);
  line-height: 1.55;
  color: var(--text-3);
}
.coaching .coach-absage details.fussnote > .coach-links {
  margin-top: var(--s-3);
  padding-left: 24px;
}
.coaching .coach-schluss {
  margin-top: var(--s-2);
}
.coaching .coach-schluss > details.fussnote {
  margin-top: 0;
}
