

.pp-takt-eng  { --secpad: clamp(42px, 4.4vw, 76px); }
.pp-takt-weit { --secpad: clamp(84px, 10vw, 178px); }

.pp-h2m { font-size: var(--f-h2m); }

.pp-prose { max-width: none; }
.pp-prose > p,
.pp-prose > ul,
.pp-prose > ol,
.pp-prose > .legal__hint { max-width: 45ch; }
.pp-prose > h2 {
  font-size: var(--f-h3);
  margin-top: clamp(38px, 4vw, 62px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--line);
}

.pp-prose > h2:first-child { margin-top: 0; }
.pp-prose > h3 {
  font-size: var(--f-h4);
  margin-top: clamp(22px, 2.4vw, 32px);
  margin-bottom: .4rem;
}

.pp-prose a { overflow-wrap: break-word; }
.pp-prose ul, .pp-prose ol { padding-left: 1.15rem; }
.pp-prose li { margin: .3rem 0; }
.pp-prose li::marker { color: var(--red); }

.pp-stepform:not(.is-stepped) .pp-step-nav:not(.pp-step-nav--ende) { display: none; }
.pp-stepform:not(.is-stepped) .pp-step-nav--ende [data-step-prev]  { display: none; }

.form__group--check[hidden] { display: none; }

.pp-formspalte .form { max-width: 46rem; }
@media (min-width: 900px) { .pp-formspalte .form { margin-top: 0; } }

html:not(.js) .pp-tabs { display: none; }
.pp-tabs--spalte {
  flex-direction: column; align-items: stretch;
  gap: 0; border-bottom: 0; margin-bottom: var(--space-3);
  border-top: 1px solid var(--line);
}
.pp-tabs--spalte .pp-tabs__tab {
  width: 100%; text-align: left;
  padding: 14px 0 14px 22px; position: relative;
  border-bottom: 1px solid var(--line);
}
.pp-tabs--spalte .pp-tabs__tab.is-active { border-bottom-color: var(--line); }
.pp-tabs--spalte .pp-tabs__tab::before {
  content: ""; position: absolute; left: 0; top: 1.35em;
  width: 11px; height: 2px; background: transparent;
}
.pp-tabs--spalte .pp-tabs__tab.is-active::before { background: var(--red); }

.pp-kopfzeile {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 8px clamp(18px, 3vw, 40px);
  margin-top: clamp(30px, 3.6vw, 52px);
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.pp-kopfzeile a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-family: var(--font-accent); font-weight: 600; font-size: var(--f-kick);
  letter-spacing: .15em; text-transform: uppercase;
  color: var(--navy);
  border-bottom: 1.5px solid transparent;
}
.pp-kopfzeile a:hover, .pp-kopfzeile a:focus-visible {
  color: var(--red-ink);
  border-bottom-color: var(--red);
  text-decoration: none;
}

.pp-kopfzeile a.pp-kopfzeile--leise { color: var(--graphit); }

.chapter--dark .faqrow, .pp-band-dark .faqrow { border-top-color: var(--line-navy); }

.pp-formspalte .req, .pp-formspalte .form__error { color: var(--red-ink); }

.pp-hero :focus-visible { outline-color: var(--navy); }
