.tr-weg__raster, .tr-ott__raster, .tr-einf__raster, .tr-termin__raster { display: grid; gap: clamp(32px, 5vw, 72px); align-items: center; }
.tr-weg__bild, .tr-ott__bild, .tr-www__bild, .tr-feld__bild, .tr-person__bild, .tr-person__text, .tr-zitat { margin: 0; }
.tr-weg__bild, .tr-ott__bild { margin: 0; border-radius: var(--r); overflow: hidden; }
.tr-weg__bild img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.tr-ott__bild img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.tr-weg__text h2 { max-width: 14ch; }
.tr-weg__absatz { margin: 22px 0 0; max-width: 60ch; color: var(--tinte-2); }

.tr-fakten { list-style: none; margin: 26px 0 0; padding: 0; border-top: 1.5px solid var(--tinte); }
.tr-fakten li { display: grid; gap: 2px; padding: 14px 0; border-bottom: 1px solid var(--linie); }
.tr-fakten strong { font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; }
.tr-fakten span { font-size: var(--klein); color: var(--tinte-2); }
.kz-band--gelb .tr-fakten li { border-color: var(--linie-gelb); }
.kz-band--gelb .tr-fakten span, .kz-band--gelb .kz-lead + p { color: var(--tinte-gelb); }

.tr-www__wege, .tr-ott__aktion { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; }
.tr-www__wege { margin: 22px 0 0; flex-direction: column; align-items: flex-start; gap: 10px; }
.pfeil-link { display: inline-flex; align-items: center; gap: 8px; color: var(--tinte); }
.pfeil-link .sym { width: 18px; height: 18px; flex: none; }

.tr-www__reihe { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.tr-www__karte { display: flex; flex-direction: column; border-radius: var(--r); background-color: #fff; overflow: hidden; scroll-margin-top: 96px; }
.tr-www__bild img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.tr-www__karte:nth-child(1) .tr-www__bild img { object-position: 50% 22%; }
.tr-www__text { padding: 26px clamp(22px, 2.4vw, 32px) 30px; }
.tr-www__titel { font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem); }
.tr-www__text .kz-liste { margin-top: 18px; }

.tr-preise .kz-kopf p { font-family: var(--font-display); font-weight: 500; color: var(--tinte); }
.tr-preise__reihe { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.tr-preis { display: flex; flex-direction: column; padding: clamp(24px, 2.6vw, 36px); border: 1.5px solid var(--linie-stark); border-radius: var(--r); background-color: #fff; }
.tr-preis__name { font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); }
.tr-preis__satz { margin: 10px 0 0; font-size: var(--klein); color: var(--tinte-2); }
.tr-preis__betrag { order: -1; margin: 0 0 18px; display: flex; align-items: baseline; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--linie); }
.tr-preis__zahl { font-family: var(--font-display); font-weight: 600; font-size: clamp(2.4rem, 1.9rem + 1.6vw, 3.2rem); line-height: 1; letter-spacing: -0.03em; }
.tr-preis__takt { color: var(--tinte-2); }
.tr-preis__liste { margin-top: 20px; gap: 10px; font-size: var(--klein); }
.tr-preis__liste li::before { top: 0.55em; width: 8px; height: 8px; }

.tr-stimmen__reihe, .tr-ott-stimmen__reihe { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.tr-zitat { height: 100%; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; padding: clamp(24px, 2.6vw, 36px); border-radius: var(--r); background-color: #fff; }
.tr-zitat__text { margin: 0; }
.tr-zitat__text p { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.55rem); line-height: 1.35; letter-spacing: -0.015em; }
.tr-zitat__name { padding-top: 14px; border-top: 1px solid var(--linie); font-size: var(--klein); font-weight: 600; color: var(--tinte-2); }

.tr-person { display: grid; gap: 0; border-radius: var(--r); background-color: #fff; overflow: hidden; }
.tr-person__bild img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 30%; }
.tr-person__text { display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: clamp(22px, 2.4vw, 32px); }
.tr-person__text blockquote { margin: 0; display: grid; gap: 12px; }
.tr-person__text blockquote p { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.08rem, 1rem + 0.35vw, 1.25rem); line-height: 1.4; }

.tr-termin { scroll-margin-top: 64px; }
.tr-termin__raster { align-items: start; }
.tr-termin__text h2 { max-width: 14ch; }
.tr-termin__text p { margin: 18px 0 0; max-width: 36ch; color: var(--tinte-gelb); }
.tr-termin__tel a { color: var(--tinte); font-weight: 600; white-space: nowrap; }
.tr-termin__text .pfeil-link { color: var(--tinte); }
.tr-termin__karte { min-width: 0; }

.tr-einf__raster { align-items: start; }
.tr-einf__text h2 { max-width: 20ch; }
.tr-einf__lead { max-width: 52ch; }
.tr-einf__text > p:not(.kz-lead) { margin: 18px 0 0; max-width: 62ch; color: var(--tinte-2); }
.tr-siegel { justify-self: start; display: block; width: clamp(140px, 22vw, 240px); border-radius: 50%; }
.tr-siegel img { width: 100%; height: auto; }
.tr-fakten--vier { margin-top: 0; }
.tr-pdf { font-weight: 500; }

.tr-reiter__leiste { display: flex; gap: 8px; margin: 0 0 clamp(24px, 3vw, 40px); padding: 0 0 4px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.tr-reiter__leiste::-webkit-scrollbar { display: none; }
.tr-reiter__leiste[hidden] { display: none; }
.tr-reiter__knopf { flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 20px; border: 1.5px solid var(--linie-stark); border-radius: 999px; background-color: transparent; color: var(--tinte); font-family: var(--font-display); font-weight: 600; font-size: 0.98rem; line-height: 1.25; text-align: left; cursor: pointer; transition: background-color .3s var(--sanft), border-color .3s var(--sanft); }
.tr-reiter__knopf:hover { border-color: var(--tinte); }
.tr-reiter__knopf[aria-selected="true"] { background-color: var(--tinte); border-color: var(--tinte); color: #fff; }
.tr-reiter__nr { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background-color: var(--gelb); color: var(--tinte); font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.tr-reiter__zahl { font-weight: 500; opacity: .7; font-variant-numeric: tabular-nums; }
.tr-reiter__feld + .tr-reiter__feld { margin-top: clamp(48px, 6vw, 80px); }
.tr-reiter.ist-reiter .tr-reiter__feld + .tr-reiter__feld { margin-top: 0; }
.tr-reiter.ist-reiter .tr-reiter__feld[hidden] { display: none; }
.tr-reiter.ist-reiter .tr-reiter__titel { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.tr-reiter.ist-reiter .tr-reiter__feld { animation: tr-feld-auf .45s var(--sanft) both; }
@keyframes tr-feld-auf { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.tr-reiter--gross .tr-reiter__knopf { min-height: 54px; font-size: clamp(1rem, 0.94rem + 0.3vw, 1.15rem); }

.tr-feld { display: grid; gap: clamp(24px, 4vw, 64px); align-items: start; }
.tr-feld__bild { border-radius: var(--r); overflow: hidden; }
.tr-feld__bild img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 32%; }
.tr-feld__text > h2, .tr-feld__text > h3 { margin: 0 0 16px; }
.tr-feld__text > p { margin: 0 0 14px; max-width: 64ch; color: var(--tinte-2); }
.tr-feld__text .kz-liste { margin: 8px 0 18px; }
.tr-feld__text .kz-liste--haken { margin-top: 0; }
.tr-feld__text > p.tr-feld__zwischen { color: var(--tinte); font-weight: 600; }
.tr-feld__text > p.tr-feld__satz { margin-top: 6px; color: var(--tinte); }
.tr-feld .kz-aktion { margin-top: 24px; }
.tr-feld__text > p.tr-schritt__rahmen { padding: 16px 18px; border-left: 3px solid var(--gelb); background-color: var(--papier); color: var(--tinte); }
.tr-schritt__rahmen a { color: var(--tinte); font-weight: 600; }
.kz-band--grau .tr-schritt__rahmen { background-color: #fff; }

.tr-fragen__gruppe { margin: 0 0 8px; }
.tr-fragen .aufklapper__antwort > p:first-child { margin-top: 0; }
.tr-fragen__knopf { margin: 18px 0 4px; }
.tr-fragen .aufklapper { max-width: 900px; }
.tr-fragen .aufklapper__eintrag { scroll-margin-top: 96px; }

.tr-reiter .knopf, .held .knopf, .tr-termin .knopf { height: auto; min-height: 52px; padding-block: 12px; text-align: center; }

@media (max-width: 759px) {
  .tr-www__reihe.wisch { grid-auto-columns: min(84%, 320px); }
  .tr-preise__reihe.wisch { grid-auto-columns: min(86%, 330px); }
  .tr-stimmen__reihe.wisch, .tr-ott-stimmen__reihe.wisch { grid-auto-columns: min(86%, 330px); }
  .tr-reiter__leiste { margin-inline: calc(-1 * var(--rand)); padding-inline: var(--rand); scroll-padding-inline: var(--rand); }
  .tr-reiter--schritte .tr-reiter__wort { max-width: 19ch; }
  .tr-feld__bild img { aspect-ratio: 3 / 2; }
  .tr-feld--schritt .tr-feld__bild img { aspect-ratio: 4 / 3; }
}

@media (min-width: 760px) {
  .tr-www__reihe, .tr-preise__reihe, .tr-stimmen__reihe { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tr-www__bild img { aspect-ratio: 4 / 5; }
  .tr-ott-stimmen__reihe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .tr-weg__raster { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
  .tr-ott__raster { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
  .tr-termin__raster { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
  .tr-termin__text { position: sticky; top: calc(var(--kopfhoehe) + 32px); }
  .tr-einf__raster { grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); }
  .tr-einf__raster .tr-siegel { justify-self: end; }
  .tr-fakten--vier { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; border-top: 0; }
  .tr-fakten--vier li { border-top: 1.5px solid var(--tinte); border-bottom: 0; }
  .tr-feld { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .tr-feld__bild img { aspect-ratio: 4 / 5; }
  .tr-feld--schritt .tr-feld__bild img { aspect-ratio: 1 / 1; }
  .tr-person { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .tr-person__bild img { height: 100%; aspect-ratio: auto; min-height: 340px; }
}
@media (min-width: 1100px) {
  .tr-reiter--schritte .tr-reiter__leiste { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .tr-reiter--schritte .tr-reiter__leiste[hidden] { display: none; }
  .tr-reiter--schritte .tr-reiter__knopf { border-radius: var(--r-klein); align-items: flex-start; padding: 14px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .tr-reiter.ist-reiter .tr-reiter__feld { animation: none; }
  .tr-reiter__knopf { transition: none; }
}

.seite-training .held .held__titel.lw-17 { font-size: clamp(1.9rem, 1.2rem + 2.1vw, 3.1rem); max-width: 18ch; }

.tr-feld--schritt .tr-feld__text > p { font-size: var(--gross); line-height: 1.6; color: var(--tinte); }
.tr-feld--schritt .tr-feld__text > p.tr-schritt__rahmen { font-size: var(--text); }

.tr-person__bild, .tr-person__bild picture { display: block; height: 100%; }

.tr-termin__text h2 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.8rem); max-width: none; }
@media (min-width: 900px) { .tr-termin__raster { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
