

@font-face { font-family: 'Fira Sans'; src: url('../fonts/fira-sans-light.woff2') format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/fira-sans-regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/fira-sans-semibold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/fira-sans-bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }

:root {

  --mint: #9FC7AA;
  --mint-tief: #4A6E54;
  --mint-hell: #E7F1EA;
  --mint-glas: rgba(159, 199, 170, .16);
  --anthrazit: #3C3C3B;
  --anthrazit-tief: #2B2B2A;
  --grau: #706F6F;
  --grau-hell: #C9C9C7;
  --flaeche: #F4F4F2;
  --linie: #DADAD6;
  --weiss: #FFFFFF;
  --physio: #203986;
  --ergologo: #951B81;

  --color-bg: var(--weiss);
  --color-surface: var(--flaeche);
  --color-text: var(--anthrazit);
  --color-muted: var(--grau);
  --color-primary: var(--mint-tief);
  --color-border: var(--linie);

  --font-body: 'Fira Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --font-display: var(--font-body);

  --radius: 6px;
  --radius-knopf: 10px;
  --facette: 26px;

  --container: 1240px;
  --rand: clamp(18px, 4vw, 40px);
  --abstand: clamp(64px, 9vw, 128px);
  --schatten: 0 18px 40px -24px rgba(43, 43, 42, .45);
  --kopf-hoehe: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
html, body { overflow-x: clip; }

html { touch-action: manipulation; }
body { margin: 0; font-family: var(--font-body); font-weight: 400; font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.65; color: var(--anthrazit); background: var(--weiss); overflow-wrap: break-word; hyphens: manual; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg, video { display: block; max-width: 100%; height: auto; }
picture { display: block; }
a { color: var(--mint-tief); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--anthrazit); }
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.15; font-weight: 300; letter-spacing: -.01em; }
h3 { font-weight: 600; font-size: 1.2rem; line-height: 1.3; letter-spacing: 0; }
strong, b { font-weight: 700; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
figure, blockquote, dl, dd { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--mint-tief); outline-offset: 3px; border-radius: 2px; }
.abschnitt--dunkel :focus-visible, .hero :focus-visible, .fuss :focus-visible, .teaser :focus-visible, .werde :focus-visible { outline-color: var(--mint); }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 200; background: var(--anthrazit); color: var(--weiss); padding: 10px 16px; border-radius: var(--radius); }
.skip-link:focus { top: 12px; color: var(--weiss); }

h1, h2 { hyphens: manual; -webkit-hyphens: manual; text-wrap: balance; }
h3, h4 { hyphens: manual; -webkit-hyphens: manual; text-wrap: pretty; }
dt, dd, th, td { hyphens: auto; -webkit-hyphens: auto; }
.nur-vorlesen, .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--rand); }
main { display: block; }

.sk, .kicker__zeichen, .zahl__sk, .wert__sk, .zitat__sk, .auszeichnung__sk, .karriereband__sk, .stelle-karte__sk { fill: none; stroke: currentColor; stroke-linejoin: miter; stroke-linecap: square; }
.kicker { display: flex; align-items: center; gap: .6em; margin: 0 0 1rem; font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mint-tief); }
.kicker__zeichen { width: 15px; height: 16px; flex: none; stroke-width: 9; color: var(--mint-tief); }
.kicker--hell, .kicker--hell .kicker__zeichen { color: var(--mint); }
.facette { clip-path: polygon(0 0, calc(100% - var(--facette)) 0, 100% var(--facette), 100% 100%, 0 100%); border-radius: var(--radius); overflow: hidden; }

.titel { font-size: clamp(2rem, 1.35rem + 2.4vw, 3.25rem); font-weight: 300; line-height: 1.12; margin-bottom: .55em; max-width: 22ch; }
.titel strong { font-weight: 700; }
.titel--hell { color: var(--weiss); }
.titel--mitte { margin-left: auto; margin-right: auto; text-align: center; }
.lead { font-size: clamp(1.06rem, 1rem + .35vw, 1.25rem); line-height: 1.6; }
.text-max { max-width: 68ch; }

.knopfreihe { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.6rem 0 0; }
.knopfreihe--mitte { justify-content: center; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: .72em 1.35em; border: 1.5px solid transparent; border-radius: var(--radius-knopf); font-weight: 600; font-size: 1rem; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.btn:active { transform: translateY(1px); }
.btn--primaer, .btn--primary { background: var(--mint); color: var(--anthrazit); }
.btn--primaer:hover, .btn--primary:hover { background: var(--mint-tief); color: var(--weiss); }
.btn--hell { border-color: rgba(255,255,255,.75); color: var(--weiss); background: rgba(43,43,42,.25); }
.btn--hell:hover { background: var(--weiss); color: var(--anthrazit); }
.btn--umriss { border-color: var(--anthrazit); color: var(--anthrazit); background: transparent; }
.btn--umriss:hover { background: var(--anthrazit); color: var(--weiss); }
.btn--dunkel { background: var(--anthrazit); color: var(--weiss); }
.btn--dunkel:hover { background: var(--anthrazit-tief); color: var(--mint); }
.btn--klein { min-height: 44px; padding: .55em 1.05em; font-size: .9375rem; }

.site-header { position: absolute; inset: 0 0 auto 0; z-index: 50; color: var(--weiss); transition: background-color .25s, box-shadow .25s, transform .3s; }
.kopf { display: flex; align-items: center; gap: 24px; max-width: 1440px; margin: 0 auto; padding: 18px var(--rand); min-height: var(--kopf-hoehe); }
.logo { display: block; flex: none; line-height: 0; }
.logo img { width: clamp(170px, 14vw, 212px); height: auto; }
.logo__dunkel { display: none !important; }
.site-nav { margin-left: auto; }
.nav { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.nav__punkt { position: relative; }
.nav a { display: block; padding: 10px 12px; color: inherit; text-decoration: none; font-weight: 400; font-size: 1rem; border-radius: var(--radius); }
.nav > li > a[aria-current="page"] { font-weight: 600; box-shadow: inset 0 -2px 0 var(--mint); border-radius: 0; }
.nav a:hover { color: var(--mint); }
.nav__unter { position: absolute; left: 0; top: 100%; min-width: 250px; list-style: none; margin: 0; padding: 10px; background: var(--weiss); border-radius: var(--radius); box-shadow: var(--schatten); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; }
.nav__unter a { color: var(--anthrazit); padding: 10px 12px; }
.nav__unter a:hover { background: var(--mint-hell); color: var(--anthrazit); }
.nav__punkt--unter:hover .nav__unter, .nav__punkt--unter:focus-within .nav__unter { opacity: 1; visibility: visible; transform: none; }
.nav__kontakt, .nav__nr, .nav__sk { display: none; }
.kopf__aktion { display: flex; align-items: center; gap: 14px; }
.kopf__tel { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-weight: 600; white-space: nowrap; min-height: 44px; }
.kopf__tel svg { width: 18px; height: 18px; fill: currentColor; }
.kopf__tel:hover { color: var(--mint); }
.burger { display: none; width: 46px; height: 46px; border: 0; background: transparent; padding: 11px 10px; cursor: pointer; color: inherit; }
.burger span { display: block; height: 2px; margin: 6px 0; background: currentColor; transition: transform .25s, opacity .2s; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.site-header.ist-fest, .kopf-hell .site-header, .site-header--funnel { position: fixed; background: var(--weiss); color: var(--anthrazit); box-shadow: 0 1px 0 var(--linie); }
.site-header.ist-fest .logo__hell, .kopf-hell .site-header .logo__hell { display: none !important; }
.site-header.ist-fest .logo__dunkel, .kopf-hell .site-header .logo__dunkel { display: block !important; }
.site-header.ist-fest .kopf { min-height: 70px; padding-top: 10px; padding-bottom: 10px; }
.site-header.ist-fest .nav a:hover, .kopf-hell .nav a:hover, .site-header.ist-fest .kopf__tel:hover { color: var(--mint-tief); }
.site-header.ist-weg { transform: translateY(-100%); }
.kopf-hell main { padding-top: var(--kopf-hoehe); }
.site-header--funnel { position: absolute; }

@media (max-width: 1180px) { .kopf__tel span { display: none; } }
@media (max-width: 1023px) {
  .burger { display: block; border-radius: 50%; transition: background-color .3s, color .3s; }
  .kopf__aktion .btn { display: none; }

  .site-nav { position: fixed; inset: 0; width: auto; margin: 0; display: flex; flex-direction: column; padding: calc(var(--kopf-hoehe) + 4px) var(--rand) calc(20px + env(safe-area-inset-bottom)); background: radial-gradient(120% 60% at 100% 100%, rgba(159,199,170,.14), rgba(159,199,170,0) 62%), var(--anthrazit-tief); color: var(--weiss); opacity: 0; visibility: hidden; pointer-events: none; overflow: hidden; transition: opacity .32s ease, visibility 0s linear .32s; z-index: -1; }
  .site-nav.ist-offen { opacity: 1; visibility: visible; pointer-events: auto; overflow-y: auto; overscroll-behavior: contain; transition: opacity .32s ease, visibility 0s; }
  .nav { flex-direction: column; gap: 0; }
  .nav > li, .nav__kontakt { opacity: 0; transform: translateY(18px); transition: opacity .4s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
  .ist-offen .nav > li, .ist-offen .nav__kontakt { opacity: 1; transform: none; }
  .ist-offen .nav > li:nth-child(1) { transition-delay: .06s; } .ist-offen .nav > li:nth-child(2) { transition-delay: .11s; }
  .ist-offen .nav > li:nth-child(3) { transition-delay: .16s; } .ist-offen .nav > li:nth-child(4) { transition-delay: .21s; }
  .ist-offen .nav > li:nth-child(5) { transition-delay: .26s; } .ist-offen .nav > li:nth-child(6) { transition-delay: .31s; }
  .ist-offen .nav__kontakt { transition-delay: .36s; }
  .nav > li > a { display: flex; align-items: flex-start; gap: 10px; padding: 5px 0; font-size: clamp(1.55rem, 1.1rem + 2.2vw, 2.3rem); font-weight: 300; line-height: 1.12; letter-spacing: -.02em; color: var(--weiss) !important; }
  .nav__nr { display: block; flex: none; width: 1.5rem; padding-top: .7em; font-size: .72rem; font-weight: 600; letter-spacing: .14em; line-height: 1; color: var(--mint); }
  .nav > li > a[aria-current="page"] { box-shadow: none; padding-left: 0; font-weight: 400; color: var(--mint) !important; }
  .nav__unter { position: static; display: flex; flex-wrap: wrap; gap: 8px; opacity: 1; visibility: visible; transform: none; background: transparent; box-shadow: none; padding: 4px 0 10px calc(1.5rem + 10px); min-width: 0; }
  .nav__unter li { flex: none; }
  .nav__unter a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); color: var(--grau-hell) !important; font-size: .88rem; background: rgba(43,43,42,.92); }
  .nav__unter a:hover, .nav__unter a:active { background: var(--mint-glas); border-color: var(--mint); color: var(--weiss) !important; }
  .nav__kontakt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: auto; padding-top: 22px; }
  .nav__termin { grid-column: 1 / -1; width: 100%; }
  .nav__kanal { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 64px; padding: 10px 14px; border-radius: var(--radius); background: rgba(255,255,255,.06); color: var(--weiss); font-size: .85rem; font-weight: 600; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
  .nav__kanal span { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mint); }
  .nav__kanal:hover { background: var(--mint-glas); color: var(--weiss); }
  .nav__sk { display: block; position: absolute; z-index: -1; right: -48vw; top: 2vh; width: min(96vw, 560px); height: auto; fill: none; stroke: rgba(159,199,170,.16); stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-dasharray: 100; stroke-dashoffset: 100; pointer-events: none; }
  .ist-offen .nav__sk { stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s cubic-bezier(.6,.05,.2,1) .15s; }
  .ist-menue-offen .site-header { position: fixed; color: var(--weiss); transform: none; }
  .ist-menue-offen .kopf__tel { opacity: 0; pointer-events: none; }

  .burger[aria-expanded="true"] { background: var(--mint); color: var(--anthrazit); }
  body.ist-menue-offen, html.ist-menue-offen { overflow: hidden; }

  .ist-menue-offen .site-header.ist-fest, .kopf-hell .ist-menue-offen .site-header, .ist-menue-offen.kopf-hell .site-header { background: transparent; box-shadow: none; color: var(--weiss); }
  .ist-menue-offen .site-header .logo__hell { display: block !important; }
  .ist-menue-offen .site-header .logo__dunkel { display: none !important; }
  .ist-menue-offen .leiste { transform: translateY(110%) !important; }

  .kopf__aktion { margin-left: auto; gap: 6px; }
  .burger { margin-right: -10px; }
}

.hero { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; min-height: 100svh; color: var(--weiss); background: var(--anthrazit-tief); overflow: hidden; }
.hero__medien { position: absolute; inset: 0; z-index: -3; }
.hero__medien picture, .hero__medien img, .hero__video { width: 100%; height: 100%; object-fit: cover; }
.hero__medien--links img { object-position: 20% 50%; }
.hero__medien--rechts img { object-position: 80% 50%; }
.hero__medien--oben img { object-position: 50% 20%; }
.hero__medien--unten img { object-position: 50% 80%; }
.hero__poster, .hero__video { position: absolute; inset: 0; }

.hero__verlauf { position: absolute; inset: 0; z-index: -2; background:
  linear-gradient(90deg, rgba(43,43,42,.82) 0%, rgba(43,43,42,.78) 46%, rgba(43,43,42,.4) 58%, rgba(43,43,42,0) 67%),
  linear-gradient(180deg, rgba(43,43,42,.55) 0%, rgba(43,43,42,0) 18%); }
.hero__fenster { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; overflow: visible; }
.hero__fenster--mobil { display: none; }

.hero__fenster--schleier, .hero__fenster--linie { transform: translateZ(0); }
.fenster__schleier { fill: rgba(43,43,42,.58); transition: fill-opacity .6s; }
.fenster__glas { fill: rgba(159,199,170,.06); }
.fenster__linie { fill: none; stroke: var(--mint); stroke-linejoin: miter; vector-effect: non-scaling-stroke; stroke-width: 2.5px; stroke-dasharray: 100; stroke-dashoffset: 0; }
.fenster__echo { fill: none; stroke: rgba(255,255,255,.35); vector-effect: non-scaling-stroke; stroke-width: 1px; }
.splitter { fill: var(--mint); opacity: .85; transform-box: fill-box; transform-origin: center; }
.ist-js .fenster__linie { stroke-dashoffset: 100; animation: zeichnen 2.4s cubic-bezier(.6,.05,.2,1) .2s forwards; }
.ist-js .fenster__echo { opacity: 0; animation: einblenden-echo 1.2s ease 1.6s forwards; }
@keyframes zeichnen { to { stroke-dashoffset: 0; } }
@keyframes einblenden-echo { to { opacity: 1; } }
@keyframes splittern { 0% { transform: translate(0,0) rotate(0); opacity: 0; } 15% { opacity: .9; } 100% { transform: translate(9px,-7px) rotate(40deg); opacity: 0; } }
.ist-js .splitter { opacity: 0; animation: splittern 4.8s ease-out infinite; }
.ist-js .s2 { animation-delay: .9s; } .ist-js .s3 { animation-delay: 1.8s; } .ist-js .s4 { animation-delay: 2.7s; } .ist-js .s5 { animation-delay: 3.6s; }
.ist-js .s1 { animation-delay: 2.6s; }

.hero__inhalt { width: 100%; max-width: var(--container); margin: 0 auto; padding: calc(var(--kopf-hoehe) + 24px) var(--rand) 96px; }
.hero__text { max-width: 640px; }

.hero__titel { hyphens: manual; -webkit-hyphens: manual; }
@media (min-width: 861px) { .hero__text { max-width: 800px; } .hero__lead { max-width: 54ch; } }

@media (min-width: 861px) { .hero__titel { max-width: calc(100vw - min(100vw * .475, 100svh * .76) - max((100vw - var(--container)) / 2, 0px) - var(--rand) - 32px); } }
@media (min-width: 861px) and (max-width: 1199px) { .hero__titel { font-size: clamp(2.5rem, .6rem + 3.6vw, 3.4rem); } }
.hero__titel { font-size: clamp(2.5rem, 1.5rem + 3.6vw, 4.6rem); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; margin: 0 0 .45em; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
.hero__titel strong { font-weight: 700; color: var(--mint); }
.w { display: inline-block; }
.ist-js .w { opacity: 0; transform: translateY(.45em); animation: wort .7s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes wort { to { opacity: 1; transform: none; } }
.w1{animation-delay:.15s}.w2{animation-delay:.23s}.w3{animation-delay:.31s}.w4{animation-delay:.39s}.w5{animation-delay:.47s}.w6{animation-delay:.55s}.w7{animation-delay:.63s}.w8{animation-delay:.71s}.w9{animation-delay:.79s}.w10{animation-delay:.87s}.w11{animation-delay:.95s}.w12{animation-delay:1.03s}.w13{animation-delay:1.11s}.w14{animation-delay:1.19s}.w15{animation-delay:1.27s}.w16{animation-delay:1.35s}.w17,.w18,.w19,.w20,.w21,.w22,.w23,.w24{animation-delay:1.43s}
.hero__lead { font-size: clamp(1.04rem, 1rem + .3vw, 1.2rem); line-height: 1.6; max-width: 54ch; text-shadow: 0 1px 14px rgba(0,0,0,.5); }
.hero__lead p { margin: 0 0 .6em; }
.hero__lead p:last-child { margin-bottom: 0; }
.ist-js .hero__lead, .ist-js .hero .knopfreihe, .ist-js .hero .kicker { opacity: 0; animation: wort .8s ease forwards; }
.ist-js .hero .kicker { animation-delay: .05s; } .ist-js .hero__lead { animation-delay: .9s; } .ist-js .hero .knopfreihe { animation-delay: 1.15s; }
.hero__weiter { position: absolute; left: 50%; bottom: 22px; width: 44px; height: 64px; margin-left: -22px; display: grid; place-items: center; color: var(--weiss); text-decoration: none; }
.hero__maus { position: relative; width: 26px; height: 42px; border: 1.5px solid rgba(255,255,255,.7); border-radius: 14px; }
.hero__weiter-text { display: none; }
.hero__maus::after { content: ""; position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--mint); animation: rollen 1.8s ease-in-out infinite; }
@keyframes rollen { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }
.hero__play, .hero__pause { position: absolute; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); background: rgba(43,43,42,.45); color: var(--weiss); cursor: pointer; border-radius: 50%; }
.hero__pause { right: var(--rand); bottom: 28px; width: 44px; height: 44px; }
.hero__pause svg { width: 15px; height: 15px; fill: currentColor; }
.hero__play { right: clamp(80px, 22vw, 340px); top: 50%; width: 88px; height: 88px; margin-top: -44px; background: var(--mint); color: var(--anthrazit); border: 0; box-shadow: 0 0 0 12px rgba(159,199,170,.28); }
.hero__play svg { width: 32px; height: 32px; fill: currentColor; margin-left: 4px; }
.anker { position: relative; top: -70px; }
@media (max-width: 860px) {
  .hero { justify-content: flex-end; }
  .hero__fenster--breit { display: none; }
  .hero__fenster--mobil { display: block; }
  .hero__verlauf { background: linear-gradient(180deg, rgba(43,43,42,.5) 0%, rgba(43,43,42,0) 14%, rgba(43,43,42,0) 30%, rgba(43,43,42,.8) 42%, rgba(43,43,42,.88) 100%); }
  .hero__inhalt { padding-top: calc(var(--kopf-hoehe) + 28vh); padding-bottom: 112px; }

  .hero--dicht:not(.hero--team) .hero__inhalt { padding-top: calc(var(--kopf-hoehe) + 12px); padding-bottom: 96px; }
  @media (max-height: 620px) { .hero--dicht .hero__titel { font-size: 1.7rem; } .hero--dicht .hero__lead { font-size: .92rem; line-height: 1.5; } }
  .hero--dicht:not(.hero--team) .hero__verlauf { background: linear-gradient(180deg, rgba(43,43,42,.55) 0%, rgba(43,43,42,.3) 12%, rgba(43,43,42,.78) 24%, rgba(43,43,42,.9) 100%); }

  .hero__weiter { width: auto; height: auto; margin-left: 0; left: 50%; bottom: 24px; transform: translateX(-50%); }
  .hero__maus { display: none; }
  .hero__weiter-text { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 8px; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mint); white-space: nowrap; }
  .hero__weiter-text svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
  .hero__titel { font-size: clamp(1.85rem, 1.2rem + 3.2vw, 2.4rem); margin-bottom: .35em; }
  .hero__lead { font-size: .97rem; line-height: 1.55; }
  .hero .kicker { margin-bottom: .6rem; }
  .hero .knopfreihe { gap: 10px; }
  .hero .btn { min-height: 46px; padding: .6em 1.1em; }
  .hero__play { display: none !important; }
  .hero__pause { bottom: 22px; right: var(--rand); }
  .hero .knopfreihe { margin-top: 1.1rem; }
}

.hero--eng .hero__fenster--mobil { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .site-nav, .nav > li, .nav__kontakt, .ist-offen .nav__sk { transition: none !important; }
  .nav__sk { stroke-dashoffset: 0; }
  .hero__video { display: none; }
  .ist-js .fenster__linie, .ist-js .fenster__echo, .ist-js .splitter, .ist-js .w, .ist-js .hero__lead, .ist-js .hero .knopfreihe, .ist-js .hero .kicker { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
  .ist-js .splitter { opacity: .6; }
  .hero__maus::after { animation: none; }
  .hero__pause, .hero__play { display: none !important; }
}

.kapitel { position: sticky; top: 70px; z-index: 40; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--linie); backdrop-filter: blur(6px); }
.kapitel__innen { max-width: var(--container); margin: 0 auto; padding: 0 var(--rand); display: flex; align-items: center; gap: 28px; }
.kapitel__titel { flex: none; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mint-tief); }
.kapitel ul { display: flex; gap: 4px 26px; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.kapitel ul::-webkit-scrollbar { display: none; }
.kapitel ul.hat-mehr { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
.kapitel ul.hat-vorher { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px); mask-image: linear-gradient(90deg, transparent, #000 56px); }
.kapitel ul.hat-vorher.hat-mehr { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); }
.kapitel li { flex: none; }
.kapitel a { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 56px; color: var(--anthrazit); text-decoration: none; white-space: nowrap; font-size: .95rem; }
.kapitel a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--mint-tief); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.kapitel a:hover::after, .kapitel a.ist-aktiv::after { transform: scaleX(1); }
.kapitel a.ist-aktiv { font-weight: 600; }
.kapitel__nr { font-size: .75rem; font-weight: 700; color: var(--mint-tief); }

@media (max-width: 860px) { .kapitel { position: relative; top: auto; } .kapitel__titel { display: none; } .kapitel__innen { padding-right: 0; } .kapitel a { min-height: 50px; } }
.zahlen { background: var(--anthrazit); color: var(--weiss); padding: clamp(48px, 7vw, 88px) 0; }
.zahlen__reihe { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0 auto; }
.zahl { position: relative; padding: 42px 10px 10px 0; }

.zahl__sk { position: absolute; left: 0; top: 0; width: 26px; height: 27px; color: var(--mint); stroke-width: 7; }
.zahl dt { position: relative; font-size: clamp(2.6rem, 1.8rem + 2.6vw, 4.4rem); font-weight: 700; line-height: 1; color: var(--weiss); font-variant-numeric: tabular-nums; }
.zahl dd { margin: 10px 0 0; color: var(--grau-hell); font-size: 1.02rem; }
.zahl--wort dt { font-size: clamp(1.7rem, 1.1rem + 1.7vw, 2.8rem); word-break: keep-all; overflow-wrap: normal; hyphens: manual; }

.zahl dt { display: flex; align-items: flex-end; min-height: clamp(2.6rem, 1.8rem + 2.6vw, 4.4rem); }
.zahl dd { hyphens: manual; -webkit-hyphens: manual; }
.zahlen__reihe:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .zahlen__reihe { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; } }
@media (max-width: 760px) { .zahlen__reihe:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .zahlen__reihe > :nth-child(3):last-child { grid-column: 1 / -1; } }
.fakten { background: var(--flaeche); padding: 28px 0; border-bottom: 1px solid var(--linie); }
.fakten__reihe { display: flex; flex-wrap: wrap; gap: 18px 56px; margin: 0 auto; }
.fakten dt { font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mint-tief); }
.fakten dd { margin: 4px 0 0; font-weight: 600; }
.fakten dd a { color: var(--anthrazit); }

.abschnitt { padding: var(--abstand) 0; position: relative; }
.abschnitt--flaeche { background: var(--flaeche); }
.abschnitt--hell { background: var(--mint-hell); }
.abschnitt--dunkel { background: var(--anthrazit); color: var(--weiss); }
.abschnitt--dunkel a:not(.btn) { color: var(--mint); }
.kopfzeile { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 48px; margin-bottom: clamp(28px, 4vw, 48px); flex-wrap: wrap; }
.kopfzeile .titel { margin-bottom: 0; }
.kopfzeile__text { max-width: 44ch; margin: 0; color: var(--grau); }
.zweispalt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.zweispalt--umgekehrt .zweispalt__bild { order: -1; }
.zweispalt--oben { align-items: start; }
.zweispalt__bild img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.zweispalt__bild--hoch img { aspect-ratio: 4 / 5; }
@media (max-width: 860px) { .zweispalt { grid-template-columns: 1fr; } .zweispalt--umgekehrt .zweispalt__bild { order: 0; } }

.partner { padding: 34px 0 30px; border-bottom: 1px solid var(--linie); }
.partner__inhalt { display: flex; align-items: center; gap: 32px; }
.partner__titel { flex: none; margin: 0; font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--grau); max-width: 9em; line-height: 1.4; }
.partner .wisch { flex: 1; min-width: 0; }
.wisch--partner .wisch__bahn { display: flex; gap: 12px; justify-content: space-between; align-items: center; }
.partner__logo { flex: 0 1 140px; display: grid; place-items: center; min-height: 72px; padding: 6px 10px; border-radius: var(--radius); }
.partner__logo img { max-height: 60px; width: auto; filter: grayscale(1); opacity: .78; transition: filter .25s, opacity .25s; }
.partner__logo:hover img, .partner__logo:focus-visible img { filter: none; opacity: 1; }
@media (max-width: 860px) { .partner__inhalt { flex-direction: column; align-items: flex-start; gap: 14px; } .partner .wisch { width: 100%; } }

.wisch { position: relative; }
.wisch__bahn { display: grid; gap: clamp(16px, 2vw, 28px); }
.wisch__fortschritt { display: none; }
.wisch--karten .wisch__bahn { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wisch--werte .wisch__bahn { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.wisch--zitate .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wisch--bewertungen .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wisch--bilder .wisch__bahn, .wisch--video .wisch__bahn { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.wisch--bilder .wisch__bahn::-webkit-scrollbar, .wisch--video .wisch__bahn::-webkit-scrollbar { display: none; }
.wisch--bilder .einblick { flex: 0 0 clamp(280px, 40vw, 560px); scroll-snap-align: start; }
.wisch--bilder .wisch__fortschritt, .wisch--video .wisch__fortschritt { display: block; }
.wisch--stellen .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wisch__fortschritt { height: 2px; margin-top: 18px; background: var(--linie); position: relative; overflow: hidden; }
.wisch__fortschritt i { position: absolute; left: 0; top: 0; bottom: 0; width: 30%; background: var(--mint-tief); transform-origin: left; }
.abschnitt--dunkel .wisch__fortschritt { background: rgba(255,255,255,.18); }
.abschnitt--dunkel .wisch__fortschritt i { background: var(--mint); }
@media (max-width: 1023px) { .wisch--karten .wisch__bahn, .wisch--stellen .wisch__bahn { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wisch--zitate .wisch__bahn, .wisch--bewertungen .wisch__bahn { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .wisch .wisch__bahn { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--rand) * -1); padding: 0 var(--rand) 4px; scroll-padding: 0 var(--rand); gap: 14px; }
  .wisch .wisch__bahn::-webkit-scrollbar { display: none; }
  .wisch .wisch__bahn > * { flex: 0 0 84%; scroll-snap-align: start; }
  .wisch--partner .wisch__bahn > * { flex: 0 0 42%; }
  .wisch .wisch__fortschritt { display: block; }
}

.karte { display: flex; flex-direction: column; background: var(--weiss); color: var(--anthrazit); text-decoration: none; border-radius: var(--radius); box-shadow: var(--schatten); transition: transform .3s; position: relative; height: 100%; }
.karte:hover { transform: translateY(-4px); color: var(--anthrazit); }
.karte__bild img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.karte__text { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px 24px; flex: 1; border-top: 3px solid var(--mint); }
.karte--physio .karte__text { border-top-color: var(--physio); }
.karte--ergologo .karte__text { border-top-color: var(--ergologo); }
.karte__titel { margin: 0; font-size: 1.3rem; font-weight: 600; }
.karte__zeile { color: var(--grau); }
.karte__mehr { margin-top: auto; padding-top: 12px; font-weight: 600; color: var(--mint-tief); display: inline-flex; align-items: center; gap: 8px; }
.karte__mehr::after { content: ""; width: 22px; height: 1.5px; background: currentColor; transition: width .25s; }
.karte:hover .karte__mehr::after { width: 34px; }

.auszeichnung__raster { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.auszeichnung__siegel { position: relative; display: grid; place-items: center; padding: 40px; }
.auszeichnung__siegel img { position: relative; width: min(240px, 60vw); }
.auszeichnung__sk { position: absolute; inset: 0; margin: auto; width: 100%; max-width: 400px; color: var(--mint); stroke-width: 1.2; }
@media (max-width: 860px) { .auszeichnung__raster { grid-template-columns: 1fr; } }

.stimmen__kopf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; margin-bottom: clamp(36px, 5vw, 64px); }
@media (max-width: 860px) { .stimmen__kopf { grid-template-columns: 1fr; } }
.zitat { position: relative; padding: 34px 28px 28px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); display: flex; flex-direction: column; height: 100%; }
.zitat__sk { position: absolute; top: -14px; left: 26px; width: 30px; height: 32px; color: var(--mint); stroke-width: 7; background: var(--anthrazit); padding: 2px 4px; }
.zitat blockquote p { font-size: 1.08rem; line-height: 1.6; margin: 0 0 18px; }
.zitat figcaption { margin-top: auto; display: flex; flex-direction: column; }
.zitat figcaption b { color: var(--mint); }
.zitat figcaption span { color: var(--grau-hell); font-size: .9rem; }
.bewertung { background: var(--weiss); padding: 26px 26px 22px; border-radius: var(--radius); border-top: 3px solid var(--mint); display: flex; flex-direction: column; height: 100%; }
.bewertung blockquote p { margin: 0 0 18px; }
.bewertung figcaption { margin-top: auto; display: flex; flex-direction: column; font-size: .95rem; }
.bewertung figcaption span { color: var(--grau); font-size: .875rem; }
.pw-bewertungen-hinweis { margin: 22px 0 0; max-width: 72ch; text-align: left; font-size: .9rem; color: var(--anthrazit); text-wrap: pretty; }
.abschnitt--dunkel .pw-bewertungen-hinweis { color: var(--grau-hell); }

.video { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--anthrazit-tief); aspect-ratio: 16 / 9; clip-path: polygon(0 0, calc(100% - var(--facette)) 0, 100% var(--facette), 100% 100%, 0 100%); }
.video img, .video video { width: 100%; height: 100%; object-fit: cover; }
.video__start { position: absolute; inset: 0; display: grid; place-items: end start; border: 0; background: linear-gradient(0deg, rgba(43,43,42,.45), rgba(43,43,42,0) 45%); cursor: pointer; padding: clamp(14px, 2vw, 24px); }

.video__ring { display: grid; place-items: center; width: 86px; height: 86px; border-radius: 50%; background: var(--mint); color: var(--anthrazit); box-shadow: 0 0 0 10px rgba(159,199,170,.28); transition: transform .25s, box-shadow .25s; }
.video__ring svg { width: 34px; height: 34px; fill: currentColor; margin-left: 4px; }
.video__start:hover .video__ring, .video__start:focus-visible .video__ring { transform: scale(1.06); box-shadow: 0 0 0 16px rgba(159,199,170,.22); }
.video.video--laeuft .video__start { display: none; }
.video__ohnejs { position: absolute; left: 16px; bottom: 16px; background: var(--mint); color: var(--anthrazit); padding: 8px 14px; border-radius: var(--radius); }

.werde, .teaser { position: relative; isolation: isolate; color: var(--weiss); min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--kopf-hoehe, 72px) + 24px) 0 48px; box-sizing: border-box; overflow: hidden; background: var(--anthrazit-tief); }
.werde__bild, .teaser__bild { position: absolute; inset: 0; z-index: -2; }
.werde__bild img, .teaser__bild img { width: 100%; height: 100%; object-fit: cover; }
.werde::before, .teaser::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(43,43,42,.92) 0%, rgba(43,43,42,.8) 40%, rgba(43,43,42,.35) 100%); }
.werde__inhalt p, .teaser__inhalt p { font-size: 1.15rem; max-width: 46ch; }
.werde .titel, .teaser .titel { max-width: 18ch; }
@media (max-width: 860px) { .werde::before, .teaser::before { background: rgba(43,43,42,.82); } .werde, .teaser { min-height: 0; padding: 72px 0; } }

.einblicke__kopf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 72px); margin-bottom: clamp(28px, 4vw, 48px); align-items: end; }
.einblicke__text p:last-child { margin-bottom: 0; }
.einblick img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.social-links { display: flex; gap: 22px; }
.social-links a { font-weight: 600; }
@media (max-width: 860px) { .einblicke__kopf { grid-template-columns: 1fr; } }

.werte .titel { margin-bottom: clamp(28px, 4vw, 52px); }
.wert { padding: 28px 24px 26px; border-top: 1px solid rgba(255,255,255,.22); height: 100%; }
.wert__nr { position: relative; display: grid; place-items: center; width: 46px; height: 48px; margin-bottom: 18px; color: var(--mint); }
.wert__sk { position: absolute; inset: 0; width: 46px; height: 48px; stroke-width: 5; }
.wert__nr b { font-size: .95rem; font-weight: 700; }
.wert h3 { color: var(--weiss); margin-bottom: 10px; }
.wert p { color: var(--grau-hell); margin: 0; }
.werte--physio .wert { border-top-color: rgba(159,199,170,.5); }

.leistungsliste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 5vw, 80px); counter-reset: ll; }
.leistungsliste li { counter-increment: ll; display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 4px 12px; align-items: baseline; padding: 20px 0; border-top: 1px solid var(--linie); }
.leistungsliste li::before { content: counter(ll, decimal-leading-zero); grid-row: span 2; font-weight: 700; color: var(--mint-tief); font-size: .95rem; }
.leistungsliste h3 { margin: 0; font-size: 1.15rem; }
.leistungsliste span { color: var(--grau); }
.leistungsliste--physio li::before { color: var(--physio); }
.leistungsliste--ergologo li::before { color: var(--ergologo); }
@media (max-width: 760px) { .leistungsliste { grid-template-columns: 1fr; } }

.bereich { padding: clamp(28px, 4vw, 48px) 0; border-top: 1px solid var(--linie); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.bereich:first-of-type { border-top: 0; }
.bereich__bild img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.bereich__titel { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); font-weight: 300; margin: 0 0 .3em; }
.bereich__titel a { color: var(--anthrazit); text-decoration: none; }
.bereich__titel a:hover { color: var(--mint-tief); }
.bereich__zeile { font-size: 1.1rem; color: var(--grau); margin-bottom: 1rem; }
.bereich__liste { columns: 2; column-gap: 28px; list-style: none; padding: 0; margin: 0 0 1.4rem; }
.bereich__liste li { break-inside: avoid; padding: 6px 0 6px 16px; position: relative; }
.bereich__liste li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 7px; height: 1.5px; background: var(--mint-tief); }
.gruppe__titel { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--grau); margin: 0 0 8px; }
@media (max-width: 860px) { .bereich { grid-template-columns: 1fr; } .bereich__liste { columns: 1; } }

.schritte { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); counter-reset: s; }
.schritte li { counter-increment: s; padding-top: 22px; border-top: 2px solid var(--mint); }
.schritte li::before { content: counter(s, decimal-leading-zero); display: block; font-size: 2.4rem; font-weight: 300; color: var(--mint-tief); line-height: 1; margin-bottom: 14px; }
.schritte h3 { margin-bottom: 8px; }
.schritte p { margin: 0; color: var(--grau); }
@media (max-width: 860px) { .schritte { grid-template-columns: 1fr; } }

.klapp { border-top: 1px solid var(--linie); }
.klapp:last-child { border-bottom: 1px solid var(--linie); }
.klapp summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 20px 0; font-weight: 600; font-size: 1.1rem; min-height: 44px; }
.klapp summary::-webkit-details-marker { display: none; }
.klapp summary::after { content: ""; flex: none; width: 14px; height: 14px; margin-right: 4px; border-right: 2px solid var(--mint-tief); border-bottom: 2px solid var(--mint-tief); transform: rotate(45deg) translate(-3px, -3px); transition: transform .25s; }
.klapp[open] summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
.klapp__inhalt { padding: 0 0 22px; max-width: 72ch; }
.klapp__inhalt h4 { font-weight: 600; font-size: 1.05rem; margin: 1.2em 0 .4em; }
.abschnitt--dunkel .klapp { border-color: rgba(255,255,255,.18); }
.abschnitt--dunkel .klapp summary::after { border-color: var(--mint); }

.thema { padding: clamp(48px, 7vw, 96px) 0; border-top: 1px solid var(--linie); }
.thema:first-of-type { border-top: 0; }
.thema__titel { font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.75rem); font-weight: 300; margin-bottom: .5em; }
.thema__titel strong { font-weight: 700; }

.themen__kicker { margin-top: clamp(48px, 7vw, 96px); }
.themen__leiste { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 0; }
.themen__reiter { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border: 1px solid var(--linie); border-radius: 999px; background: var(--weiss); color: var(--anthrazit); font: inherit; font-size: .98rem; cursor: pointer; transition: border-color .25s, background .25s, color .25s; }
.themen__reiter:hover { border-color: var(--mint-tief); }
.themen__reiter:focus-visible { outline: 3px solid var(--mint-tief); outline-offset: 2px; }
.themen__nr { font-size: .75rem; font-weight: 700; color: var(--mint-tief); font-variant-numeric: tabular-nums; }
.themen__reiter[aria-selected="true"] { background: var(--anthrazit); border-color: var(--anthrazit); color: var(--weiss); }
.themen__reiter[aria-selected="true"] .themen__nr { color: var(--mint); }
.themen--an > .thema { border-top: 0; padding-top: clamp(28px, 4vw, 48px); }
.themen--an > .thema.ist-neu { animation: zitat-rein .5s ease both; }
@media (min-width: 861px) { .themen__leiste { position: sticky; top: 70px; z-index: 30; padding: 12px 0; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); } }
@media (max-width: 860px) { .themen__leiste { flex-wrap: nowrap; overflow-x: auto; margin: 6px calc(var(--rand) * -1) 0; padding: 0 var(--rand) 4px; scrollbar-width: none; scroll-padding-inline: var(--rand); } .themen__leiste::-webkit-scrollbar { display: none; } .themen__reiter { flex: 0 0 auto; } }
@media (prefers-reduced-motion: reduce) { .themen--an > .thema.ist-neu { animation: none; } }
.thema ul { padding-left: 1.1em; }
.thema li { margin-bottom: .45em; }
.logo-klein { width: 120px; height: auto; margin-bottom: 16px; }

.teamgruppe { padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--linie); display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2fr); gap: clamp(20px, 4vw, 64px); }
.teamgruppe:first-of-type { border-top: 0; }
.teamgruppe__titel { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); font-weight: 300; }
.teamliste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.teamliste li { padding: 16px 0 18px; border-top: 1px solid var(--linie); }
.teamliste b { display: block; font-size: 1.1rem; font-weight: 600; }
.teamliste span { color: var(--grau); font-size: .95rem; }
@media (max-width: 1023px) { .teamliste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .teamgruppe { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .teamliste { grid-template-columns: 1fr; } }

.stelle-karte { position: relative; display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 30px 26px 26px; background: var(--weiss); color: var(--anthrazit); border-radius: var(--radius); text-decoration: none; box-shadow: var(--schatten); border-left: 3px solid var(--mint); transition: transform .25s; }
.stelle-karte:hover { transform: translateY(-4px); color: var(--anthrazit); }
.stelle-karte--physio { border-left-color: var(--physio); }
.stelle-karte--ergologo { border-left-color: var(--ergologo); }
.stelle-karte h3 { font-size: 1.3rem; margin: 0; }
.stelle-karte span { color: var(--grau); }
.stelle-karte .karte__mehr { margin-top: auto; }
.stelle-karte--initiativ { background: var(--anthrazit); color: var(--weiss); border-left-color: var(--mint); }
.stelle-karte--initiativ:hover { color: var(--weiss); }
.stelle-karte--initiativ span { color: var(--grau-hell); }
.stelle-karte--initiativ .karte__mehr { color: var(--mint); }
.vorteile { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.vorteile h3 { font-size: 1.25rem; padding-bottom: 12px; border-bottom: 2px solid var(--mint); }
.vorteile ul { list-style: none; padding: 0; margin: 0; }
.vorteile li { padding: 10px 0 10px 22px; position: relative; border-bottom: 1px solid var(--linie); }
.vorteile li::before { content: ""; position: absolute; left: 0; top: 1.15em; width: 10px; height: 1.5px; background: var(--mint-tief); }
@media (max-width: 860px) { .vorteile { grid-template-columns: 1fr; } }

@media (max-width: 760px) { .fnl__belege .vorteile { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: calc(var(--rand) * -1); margin-right: calc(var(--rand) * -1); padding: 0 var(--rand) 4px; scroll-padding-inline: var(--rand); } .fnl__belege .vorteile::-webkit-scrollbar { display: none; } .fnl__belege .vorteile > div { flex: 0 0 84%; scroll-snap-align: start; padding: 18px; border-radius: var(--radius); background: var(--weiss); } }
.erwartung { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.erwartung li { padding: 18px 0 18px 46px; position: relative; border-top: 1px solid rgba(255,255,255,.2); font-size: 1.1rem; }
.erwartung li::before { content: ""; position: absolute; left: 0; top: 22px; width: 22px; height: 23px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 104'%3E%3Cpath d='M94 46 V76 L50 101 L6 76 V28 L50 3 L78 19' fill='none' stroke='%239FC7AA' stroke-width='9'/%3E%3C/svg%3E"); }
.eckdaten { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--linie); }
.eckdaten > div { padding: 18px 18px 18px 0; }
.eckdaten dt { font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--mint-tief); }
.eckdaten dd { margin: 4px 0 0; font-weight: 600; }
@media (max-width: 860px) { .eckdaten { grid-template-columns: 1fr 1fr; } }
.fehlt { margin: 14px 0; padding: 12px 16px; border: 1px dashed var(--ergologo); border-radius: var(--radius); background: #FBF2F9; color: var(--anthrazit); font-size: .95rem; }
.fehlt b { color: var(--ergologo); }

.formular { background: var(--weiss); border-radius: var(--radius); padding: clamp(24px, 4vw, 44px); box-shadow: var(--schatten); }
.feld { margin: 0 0 18px; }
.feld label, .feld .feld__frage { display: block; font-weight: 600; margin-bottom: 6px; }
.feld input[type="text"], .feld input[type="email"], .feld input[type="tel"], .feld input[type="date"], .feld select, .feld textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1.5px solid #8A8A88; border-radius: var(--radius); background: var(--weiss); }
.feld textarea { min-height: 120px; resize: vertical; }
.feld input:focus, .feld select:focus, .feld textarea:focus { border-color: var(--mint-tief); outline: 2px solid var(--mint); outline-offset: 0; }
.feld--zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; margin-bottom: 18px; }
.feld--zwei .feld { margin-bottom: 0; }
.formular__fuss { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.formular__pflicht { font-size: .85rem; color: var(--grau); }
@media (max-width: 600px) { .feld--zwei { grid-template-columns: 1fr; } }
.wahl { display: flex; flex-wrap: wrap; gap: 8px; border: 0; padding: 0; margin: 0 0 18px; }
.wahl legend { font-weight: 600; margin-bottom: 8px; padding: 0; }
.wahl label { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1.5px solid #8A8A88; border-radius: var(--radius-knopf); cursor: pointer; font-weight: 400; }
.wahl input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.wahl label:has(input:checked) { background: var(--mint); border-color: var(--mint); font-weight: 600; }
.wahl label:has(input:focus-visible) { outline: 3px solid var(--mint-tief); outline-offset: 2px; }
.zustimmung { display: flex; gap: 12px; align-items: flex-start; margin: 8px 0 18px; }
.zustimmung input { width: 22px; height: 22px; margin-top: 3px; flex: none; accent-color: var(--mint-tief); }
.fehler { display: block; color: #A1262B; font-size: .9rem; margin-top: 6px; font-weight: 600; }
.meldung { padding: 14px 18px; border-radius: var(--radius); margin: 0 0 20px; background: var(--mint-hell); border-left: 4px solid var(--mint-tief); }
.meldung--fehler { background: #FBEDEE; border-left-color: #A1262B; }
.falle { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pflicht { color: #A1262B; }

.ist-funnel main { padding-top: 96px; }
.fnl { padding: clamp(24px, 4vw, 48px) 0 var(--abstand); background: linear-gradient(180deg, var(--mint-hell), var(--weiss) 60%); }
.fnl__kopf { max-width: 760px; margin: 0 auto 22px; text-align: center; }
.fnl__kopf .kicker { display: block; text-align: center; text-wrap: balance; }
.fnl__kopf .kicker .kicker__zeichen { display: inline-block; vertical-align: -2px; margin-right: .5em; }
.fnl__mehr { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 6px; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mint-tief); text-decoration: none; }
.fnl__mehr svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.bwb__balken i { min-width: 6%; }
.fnl__titel { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.8rem); font-weight: 300; margin: 0 0 .3em; }
.fnl__titel strong { font-weight: 700; }
.fnl__zeile { color: var(--grau); margin: 0; }
.fnl__karte { max-width: 760px; margin: 0 auto; }
.bwb__balken { height: 4px; background: var(--linie); border-radius: 2px; margin: 0 0 26px; overflow: hidden; }
.bwb__balken i { display: block; height: 100%; width: 0; background: var(--mint-tief); transition: width .35s; }
.bwb__stufe { border: 0; padding: 0; margin: 0 0 8px; min-width: 0; }
.bwb__zaehler { font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--mint-tief); margin: 0 0 6px; }
.bwb__frage { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem); font-weight: 600; line-height: 1.25; margin: 0 0 20px; }
.kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0; }
.kachel { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; min-height: 76px; padding: 16px; border: 1.5px solid #8A8A88; border-radius: var(--radius-knopf); background: var(--weiss); cursor: pointer; font-weight: 600; font-size: 1.05rem; transition: border-color .2s, background-color .2s; }
.kachel:hover { border-color: var(--mint-tief); }
.kachel input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.kachel:has(input:checked) { background: var(--mint); border-color: var(--mint-tief); }
.kachel:has(input:focus-visible) { outline: 3px solid var(--mint-tief); outline-offset: 2px; }
.kacheln--fehler .kachel { border-color: #A1262B; }
.bwb__knoepfe { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-top: 26px; }
.bwb__zurueck { background: transparent; border: 0; color: var(--anthrazit); text-decoration: underline; cursor: pointer; min-height: 44px; padding: 0 6px; }
.bwb__zusammen { padding: 12px 16px; background: var(--mint-hell); border-radius: var(--radius); margin: 0 0 18px; }
.fnl__belege { max-width: 960px; margin: clamp(48px, 6vw, 80px) auto 0; }
.ist-js [data-funnel] .bwb__stufe[hidden] { display: none; }

.kontakt-raster { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.kontakt-info { display: grid; gap: 28px; }
@media (min-width: 861px) { .kontakt-info { position: sticky; top: calc(var(--kopf-hoehe) + 24px); } }
.kontakt-info h3 { font-size: 1.15rem; margin-bottom: 10px; }
.kontakt-info ul { list-style: none; padding: 0; margin: 0; }
.kontakt-info li { display: flex; gap: 14px; align-items: center; padding: 8px 0; }
.rund { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--mint); color: var(--anthrazit); }
.rund svg { width: 19px; height: 19px; fill: currentColor; }
@media (max-width: 860px) { .kontakt-raster { grid-template-columns: 1fr; } }
.karte-consent { position: relative; aspect-ratio: 16 / 7; min-height: 320px; background: var(--flaeche) no-repeat center / cover; border-radius: var(--radius); display: grid; place-items: center; text-align: center; padding: 24px; overflow: hidden; }
.karte-consent p { max-width: 52ch; margin: 0 auto 16px; }

@media (max-width: 760px) { .karte-consent { aspect-ratio: auto; width: 100%; } }
.karte-consent iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.recht { max-width: 820px; }
.recht h2 { font-size: clamp(1.4rem, 1.15rem + .9vw, 1.9rem); font-weight: 600; margin: 2em 0 .6em; }
.recht h3 { font-size: 1.15rem; margin: 1.6em 0 .5em; }
.recht h4 { font-size: 1.05rem; font-weight: 600; margin: 1.4em 0 .4em; }
.ki-transparenz { display: flex; gap: 14px; align-items: flex-start; }
.ki-transparenz img { flex: none; margin-top: 4px; }

.karriereband { position: relative; overflow: hidden; background: var(--mint); color: var(--anthrazit); padding: clamp(64px, 9vw, 112px) 0; text-align: center; }
.karriereband__sk { position: absolute; width: clamp(360px, 36vw, 560px); height: auto; right: -4vw; top: 50%; transform: translateY(-50%); color: var(--weiss); stroke-width: .6; opacity: .45; }

@media (max-width: 1100px) { .karriereband__sk { display: none; } }
.karriereband__inhalt { position: relative; }
.karriereband__titel { font-size: clamp(2rem, 1.4rem + 2.2vw, 3.1rem); font-weight: 300; margin-bottom: .4em; }

.karriereband__titel { display: table; margin-left: auto; margin-right: auto; padding: 0 .35em; background: var(--mint); }
.karriereband p { max-width: 52ch; margin-left: auto; margin-right: auto; font-size: 1.1rem; }
.karriereband .knopfreihe { justify-content: center; }

.fuss { background: var(--anthrazit); color: var(--grau-hell); position: relative; }
.fuss__holz { height: 14px; background: #B98E5C url("../img/kz/holzkante.jpg") repeat-x center / 1600px auto; }
.fuss__raster { display: grid; grid-template-columns: 1.15fr .7fr 1.35fr 1.2fr; gap: 40px; padding-top: clamp(56px, 7vw, 88px); padding-bottom: 48px; }
.fuss__marke img { width: 230px; margin-bottom: 20px; }
.fuss__claim { color: var(--weiss); font-size: 1.15rem; line-height: 1.45; }
.fuss__titel { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mint); margin: 0 0 14px; }
.fuss__titel--zwei { margin-top: 26px; }
.fuss ul { list-style: none; padding: 0; margin: 0; }
.fuss a { color: var(--weiss); text-decoration: none; }
.fuss a:hover { color: var(--mint); text-decoration: underline; }
.fuss a.btn, .fuss a.btn:hover { color: var(--anthrazit); text-decoration: none; }
.fuss a.btn:hover { background: var(--weiss); }
.fuss__spalte li { padding: 4px 0; }
.fuss__spalte li a { display: inline-block; min-height: 32px; padding: 3px 0; }
.zeiten div { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.zeiten dt { color: var(--grau-hell); }
.zeiten dd { margin: 0; color: var(--weiss); text-align: right; white-space: nowrap; }
.zeiten dt { white-space: nowrap; }
.fuss__kontakt li { padding: 5px 0; }
.fuss__social { display: flex; gap: 12px; }
.fuss__social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); }
.fuss__social svg { width: 18px; height: 18px; fill: var(--weiss); }
.fuss__social a:hover { background: var(--mint); border-color: var(--mint); }
.fuss__social a:hover svg { fill: var(--anthrazit); }
.fuss__unten { display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: space-between; padding-top: 22px; padding-bottom: 26px; background: linear-gradient(rgba(255,255,255,.14), rgba(255,255,255,.14)) center top / calc(100% - 2 * var(--rand)) 1px no-repeat; font-size: .9rem; }
.fuss--funnel .fuss__unten { background: none; }
.ohne-umbruch { white-space: nowrap; }
@media (max-width: 600px) { .fuss__trenner { display: none; } .fuss__rechte { display: block; } }
.nur-schmal { display: none; }
@media (max-width: 860px) { .nur-breit { display: none; } .nur-schmal { display: flex; } .kontakt-info { margin-top: 24px; } }
.fuss__recht { display: flex; gap: 22px; }
.fuss__recht a { display: inline-block; min-height: 32px; padding: 4px 0; }
.fuss--funnel { padding-top: 6px; }
.fuss__ki { width: 100%; color: var(--grau-hell); }
@media (max-width: 1023px) { .fuss__raster { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .fuss__raster { grid-template-columns: 1fr; } }

.leiste { display: none; }
@media (max-width: 767px) {
  .leiste { display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 7px 12px calc(7px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); box-shadow: 0 -8px 24px -12px rgba(43,43,42,.35); transform: translateY(110%); transition: transform .3s; }
  .leiste.ist-sichtbar { transform: none; }
  .leiste__knopf { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; font-size: .95rem; border-radius: var(--radius-knopf); text-decoration: none; font-weight: 600; color: var(--anthrazit); border: 1.5px solid var(--anthrazit); }
  .leiste__knopf svg { width: 18px; height: 18px; fill: currentColor; }
  .leiste__knopf--termin { background: var(--mint); border-color: var(--mint); }
  body { padding-bottom: 0; }
  .ist-funnel body { padding-bottom: 0; }
  .fuss__unten { padding-bottom: calc(26px + 60px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: no-preference) {
  .ist-js .einblenden { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
  .ist-js .einblenden.ist-da { opacity: 1; transform: none; }
}

.nt { position: relative; text-decoration: underline dotted var(--mint-tief) 1.5px; text-underline-offset: .22em; }
.nt::before { content: ""; position: absolute; left: -11px; top: .45em; width: 6px; height: 6px; border-radius: 50%; background: var(--ergologo); }
.hero .nt, .abschnitt--dunkel .nt { text-decoration-color: var(--mint); }

.licht { position: relative; }
.licht::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .4s; background: radial-gradient(520px circle at var(--lx, 50%) var(--ly, 50%), rgba(159,199,170,.14), transparent 60%); }
.licht.licht--an::before { opacity: 1; }
.licht > * { position: relative; }

.bewertungen__raster { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
@media (max-width: 860px) { .bewertungen__raster { grid-template-columns: 1fr; } }
.buehne { position: relative; }
.buehne__spur { display: grid; gap: 28px; }
.buehne__zitat { margin: 0; }
.buehne__zitat blockquote { margin: 0; }
.buehne__zitat blockquote p { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-weight: 300; line-height: 1.45; margin: 0 0 22px; }
.buehne__zitat blockquote p::before { content: "„"; color: var(--mint); font-weight: 700; margin-right: .05em; }
.buehne__zitat blockquote p::after { content: "“"; color: var(--mint); font-weight: 700; }
.buehne__zitat figcaption { display: flex; flex-direction: column; gap: 2px; }
.buehne__zitat figcaption b { color: var(--mint); font-size: 1.05rem; }
.buehne__zitat figcaption span { color: var(--grau-hell); font-size: .92rem; }
.buehne--aktiv .buehne__spur { display: grid; }
.buehne--aktiv .buehne__zitat { display: none; }
.buehne--aktiv .buehne__zitat.ist-aktiv { display: block; animation: zitat-rein .55s ease both; }
@keyframes zitat-rein { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.buehne__steuerung { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.buehne__knopf { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: transparent; color: var(--weiss); cursor: pointer; display: grid; place-items: center; transition: background .2s, color .2s; }
.buehne__knopf:hover { background: var(--mint); color: var(--anthrazit); border-color: var(--mint); }
.buehne__knopf svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.buehne__punkte { display: flex; gap: 2px; }
.buehne__punkt { width: 28px; height: 44px; border: 0; background: transparent; cursor: pointer; position: relative; }
.buehne__punkt::after { content: ""; position: absolute; left: 4px; right: 4px; top: 21px; height: 2px; background: rgba(255,255,255,.35); transition: background .2s; }
.buehne__punkt[aria-current="true"]::after { background: var(--mint); height: 3px; }
.buehne__zaehler { margin-left: auto; color: var(--grau-hell); font-variant-numeric: tabular-nums; }
.buehne--hell .buehne__zitat blockquote p { color: var(--anthrazit); }
.buehne--hell .buehne__zitat blockquote p::before, .buehne--hell .buehne__zitat blockquote p::after, .buehne--hell figcaption b { color: var(--mint-tief); }
.buehne--hell figcaption span, .buehne--hell .buehne__zaehler { color: var(--grau); }
.buehne--hell .buehne__knopf { border-color: var(--anthrazit); color: var(--anthrazit); }
.buehne--hell .buehne__punkt::after { background: var(--linie); }
.buehne--hell .buehne__punkt[aria-current="true"]::after { background: var(--mint-tief); }

.manifest { padding: clamp(80px, 12vw, 170px) 0 clamp(60px, 8vw, 110px); }
.manifest__satz { font-size: clamp(2.6rem, 1.4rem + 5.2vw, 6.4rem); font-weight: 300; line-height: 1.02; letter-spacing: -.025em; margin: 0 0 .5em; max-width: 14ch; }
.manifest__satz strong { font-weight: 700; color: var(--mint-tief); }
.lw { transition: color .4s; }
.leuchten--an .lw { color: #8E8E8A; }
.leuchten--an .lw.an { color: var(--anthrazit); }
.leuchten--an strong .lw.an, .leuchten--an .lw.an strong { color: var(--mint-tief); }
.manifest__raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 96px); align-items: center; }
.manifest__bild img { width: 100%; height: auto; border-radius: var(--radius); }
@media (max-width: 860px) { .manifest__raster { grid-template-columns: 1fr; } }

.erzaehlung { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 6vw, 96px); }
.erzaehlung__buehne { position: sticky; top: 110px; align-self: start; height: min(70vh, 560px); display: grid; place-items: center; }
.erzaehlung__sk { position: absolute; inset: 0; margin: auto; width: 100%; max-width: 520px; height: 100%; color: var(--mint); stroke-width: 1.4; transition: transform 1s cubic-bezier(.3,.7,.2,1), color .6s; }
.erzaehlung[data-aktiv="2"] .erzaehlung__sk { transform: rotate(60deg) scale(.92); }
.erzaehlung[data-aktiv="3"] .erzaehlung__sk { transform: rotate(120deg) scale(1.05); color: var(--mint-tief); }
.erzaehlung__siegel { position: relative; width: min(240px, 52vw); transition: transform .8s, opacity .6s; }
.erzaehlung[data-aktiv="3"] .erzaehlung__siegel { transform: scale(.82); opacity: .35; }
.erzaehlung__schritt { min-height: 38vh; display: flex; flex-direction: column; justify-content: center; padding: 40px 0 40px 28px; border-left: 3px solid var(--linie); transition: border-color .5s; }
.erzaehlung__schritt.ist-aktiv { border-left-color: var(--mint-tief); }
.partnerraster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.partnerraster a { display: grid; place-items: center; min-height: 96px; padding: 12px; border: 1px solid var(--linie); border-radius: var(--radius); background: var(--weiss); transition: border-color .2s, transform .3s; }
.partnerraster a:hover { border-color: var(--mint-tief); transform: translateY(-3px); }
.partnerraster img { max-height: 62px; width: auto; filter: grayscale(1) brightness(1.08) contrast(1.1); mix-blend-mode: multiply; opacity: .8; transition: filter .3s, opacity .3s; }
.partnerraster a:hover img { filter: none; opacity: 1; }
@media (max-width: 860px) {
  .erzaehlung { grid-template-columns: 1fr; }
  .erzaehlung__buehne { position: relative; top: 0; height: 320px; }
  .erzaehlung__schritt { min-height: 0; padding: 20px 0 20px 20px; }

  .partnerraster { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: calc(var(--rand) * -1); margin-right: calc(var(--rand) * -1); padding: 0 var(--rand) 4px; scroll-padding-inline: var(--rand); }
  .partnerraster::-webkit-scrollbar { display: none; }
  .partnerraster a { flex: 0 0 40%; scroll-snap-align: start; }
}

.filmband { position: relative; isolation: isolate; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; color: var(--weiss); overflow: hidden; background: var(--anthrazit-tief); }
.filmband__medien { position: absolute; inset: 0; z-index: -2; }
.filmband__medien video, .filmband__medien img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.filmband::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(43,43,42,.86) 0%, rgba(43,43,42,.6) 46%, rgba(43,43,42,.25) 100%); }
.filmband__titel { font-size: clamp(2.4rem, 1.4rem + 4vw, 5.2rem); font-weight: 300; line-height: 1.04; letter-spacing: -.02em; max-width: 14ch; margin: 0 0 .4em; }
.filmband__titel strong { color: var(--mint); font-weight: 700; }
.filmband p { font-size: 1.2rem; }
.filmband__sk { position: absolute; right: 6vw; top: 50%; width: clamp(220px, 30vw, 460px); transform: translateY(-50%); color: var(--mint); stroke-width: 1; opacity: .7; }
@media (max-width: 860px) { .filmband::before { background: rgba(43,43,42,.72); } .filmband__sk { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .filmband__medien video { display: none; } }

.teaser__bild img, .werde__bild img { will-change: transform; }

.leistungsliste li { position: relative; isolation: isolate; transition: color .3s; padding-left: 8px; padding-right: 8px; }
.leistungsliste li::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mint-hell); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.3,.7,.2,1); }
.leistungsliste li:hover::after { transform: scaleX(1); }
.leistungsliste--physio li::after { background: #E9ECF6; }
.leistungsliste--ergologo li::after { background: #F6E8F3; }

.ist-js .wert.einblenden .wert__sk path { stroke-dasharray: 300; stroke-dashoffset: 300; transition: stroke-dashoffset 1.4s ease .2s; }
.ist-js .wert.einblenden.ist-da .wert__sk path { stroke-dashoffset: 0; }

@media (prefers-reduced-motion: reduce) {
  .buehne--aktiv .buehne__zitat.ist-aktiv { animation: none; }
  .erzaehlung__sk, .erzaehlung__siegel { transition: none; }
  .ist-js .wert.einblenden .wert__sk path { stroke-dashoffset: 0; transition: none; }
}

.zahlen__titel { font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mint); margin: 0 0 34px; }
.zahlen__titel strong { font-weight: 600; }
.siegel-klein { width: 110px; height: auto; }
.filmband__frage { font-size: clamp(1.3rem, 1rem + 1.2vw, 2rem) !important; font-weight: 300; max-width: 26ch; margin-bottom: .4em; }
.filmband__medien video { opacity: 0; transition: opacity .8s; }
.filmband__medien video.ist-an { opacity: 1; }

.mitte { text-align: center; }
.abstand-oben { margin-top: clamp(28px, 4vw, 48px); }
.ohne-abstand-unten { margin-bottom: 0; }

.ott-logo { display: grid; place-items: center; }
.ott-logo img { width: min(260px, 70%); height: auto; }
.schritte--liste { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 1rem; }
.schritte--liste li::before { font-size: 1.6rem; }
.schritte--liste p { color: var(--anthrazit); }
.thema h3 { margin-top: 1.4em; }
.thema h3:first-of-type { margin-top: .4em; }
.wisch--hochkant .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.video--hochkant { aspect-ratio: 9 / 16; }
@media (max-width: 1023px) { .wisch--hochkant .wisch__bahn { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.zeiten--hell div { border-bottom-color: var(--linie); }
.zeiten--hell dt { color: var(--grau); }
.zeiten--hell dd { color: var(--anthrazit); }
.erwartung--hell li { border-top-color: var(--linie); }
.erwartung--hell li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 104'%3E%3Cpath d='M94 46 V76 L50 101 L6 76 V28 L50 3 L78 19' fill='none' stroke='%234A6E54' stroke-width='9'/%3E%3C/svg%3E"); }
.vorteile-liste { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; gap: 0; max-width: 900px; }
.vorteile-liste li { padding: 16px 0 16px 26px; position: relative; border-top: 1px solid var(--linie); font-size: 1.08rem; }
.vorteile-liste li::before { content: ""; position: absolute; left: 0; top: 1.5em; width: 12px; height: 1.5px; background: var(--mint-tief); }

@media (min-width: 761px) {
  .wisch--werte.n3 .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wisch--werte.n4 .wisch__bahn { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wisch--werte.n5 .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
  .wisch--werte.n4 .wisch__bahn { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wisch--werte.n5 .wisch__bahn { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .wisch--werte.n5 .wert { padding-left: 0; padding-right: 10px; }
  .wisch--stellen.n7 .wisch__bahn { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.karte-consent { background: var(--mint-hell); border: 1px solid var(--linie); }

.loop { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--anthrazit-tief); }
.btn--gross { min-height: 60px; padding: .95em 1.9em; font-size: 1.12rem; }

.kw { display: inline-block; overflow: hidden; vertical-align: bottom; padding: .12em .02em .1em; margin: -.12em -.02em -.1em; }
.kw > span { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  .ist-js .kinetik .kw > span { transform: translateY(110%) rotate(4deg); transform-origin: left bottom; transition: transform .95s cubic-bezier(.2,.75,.2,1); }
  .ist-js .kinetik.ist-da .kw > span { transform: none; }
  .kinetik .kw2 > span { transition-delay: .06s; } .kinetik .kw3 > span { transition-delay: .12s; } .kinetik .kw4 > span { transition-delay: .18s; }
  .kinetik .kw5 > span { transition-delay: .24s; } .kinetik .kw6 > span { transition-delay: .3s; } .kinetik .kw7 > span { transition-delay: .36s; }
  .kinetik .kw8 > span { transition-delay: .42s; } .kinetik .kw9 > span { transition-delay: .48s; } .kinetik .kw10 > span { transition-delay: .54s; }
  .kinetik .kw11 > span { transition-delay: .6s; } .kinetik .kw12 > span { transition-delay: .66s; } .kinetik .kw13 > span, .kinetik .kw14 > span, .kinetik .kw15 > span, .kinetik .kw16 > span { transition-delay: .72s; }
}

.leistungen-start { padding-bottom: clamp(48px, 7vw, 96px); }
.lreihe { position: relative; margin-top: clamp(20px, 3vw, 40px); }
.lreihe__liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linie); }
.lreihe__eintrag { --farbe: var(--mint-tief); border-bottom: 1px solid var(--linie); }
.lreihe--physio { --farbe: var(--physio); }
.lreihe--ergologo { --farbe: var(--ergologo); }
.lreihe__link { position: relative; isolation: isolate; display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) minmax(0, auto) 52px; align-items: center; gap: 6px 28px; padding: clamp(18px, 2.2vw, 30px) 0; color: var(--anthrazit); text-decoration: none; }
.lreihe__link::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--rand) * -1); right: calc(var(--rand) * -1); z-index: -1; background: var(--farbe); transform: scaleY(0); transform-origin: bottom; transition: transform .55s cubic-bezier(.3,.7,.2,1); }
.lreihe__nr { font-size: .85rem; font-weight: 700; letter-spacing: .12em; color: var(--farbe); transition: color .3s; }
.lreihe__titel { margin: 0; overflow-wrap: normal; word-break: keep-all; hyphens: manual; font-size: clamp(2rem, 1rem + 3.6vw, 4.8rem); font-weight: 300; line-height: 1; letter-spacing: -.035em; transition: transform .55s cubic-bezier(.3,.7,.2,1), color .3s; }
.lreihe__zeile { color: var(--grau); font-size: 1.05rem; text-align: right; max-width: 22ch; justify-self: end; transition: color .3s; }
.lreihe__mehr { display: block; margin-top: 4px; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--farbe); transition: color .3s; }
.lreihe__link:focus-visible .lreihe__mehr { color: var(--weiss); }
.lreihe__pfeil { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid currentColor; transition: transform .45s, background .3s; }
.lreihe__pfeil svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.lreihe__link:focus-visible::before { transform: scaleY(1); }
.lreihe__link:focus-visible { color: var(--weiss); }
.lreihe__link:focus-visible .lreihe__nr, .lreihe__link:focus-visible .lreihe__zeile { color: var(--weiss); }
.lreihe__link:focus-visible .lreihe__titel { transform: translateX(18px); }
.lreihe__link:focus-visible .lreihe__pfeil { transform: rotate(-45deg); }

@media (hover: hover) and (pointer: fine) {
  .lreihe__link:hover::before { transform: scaleY(1); }
  .lreihe__link:hover, .lreihe__link:hover .lreihe__nr, .lreihe__link:hover .lreihe__zeile, .lreihe__link:hover .lreihe__mehr { color: var(--weiss); }
  .lreihe__link:hover .lreihe__titel { transform: translateX(18px); }
  .lreihe__link:hover .lreihe__pfeil { transform: rotate(-45deg); }
}
.lreihe__link:focus-visible { outline: 3px solid var(--mint); outline-offset: 2px; }
.lreihe__unter { list-style: none; margin: 16px 0 0; padding: 0 0 26px calc(3.4rem + 28px); display: flex; flex-wrap: wrap; color: var(--grau); font-size: .98rem; }
.lreihe__unter { gap: 6px; }
.lreihe__unter li { padding: 5px 11px; border-radius: 999px; background: var(--flaeche); color: var(--anthrazit); font-size: .88rem; line-height: 1.3; }
.lreihe__medien { display: none; }
.lreihe__rahmen { display: none; }

@media (hover: hover) and (pointer: fine) and (min-width: 861px) {
  .ist-js .lreihe { display: grid; grid-template-columns: minmax(0, 1fr) clamp(280px, 27vw, 400px); gap: clamp(32px, 4.4vw, 72px); align-items: start; }
  .ist-js .lreihe__liste { grid-column: 1; grid-row: 1; }
  .ist-js .lreihe__rahmen { display: block; grid-column: 2; grid-row: 1; position: sticky; top: 132px; aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; background: var(--anthrazit-tief); clip-path: polygon(0 0, calc(100% - var(--facette)) 0, 100% var(--facette), 100% 100%, 0 100%); }
  .ist-js .lreihe__bild { position: absolute; inset: 0; opacity: 0; transform: scale(1.06); transition: opacity .5s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); }
  .ist-js .lreihe__bild.ist-aktiv { opacity: 1; transform: none; }
  .ist-js .lreihe__bild video { display: block; width: 100%; height: 100%; object-fit: cover; }
  .ist-js .lreihe__link { grid-template-columns: 3.4rem minmax(0, 1fr) 52px; }
  .ist-js .lreihe__zeile { grid-column: 2; grid-row: 2; text-align: left; justify-self: start; max-width: none; }
  .ist-js .lreihe__mehr { display: inline; margin: 0 0 0 14px; }
  .ist-js .lreihe__pfeil { grid-column: 3; grid-row: 1 / span 2; }
  .ist-js .lreihe__titel { font-size: clamp(2rem, .9rem + 2.9vw, 3.9rem); }
  .ist-js .lreihe__link::before { right: 0; }
  .ist-js .lreihe__eintrag.ist-aktiv .lreihe__nr { color: var(--farbe); }
}

@media (max-width: 860px), (hover: none), (pointer: coarse) {
  .lreihe:not(.lreihe--uebersicht) .lreihe__liste { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--rand) * -1); padding: 0 var(--rand) 6px; scroll-padding: 0 var(--rand); border-top: 0; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__liste::-webkit-scrollbar { display: none; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__eintrag { position: relative; flex: 0 0 min(80%, 400px); aspect-ratio: 4 / 5; scroll-snap-align: start; border: 0; border-radius: 10px; overflow: hidden; background: var(--anthrazit); isolation: isolate; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__eintrag::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; z-index: 2; background: var(--farbe); }
  .lreihe:not(.lreihe--uebersicht) .lreihe__eintrag::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(43,43,42,.94) 0%, rgba(43,43,42,.7) 34%, rgba(43,43,42,0) 64%); }
  .lreihe:not(.lreihe--uebersicht) .lreihe__medien { display: block; position: absolute; inset: 0; z-index: -2; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__link { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 6px; padding: 22px 20px; color: var(--weiss); }
  .lreihe:not(.lreihe--uebersicht) .lreihe__link::before { display: none; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__nr { color: var(--mint); }
  .lreihe:not(.lreihe--uebersicht) .lreihe__titel { font-size: clamp(1.9rem, 1.2rem + 3.4vw, 2.6rem); font-weight: 600; letter-spacing: -.02em; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__zeile { color: var(--weiss); text-align: left; font-size: 1rem; justify-self: start; }
  .lreihe:not(.lreihe--uebersicht) .lreihe__mehr { color: var(--mint); }
  .lreihe:not(.lreihe--uebersicht) .lreihe__pfeil { position: absolute; right: 18px; top: 22px; width: 44px; height: 44px; color: var(--weiss); }

  .lreihe--uebersicht .lreihe__eintrag { display: flex; flex-direction: column; padding: 28px 0 26px; }

  .lreihe--uebersicht .lreihe__liste { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--rand) * -1); padding: 0 var(--rand) 6px; scroll-padding: 0 var(--rand); border-top: 0; align-items: stretch; }
  .lreihe--uebersicht .lreihe__liste::-webkit-scrollbar { display: none; }
  .lreihe--uebersicht .lreihe__eintrag { flex: 0 0 min(84%, 420px); scroll-snap-align: start; padding: 0 0 20px; border: 1px solid var(--linie); border-radius: 10px; overflow: hidden; background: var(--weiss); }
  .lreihe--uebersicht .lreihe__medien { border-radius: 0; }
  .lreihe--uebersicht .lreihe__link, .lreihe--uebersicht .lreihe__unter { padding-left: 16px; padding-right: 16px; }
  .lreihe__fortschritt { display: block; }
  .lreihe--uebersicht .lreihe__liste { align-items: flex-start; }
  .lreihe--uebersicht .lreihe__eintrag .lreihe__link { padding-left: 16px; padding-right: 16px; }
  .lreihe--uebersicht .lreihe__eintrag .lreihe__unter { padding-left: 16px; padding-right: 16px; }
  .lreihe--uebersicht .lreihe__medien { display: block; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%); }
  .lreihe--uebersicht .lreihe__medien video { display: block; width: 100%; height: 100%; object-fit: cover; }
  .lreihe--uebersicht .lreihe__link { grid-template-columns: 2.2rem minmax(0, 1fr) 44px; gap: 4px 12px; padding: 18px 0 0; }
  .lreihe--uebersicht .lreihe__link::before { display: none; }
  .lreihe--uebersicht .lreihe__nr { align-self: start; padding-top: .55em; }
  .lreihe--uebersicht .lreihe__titel { font-size: clamp(1.6rem, 1rem + 3vw, 2.3rem); font-weight: 400; }
  .lreihe--uebersicht .lreihe__zeile { grid-column: 2; grid-row: 2; text-align: left; justify-self: start; max-width: none; font-size: .98rem; }
  .lreihe--uebersicht .lreihe__mehr { display: none; }
  .lreihe--uebersicht .lreihe__pfeil { grid-column: 3; grid-row: 1 / span 2; width: 44px; height: 44px; color: var(--farbe); }
  .lreihe--uebersicht .lreihe__unter { gap: 6px; margin: 16px 0 0; padding: 0 0 0 calc(2.2rem + 12px); }
  .lreihe--uebersicht .lreihe__unter li { padding: 6px 11px; border-radius: 999px; background: var(--flaeche); color: var(--anthrazit); font-size: .85rem; line-height: 1.3; }
  .lreihe--uebersicht .lreihe__unter li + li::before { display: none; }
  .lreihe__unter { padding-left: 0; }
}

.mbuehne { --farbe: var(--mint-tief); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 80px); margin-top: clamp(20px, 3vw, 40px); align-items: start; }
.mbuehne--physio { --farbe: var(--physio); }
.mbuehne--ergologo { --farbe: var(--ergologo); }
.mbuehne__buehne { order: 2; position: sticky; top: 146px; aspect-ratio: 4 / 3; max-height: 70vh; border-radius: 10px; overflow: hidden; background: var(--anthrazit-tief); isolation: isolate; }
.mbuehne__medium { position: absolute; inset: 0; opacity: 0; transform: scale(1.07); transition: opacity .6s ease, transform 1.3s cubic-bezier(.2,.7,.2,1); }
.mbuehne__medium.ist-aktiv { opacity: 1; transform: none; z-index: 1; }
.mbuehne__medium picture, .mbuehne__medium img, .mbuehne__medium video { width: 100%; height: 100%; object-fit: cover; }
.mbuehne__tafel { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(24px, 4vw, 52px); background: var(--farbe); color: var(--weiss); overflow: hidden; }
.mbuehne__tafel { align-items: center; justify-content: center; }
.mbuehne__sk { width: 42%; height: auto; fill: none; stroke: rgba(255,255,255,.6); }
.mbuehne__sk path { vector-effect: non-scaling-stroke; stroke-width: 2px; stroke-dasharray: 100; stroke-dashoffset: 0; }
.mbuehne__medium.ist-aktiv .mbuehne__sk path { animation: tr-sk 1.4s cubic-bezier(.3,.7,.2,1) both; }
.mbuehne__tafelnr { position: absolute; right: clamp(16px, 3vw, 36px); top: clamp(8px, 2vw, 24px); font-size: clamp(6rem, 3rem + 10vw, 13rem); font-weight: 700; line-height: .9; letter-spacing: -.04em; color: rgba(255,255,255,.16); }
.mbuehne__tafeltitel { position: relative; font-size: clamp(2rem, 1.1rem + 2.8vw, 3.8rem); font-weight: 300; line-height: 1.04; letter-spacing: -.02em; max-width: 13ch; }
.mbuehne__zaehler { position: absolute; left: 14px; top: 12px; z-index: 3; padding: 4px 9px; border-radius: 999px; background: rgba(43,43,42,.62); color: var(--weiss); font-size: .8rem; font-weight: 700; letter-spacing: .14em; font-variant-numeric: tabular-nums; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.mbuehne__liste { order: 1; list-style: none; margin: 0; padding: 0; counter-reset: mb; }
.mbuehne__punkt { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 4px 10px; align-items: baseline; padding: 24px 0 24px 18px; border-top: 1px solid var(--linie); border-left: 3px solid transparent; transition: border-color .4s, background-color .4s; }
.mbuehne__punkt:last-child { border-bottom: 1px solid var(--linie); }
.mbuehne__nr { font-size: .85rem; font-weight: 700; letter-spacing: .1em; color: var(--farbe); }
.mbuehne__punkt h3 { margin: 0; font-size: clamp(1.35rem, 1rem + 1.3vw, 2.1rem); font-weight: 300; line-height: 1.15; transition: color .3s; }
.mbuehne__punkt p { grid-column: 2; margin: 6px 0 0; color: var(--grau); max-width: 52ch; }
.abschnitt--flaeche .mbuehne__punkt p { color: #5E5D5D; }
.mbuehne__punkt.ist-aktiv { border-left-color: var(--farbe); background: rgba(255,255,255,.6); }
.mbuehne__punkt.ist-aktiv h3 { font-weight: 600; color: var(--farbe); }
@media (min-width: 761px) { .ist-js .mbuehne__punkt { min-height: 15vh; align-content: center; } }
.mbuehne__wisch { order: 1; min-width: 0; }
.mbuehne__karte { display: none; }
.mbuehne .mbuehne__liste.wisch__bahn { display: block; }

@media (max-width: 760px) {
  .mbuehne { display: block; }
  .mbuehne__buehne { display: none; }
  .mbuehne__punkt, .ist-js .mbuehne__punkt { min-height: 0; }
  .mbuehne__punkt.ist-aktiv { border-left-color: transparent; background: none; }
  .mbuehne__punkt.ist-aktiv h3 { font-weight: 300; color: inherit; }
}
@media (max-width: 760px) {
  .mbuehne__wisch { margin-top: 6px; }
  .mbuehne .mbuehne__liste.wisch__bahn { gap: 12px; padding-bottom: 14px; }
  .mbuehne .mbuehne__liste.wisch__bahn > .mbuehne__punkt { flex: 0 0 76%; display: flex; flex-direction: column; gap: 10px; padding: 22px 20px 24px; border: 0; border-top: 4px solid var(--farbe); border-radius: var(--radius); background: var(--weiss); box-shadow: 0 16px 30px -26px rgba(43,43,42,.45); }
  .mbuehne .mbuehne__punkt .mbuehne__nr { font-size: 2.4rem; line-height: 1; letter-spacing: -.03em; }
  .mbuehne .mbuehne__punkt h3, .mbuehne .mbuehne__punkt.ist-aktiv h3 { font-size: 1.28rem; font-weight: 600; line-height: 1.2; color: var(--anthrazit); }
  .mbuehne .mbuehne__punkt p { margin: 0; font-size: .95rem; }
  .mbuehne .mbuehne__wisch .wisch__fortschritt { margin-top: 10px; }

  .mbuehne .mbuehne__liste.wisch__bahn > .mbuehne__punkt { padding: 0 0 24px; overflow: hidden; align-items: stretch; }
  .mbuehne .mbuehne__punkt > :not(.mbuehne__karte) { margin-left: 20px; margin-right: 20px; }
  .mbuehne .mbuehne__karte { display: block; position: relative; flex: none; width: 100%; aspect-ratio: 16 / 10; margin: 0 0 6px; overflow: hidden; background: var(--farbe); }
  .mbuehne .mbuehne__karte picture, .mbuehne .mbuehne__karte img, .mbuehne .mbuehne__karte video { display: block; width: 100%; height: 100%; object-fit: cover; }
  .mbuehne .mbuehne__karte .mbuehne__sk { width: 30%; }
}

.tour { position: relative; background: var(--anthrazit-tief); color: var(--weiss); }
.tour__pin { padding: clamp(64px, 8vw, 110px) 0; }
.tour__bahn { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 var(--rand); }
.tour__bahn::-webkit-scrollbar { display: none; }
.tour__bahn:focus-visible { outline: 3px solid var(--mint); outline-offset: -3px; }
.tour__intro { flex: 0 0 min(460px, 84vw); scroll-snap-align: start; padding-right: clamp(8px, 2vw, 32px); }

.tour__pin > .tour__intro { max-width: var(--container); margin: 0 auto clamp(26px, 4vw, 44px); padding: 0 var(--rand); }
.tour__pin > .tour__intro .tour__hinweis { display: none; }
.tour__intro .titel { font-size: clamp(2.2rem, 1.4rem + 3vw, 4.2rem); }
.tour__text { color: var(--grau-hell); }
.tour__text a { color: var(--mint); }
.tour__hinweis { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-top: 18px; border-radius: 50%; border: 1.5px solid var(--mint); color: var(--mint); }
.tour__hinweis svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tour__karte { flex: none; position: relative; margin: 0; height: clamp(300px, 64vh, 660px); border-radius: 10px; overflow: hidden; scroll-snap-align: center; background: #1d1d1c; }
.tour__karte--quer { aspect-ratio: 3 / 2; }
.tour__karte--hoch { aspect-ratio: 2 / 3; }
.tour__karte--film { aspect-ratio: 16 / 9; }
.tour__karte picture, .tour__karte img, .tour__karte video { width: 100%; height: 100%; object-fit: cover; }
.tour__karte img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.tour__karte:hover img { transform: scale(1.04); }
.tour__fortschritt { position: relative; height: 2px; margin: 30px var(--rand) 0; background: rgba(255,255,255,.18); overflow: hidden; }
.tour__fortschritt i { position: absolute; inset: 0; background: var(--mint); transform-origin: left; transform: scaleX(.08); }
@media (min-width: 861px) and (prefers-reduced-motion: no-preference) {
  .ist-js .tour--pin .tour__pin { position: sticky; top: 0; height: 100vh; height: 100svh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: 0; }
  .ist-js .tour--pin .tour__bahn { overflow: visible; scroll-snap-type: none; will-change: transform; padding-left: max(var(--rand), calc((100vw - var(--container)) / 2 + var(--rand))); padding-right: 8vw; }
  .ist-js .tour--pin .tour__karte { height: min(64vh, 640px); }
}

@media (max-width: 860px) {
  .tour__bahn { align-items: stretch; gap: 10px; scroll-snap-type: x mandatory; scroll-padding: 0 var(--rand); }
  .tour__karte { height: min(44vw, 300px); width: auto; scroll-snap-align: start; }
  .tour__karte:last-child { margin-right: var(--rand); }
  .tour__fortschritt { margin-top: 22px; }
}

.kband { position: relative; isolation: isolate; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; color: var(--weiss); overflow: hidden; background: var(--anthrazit-tief); padding: calc(var(--kopf-hoehe, 72px) + 16px) 0 40px; box-sizing: border-box; }
.kband__medien { position: absolute; inset: 0; z-index: -2; }
.kband::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(43,43,42,.9) 0%, rgba(43,43,42,.78) 46%, rgba(43,43,42,.3) 100%), linear-gradient(0deg, rgba(43,43,42,.6) 0%, rgba(43,43,42,0) 40%); }
.kband__titel { font-size: clamp(2.4rem, min(1.3rem + 6.6vw, 8.4svh), 8.6rem); font-weight: 300; line-height: .97; letter-spacing: -.04em; margin: 0 0 .32em; max-width: 13ch; }
.kband__titel strong { font-weight: 700; color: var(--mint); }
@media (max-width: 600px) { .kband__titel { font-size: min(2.3rem, 9.4vw); max-width: none; } }

.kband__rotor { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .32em; margin: 0 0 .7em; font-size: clamp(1.3rem, min(1rem + 2.1vw, 3.8svh), 2.8rem); font-weight: 300; line-height: 1.2; }
.kband__werde { font-weight: 300; }
.rotor { position: relative; display: inline-grid; font-weight: 600; color: var(--mint); }
.rotor strong { color: var(--mint); }
.rotor__wort { grid-area: 1 / 1; white-space: nowrap; }
.rotor:not(.rotor--an) .rotor__wort:not(.rotor__wort--ende) { display: none; }
.rotor--an { overflow: hidden; }
.rotor--an .rotor__wort { opacity: 0; transform: translateY(70%); transition: opacity .35s, transform .45s cubic-bezier(.2,.7,.2,1); }
.rotor--an .rotor__wort.ist-an { opacity: 1; transform: none; }
.rotor--an .rotor__wort.ist-weg { opacity: 0; transform: translateY(-70%); }
.kband__frage { font-size: clamp(1.2rem, 1rem + 1vw, 1.75rem); font-weight: 300; max-width: 30ch; margin: 0 0 .3em; }
.kband__text { font-size: 1.15rem; margin: 0; }
@media (max-width: 860px) { .kband::before { background: linear-gradient(0deg, rgba(43,43,42,.92) 0%, rgba(43,43,42,.82) 60%, rgba(43,43,42,.55) 100%); } .kband__rotor { flex-direction: column; }

  .rotor { max-width: 100%; } .rotor__wort { white-space: normal; overflow-wrap: anywhere; } }

.teaser__bild .loop, .werde__bild .loop { position: absolute; inset: 0; }
.werde__titel { font-size: clamp(2.2rem, min(1.4rem + 3.6vw, 8svh), 4.8rem); max-width: 16ch; line-height: 1.02; }
.zweispalt__film { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; background: var(--anthrazit-tief); margin: 0; }
.zweispalt__film .loop { position: absolute; inset: 0; }

.warum__kopf { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(24px, 5vw, 80px); align-items: end; }
.warum__titel { font-size: clamp(3rem, 1.8rem + 5.2vw, 7.4rem); line-height: .95; letter-spacing: -.035em; max-width: none; margin-bottom: 0; }
.warum__video { margin-top: clamp(32px, 5vw, 64px); }
.video--gross { border-radius: 10px; }
@media (max-width: 860px) { .warum__kopf { grid-template-columns: 1fr; } }

.reels-abschnitt { overflow: hidden; }
.reels { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; padding: 6px 0 14px; scroll-padding-inline: max(var(--rand), calc((100vw - var(--container)) / 2 + var(--rand))); }
.reels::-webkit-scrollbar { display: none; }
.reels:focus-visible { outline: 3px solid var(--mint); outline-offset: -3px; }
.reels__bahn { display: flex; gap: clamp(12px, 1.6vw, 24px); width: max-content; padding: 0 max(var(--rand), calc((100vw - var(--container)) / 2 + var(--rand))); }
.reel { flex: none; width: clamp(210px, 18vw, 270px); margin: 0; scroll-snap-align: start; }
.reel:nth-child(even) { margin-top: clamp(24px, 3vw, 48px); }
.reel__video { position: relative; aspect-ratio: 9 / 16; border-radius: 14px; overflow: hidden; background: #111; transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s; }
.reel__video img, .reel__video video { width: 100%; height: 100%; object-fit: cover; }
.reel__start { position: absolute; inset: 0; display: grid; place-items: end start; border: 0; padding: 14px; cursor: pointer; background: linear-gradient(0deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 45%); }
.reel__start .video__ring { width: 58px; height: 58px; box-shadow: 0 0 0 7px rgba(159,199,170,.28); }
.reel__start .video__ring svg { width: 24px; height: 24px; }
.reel__video:hover { transform: translateY(-8px) rotate(-1.2deg); box-shadow: 0 30px 50px -30px rgba(0,0,0,.8); }
.reel__video.ist-an:hover { transform: none; }
.reel__video.ist-an .reel__start { display: none; }
.reel__label { margin-top: 12px; font-weight: 600; font-size: .98rem; color: var(--grau-hell); }
.reels-wisch .wisch__fortschritt { display: none; }

@media (max-width: 760px) {
  .reel { width: min(62vw, 250px); }
  .reel:nth-child(even) { margin-top: 0; }
  .reels__bahn { gap: 12px; }
  .reels-wisch .wisch__fortschritt { display: block; margin-left: var(--rand); margin-right: var(--rand); }
  .stelle-intro .reels-wisch .wisch__fortschritt { display: none; }
}
.stelle-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .6fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.stelle-intro .reels { overflow: visible; padding: 0; }
.stelle-intro .reels__bahn { padding: 0; width: auto; }
.stelle-intro .reel { width: 100%; max-width: 300px; margin: 0 auto; }
.stelle-intro .reel__label { color: var(--grau); }
@media (max-width: 860px) { .stelle-intro { grid-template-columns: 1fr; } .stelle-intro .reel { max-width: 260px; } }

.jobs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 22px); }
.job { --farbe: var(--mint-tief); position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(260px, 24vw, 360px); border-radius: 10px; overflow: hidden; color: var(--weiss); text-decoration: none; background: var(--anthrazit); }
.job--physio { --farbe: var(--physio); }
.job--ergologo { --farbe: var(--ergologo); }
.job__medien { position: absolute; inset: 0; z-index: -2; }
.job__medien .loop { transition: transform 1s cubic-bezier(.2,.7,.2,1), filter .5s; filter: grayscale(.5); }
.job:hover .job__medien .loop, .job:focus-visible .job__medien .loop, .job.ist-an .job__medien .loop { transform: scale(1.06); filter: none; }
.job::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(43,43,42,.95) 0%, rgba(43,43,42,.72) 42%, rgba(43,43,42,.25) 100%); transition: opacity .4s; }
.job::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; z-index: 1; background: var(--farbe); transform: scaleX(.18); transform-origin: left; transition: transform .6s cubic-bezier(.3,.7,.2,1); }
.job:hover::before, .job:focus-visible::before { transform: scaleX(1); }
.job__text { padding: 24px 26px 28px; }
.job__nr { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .14em; color: var(--mint); }
.job__titel { margin: 8px 0 4px; font-size: clamp(1.45rem, 1rem + 1.5vw, 2.4rem); font-weight: 600; line-height: 1.1; transition: transform .45s cubic-bezier(.3,.7,.2,1); }
.job:hover .job__titel, .job:focus-visible .job__titel { transform: translateX(10px); }
.job__ort { display: block; color: var(--weiss); }
.job__mehr { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; font-weight: 600; color: var(--mint); }
.job__mehr::after { content: ""; width: 24px; height: 1.5px; background: currentColor; transition: width .3s; }
.job:hover .job__mehr::after { width: 42px; }
.job:focus-visible { outline: 3px solid var(--mint); outline-offset: 3px; }
.job--initiativ { background: var(--mint); color: var(--anthrazit); }
.job--initiativ::after { display: none; }
.job--initiativ::before { background: var(--anthrazit); }
.job--initiativ .job__nr, .job--initiativ .job__mehr { color: var(--anthrazit); }
.job--initiativ .job__ort { color: var(--anthrazit); }
@media (max-width: 760px) { .jobs { grid-template-columns: 1fr; } .job { min-height: 300px; } }
.wisch--jobs .wisch__bahn.jobs { display: grid; }
.job__titel { text-wrap: balance; }

.vreiter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 72px); align-items: stretch; margin-top: clamp(24px, 4vw, 48px); }
.vreiter__film { position: relative; min-height: 440px; border-radius: 10px; overflow: hidden; background: var(--anthrazit); }
.vreiter__film .loop { position: absolute; inset: 0; }
.vreiter__leiste { display: flex; gap: 4px 26px; flex-wrap: wrap; border-bottom: 1px solid var(--linie); margin-bottom: 8px; }
.vreiter__reiter { position: relative; display: inline-flex; align-items: baseline; gap: 10px; min-height: 52px; padding: 12px 0 14px; border: 0; background: none; color: var(--anthrazit); font: inherit; font-size: clamp(1.15rem, .95rem + .8vw, 1.7rem); font-weight: 300; cursor: pointer; }
.vreiter__reiter::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--mint-tief); transform: scaleX(0); transform-origin: left; transition: transform .4s; }
.vreiter__reiter[aria-selected="true"] { font-weight: 600; }
.vreiter__reiter[aria-selected="true"]::after, .vreiter__reiter:hover::after { transform: scaleX(1); }
.vreiter__reiter:focus-visible { outline: 3px solid var(--mint-tief); outline-offset: 2px; }
.vreiter__nr { font-size: .8rem; font-weight: 700; color: var(--mint-tief); }
.vreiter__titel { font-size: 1.25rem; padding-bottom: 10px; margin: 18px 0 0; border-bottom: 2px solid var(--mint); }
.vreiter--an .vreiter__titel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vreiter__panel ul { list-style: none; margin: 0; padding: 0; }
.vreiter__panel li { position: relative; padding: 15px 0 15px 34px; border-bottom: 1px solid var(--linie); font-size: clamp(1.06rem, .98rem + .45vw, 1.35rem); }
.vreiter__panel li::before { content: ""; position: absolute; left: 0; top: 1.35em; width: 18px; height: 2px; background: var(--mint-tief); }
.vreiter__panel:focus-visible { outline: 3px solid var(--mint-tief); outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .vreiter--an .vreiter__panel.ist-neu li { animation: vp-rein .55s cubic-bezier(.2,.7,.2,1) both; }
  .vreiter__panel .vp2 { animation-delay: .05s !important; } .vreiter__panel .vp3 { animation-delay: .1s !important; } .vreiter__panel .vp4 { animation-delay: .15s !important; }
  .vreiter__panel .vp5 { animation-delay: .2s !important; } .vreiter__panel .vp6 { animation-delay: .25s !important; } .vreiter__panel .vp7, .vreiter__panel .vp8 { animation-delay: .3s !important; }
}
@keyframes vp-rein { from { opacity: 0; transform: translateX(-16px); } to { opacity: 1; transform: none; } }
@media (max-width: 860px) { .vreiter { grid-template-columns: 1fr; } .vreiter__film { min-height: 0; aspect-ratio: 16 / 10; } }

@media (max-width: 600px) { .vreiter__leiste { flex-wrap: nowrap; justify-content: space-between; gap: 8px; } .vreiter__reiter { font-size: 1.02rem; gap: 6px; } .vreiter__nr { font-size: .7rem; } }
@media (max-width: 370px) { .vreiter__nr { display: none; } }

.erwartung--gross li { font-size: clamp(1.15rem, .95rem + 1vw, 1.75rem); font-weight: 300; line-height: 1.35; padding: 22px 0 22px 54px; }
.erwartung--gross li::before { top: 28px; width: 26px; height: 27px; }
.eckdaten--gross dd { font-size: clamp(1.1rem, .95rem + .7vw, 1.5rem); font-weight: 300; }

.team-bereiche { padding-top: clamp(40px, 6vw, 80px); }
.team-bereiche .teamgruppe { display: block; padding: clamp(36px, 5vw, 72px) 0; border-top: 0; }
.teamgruppe { --farbe: var(--mint-tief); }
.teamgruppe--physio { --farbe: var(--physio); }
.teamgruppe--ergologo { --farbe: var(--ergologo); }
.teamgruppe__kopf { display: flex; align-items: flex-end; gap: clamp(14px, 2vw, 28px); margin-bottom: clamp(18px, 2.4vw, 30px); }
.teamgruppe__zahl { font-size: clamp(3.6rem, 2rem + 5.4vw, 7.4rem); font-weight: 700; line-height: .78; letter-spacing: -.05em; color: var(--farbe); }
.team-bereiche .teamgruppe__titel { font-size: clamp(1.9rem, 1.1rem + 3vw, 4rem); font-weight: 300; line-height: 1; letter-spacing: -.02em; margin: 0; }
.namen { --farbe: var(--mint-tief); list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--linie); }
.namen--physio { --farbe: var(--physio); }
.namen--ergologo { --farbe: var(--ergologo); }
.namen li { position: relative; isolation: isolate; padding: 18px 16px 20px; border-bottom: 1px solid var(--linie); transition: color .3s; }
.namen li::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--farbe); transform: scaleY(0); transform-origin: bottom; transition: transform .45s cubic-bezier(.3,.7,.2,1); }
.namen li:hover::before { transform: scaleY(1); }
.namen li:hover, .namen li:hover span { color: var(--weiss); }
.namen b { display: block; font-size: clamp(1.08rem, 1rem + .45vw, 1.35rem); font-weight: 600; transition: transform .4s; }
.namen li:hover b { transform: translateX(6px); }
.namen span { display: block; color: var(--grau); font-size: .95rem; }
.werte .namen { margin-top: clamp(32px, 4vw, 52px); border-top-color: rgba(255,255,255,.2); }
.werte .namen li { border-bottom-color: rgba(255,255,255,.14); }
.werte .namen b { color: var(--weiss); }
.werte .namen span { color: var(--grau-hell); }
@media (max-width: 1023px) { .namen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .namen { grid-template-columns: 1fr 1fr; } .namen li { padding: 14px 10px 16px 0; } .namen b { font-size: 1rem; } .namen span { font-size: .85rem; } }
@media (max-width: 860px) { .mbuehne__tafeltitel { font-size: clamp(1.6rem, 1rem + 3vw, 2.2rem); } .mbuehne__tafel { padding: 20px; } }
.teamfoto { margin: clamp(12px, 2vw, 24px) 0; }
.teamfoto img { width: 100%; height: auto; border-radius: 10px; }

.teamring { --glut: var(--mint); position: relative; overflow: hidden; overflow: clip; background: var(--anthrazit-tief); color: var(--weiss); padding: clamp(64px, 8vw, 112px) 0 clamp(56px, 7vw, 96px); }
.teamring__anker { position: absolute; top: 0; left: 0; scroll-margin-top: 90px; }
.teamring__kopf { position: relative; z-index: 2; text-align: center; }
.teamring__kopf .kicker { justify-content: center; }
.teamring__titel { margin: 0; font-size: clamp(2.2rem, 1.3rem + 3.6vw, 4.4rem); font-weight: 300; line-height: 1.04; letter-spacing: -.02em; color: var(--weiss); }
.teamring__titel strong { font-weight: 700; color: var(--mint); }
.teamring__zahl { font-weight: 700; font-variant-numeric: tabular-nums; }
.teamring__reiter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: clamp(22px, 3vw, 34px); }
.treiter { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: transparent; color: var(--weiss); font: inherit; font-size: .98rem; cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.treiter span { font-size: .78rem; font-weight: 600; color: var(--mint); font-variant-numeric: tabular-nums; transition: color .25s; }
.treiter:hover { border-color: var(--mint); }
.treiter[aria-pressed="true"] { background: var(--mint); border-color: var(--mint); color: var(--anthrazit); }
.treiter[aria-pressed="true"] span { color: var(--anthrazit); }
.treiter:focus-visible, .teamring__pfeil:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }

.teamring__buehne { position: relative; }
.teamring__ring { list-style: none; margin: clamp(28px, 4vw, 48px) auto 0; padding: 0 var(--rand); max-width: 1240px; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 18px 14px; }
.tkarte { --farbe: var(--mint); position: relative; margin: 0; }
.tkarte--physio { --farbe: var(--physio); }
.tkarte--ergologo { --farbe: var(--ergologo); }
.tkarte[hidden] { display: none !important; }
.tkarte__bild { position: relative; aspect-ratio: 2 / 3; overflow: hidden; border-radius: var(--radius); background: #1f1f1e; clip-path: polygon(0 0, calc(100% - var(--facette)) 0, 100% var(--facette), 100% 100%, 0 100%); }
.tkarte__bild::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--farbe); }
.tkarte__bild picture, .tkarte__bild img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tkarte__name { margin: 10px 0 0; line-height: 1.25; }
.tkarte__name b { display: block; font-weight: 600; hyphens: auto; -webkit-hyphens: auto; }
.tkarte__name span { display: block; font-size: .85rem; color: var(--grau-hell); hyphens: auto; -webkit-hyphens: auto; }

.tkarte--typo .tkarte__bild { display: flex; align-items: flex-end; padding: 10%; background: linear-gradient(165deg, #474744 0%, #262625 72%); }
.tkarte__sk { position: absolute; top: 9%; right: 10%; width: 46%; fill: none; stroke: var(--mint); stroke-width: 2.4; opacity: .9; }
.tkarte__typo { position: relative; display: block; line-height: 1.02; }
.tkarte__typo b { display: block; font-size: clamp(1.45rem, .9rem + 1.6vw, 2.4rem); font-weight: 700; letter-spacing: -.02em; color: var(--mint); }
.tkarte__typo span { display: block; margin-top: 4px; font-size: clamp(1.05rem, .85rem + .8vw, 1.6rem); font-weight: 300; color: var(--weiss); }

.teamring__glut, .teamring__sk, .teamring__boden { display: none; }
.ist-ring .teamring__buehne { --tk-b: clamp(210px, 19vw, 290px); height: calc(var(--tk-b) * 1.5 + clamp(56px, 6vw, 96px)); margin-top: clamp(14px, 2.4vw, 34px); --tk-tiefe: 1800; isolation: isolate; touch-action: pan-y; cursor: grab; -webkit-user-select: none; user-select: none; outline: none; }
.ist-ring .teamring__buehne:active { cursor: grabbing; }
.ist-ring .teamring__buehne:focus-visible { outline: 2px solid var(--mint); outline-offset: -4px; border-radius: 12px; }
.ist-ring .teamring__ring { position: absolute; left: 50%; top: 50%; width: 0; height: 0; margin: 0; padding: 0; max-width: none; display: block; }
.ist-ring .tkarte { --tiefe: 1; position: absolute; left: calc(var(--tk-b) / -2); top: calc(var(--tk-b) * -.75); width: var(--tk-b); -webkit-backface-visibility: hidden; backface-visibility: hidden; will-change: transform; }
.ist-ring .tkarte__bild::before { content: ""; position: absolute; inset: 0; z-index: 1; background: #141413; opacity: calc(var(--tiefe) * .72); pointer-events: none; }
.ist-ring .tkarte__bild img { filter: grayscale(1) contrast(1.04); transition: filter .6s; }
.ist-ring .tkarte.ist-vorn .tkarte__bild img { filter: none; }
.ist-ring .tkarte__name { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ist-ring .teamring__glut { display: block; position: absolute; left: 50%; top: 50%; width: calc(var(--tk-b) * 2.7); aspect-ratio: 1; transform: translate(-50%, -50%); background-color: var(--glut); -webkit-mask: radial-gradient(closest-side, #000, transparent); mask: radial-gradient(closest-side, #000, transparent); opacity: .42; transition: background-color .7s; pointer-events: none; }
.ist-ring .teamring__sk { display: block; position: absolute; left: 50%; top: 50%; width: calc(var(--tk-b) * 1.64); height: auto; transform: translate(-50%, -50%); fill: none; stroke: var(--mint); stroke-width: .7; opacity: .8; overflow: visible; pointer-events: none; }
.teamring__sk path { stroke-dasharray: 100; stroke-dashoffset: 0; }
.teamring__sk.ist-neu path { animation: tr-sk 1.1s cubic-bezier(.3,.7,.2,1) both; }
@keyframes tr-sk { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
.ist-ring .teamring__buehne:focus-visible .teamring__sk { stroke-width: 1.2; opacity: 1; }
.ist-ring .teamring__boden { display: block; position: absolute; left: 50%; bottom: 0; width: min(1100px, 92%); height: 80px; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(0,0,0,.6), transparent); pointer-events: none; }

.ist-ring .teamring__fuss { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(12px, 3vw, 44px); max-width: 880px; margin: clamp(10px, 2vw, 26px) auto 0; text-align: center; }
.teamring__info.ist-neu { animation: tr-info .45s ease both; }
@keyframes tr-info { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.teamring__zaehler { margin: 0; font-size: .82rem; font-weight: 600; letter-spacing: .18em; color: var(--mint); font-variant-numeric: tabular-nums; }
.teamring__zaehler i { font-style: normal; margin-left: 14px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.25); color: var(--grau-hell); letter-spacing: .14em; text-transform: uppercase; }
.teamring__name { margin: 10px 0 0; font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.4rem); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; color: var(--weiss); }
.teamring__name strong { font-weight: 700; color: var(--mint); }
.teamring__rolle { margin: 10px auto 0; max-width: 44ch; min-height: 2.8em; color: var(--grau-hell); font-size: clamp(1rem, .95rem + .2vw, 1.12rem); line-height: 1.4; }
.teamring__pfeil { display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; color: var(--weiss); cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .2s; }
.teamring__pfeil svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.teamring__pfeil:hover { background: var(--mint); border-color: var(--mint); color: var(--anthrazit); }
.teamring__pfeil:active { transform: scale(.94); }
.teamring__hinweis { grid-column: 1 / -1; margin: -6px 0 0; font-size: .82rem; color: var(--grau-hell); transition: opacity .5s; }
.teamring__hinweis.ist-weg { opacity: 0; }

@media (max-width: 760px) {
  .teamring__reiter { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 22px calc(var(--rand) * -1) 0; padding: 0 var(--rand) 4px; scrollbar-width: none; scroll-snap-type: x proximity; scroll-padding-inline: var(--rand); }
  .teamring__reiter::-webkit-scrollbar { display: none; }
  .treiter { flex: 0 0 auto; scroll-snap-align: start; }
  .teamring__ring { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ist-ring .teamring__buehne { --tk-b: min(56vw, 250px); --tk-tiefe: 1100; }
  .ist-ring .teamring__fuss { gap: 10px; }
  .teamring__pfeil { width: 46px; height: 46px; }
  .teamring__zaehler i { display: block; margin: 6px 0 0; padding: 0; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .teamring__sk.ist-neu path, .teamring__info.ist-neu { animation: none; }
  .ist-ring .tkarte__bild img { transition: none; }
}

.hero__riesig { position: absolute; z-index: -1; left: 50%; top: 11%; margin: 0; transform: translateX(-50%); font-size: clamp(8rem, 27vw, 32rem); font-weight: 700; line-height: .8; letter-spacing: -.06em; color: var(--mint); white-space: nowrap; pointer-events: none; user-select: none; }
.hero__frei { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.hero__verlauf--vorn { z-index: 0; }
.hero--team .hero__inhalt { position: relative; z-index: 1; }
.hero--team .hero__weiter, .hero--team .hero__pause { z-index: 2; }
.hero--team { justify-content: flex-end; }
.hero--team .hero__verlauf { background: rgba(43,43,42,.25); }
.hero--team .hero__verlauf--vorn { background: linear-gradient(0deg, rgba(43,43,42,.95) 0%, rgba(43,43,42,.9) 40%, rgba(43,43,42,.55) 52%, rgba(43,43,42,0) 64%); }
.hero--team .hero__inhalt { padding-bottom: 116px; }
.hero--team .hero__titel { font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.8rem); }
.hero--team .hero__text { max-width: 560px; }
@media (min-width: 861px) and (max-aspect-ratio: 3/2) {
  .hero--team .hero__medien { top: auto; height: calc(100vw * .5625); }
  .hero--team .hero__frei { top: auto; bottom: 0; height: calc(100vw * .5625); }
}
@media (min-aspect-ratio: 2/1) { .hero--team .hero__medien img, .hero--team .hero__frei { object-position: 50% 22%; } }
@media (max-width: 860px) {

  .hero--team { --team-oben: max(var(--kopf-hoehe), calc(var(--kopf-hoehe) + (100svh - var(--kopf-hoehe) - 100vw / 1.6 - 330px) / 2)); }
  .hero--team .hero__medien { inset: auto 0 auto 0; top: var(--team-oben); height: calc(100vw / 1.6); }
  .hero--team .hero__frei { inset: auto 0 auto 0; top: var(--team-oben); height: calc(100vw / 1.6); }
  .hero--team .hero__riesig { top: calc(var(--team-oben) + 2vw); font-size: 34vw; }
  .hero--team .hero__verlauf { background: none; }
  .hero--team .hero__verlauf--vorn { background: linear-gradient(180deg, rgba(43,43,42,0) 0, rgba(43,43,42,0) calc(var(--team-oben) + 100vw / 1.6 - 70px), var(--anthrazit-tief) calc(var(--team-oben) + 100vw / 1.6 + 2px)); }
  .hero--team .hero__inhalt { padding-top: calc(var(--team-oben) + 100vw / 1.6 + 12px); padding-bottom: 112px; }
  .hero--team .hero__fenster--mobil { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .lreihe__link::before, .lreihe__titel, .lreihe__pfeil, .mbuehne__medium, .job__titel, .job::before, .namen li::before, .portraet img, .reel__video, .tour__karte img { transition: none !important; }
  .reel__video:hover { transform: none; }
}

.lead, .erwartung li, .wert p, .mbuehne__punkt p { text-wrap: pretty; }
.jobs > .job:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 1180px) { .wisch--werte.n5 .wert h3 { min-height: 2.6em; } }
.fuss__unten { align-items: baseline; }
.kapitel { background: rgba(255,255,255,.985); }
@media (min-width: 761px) { .karte-consent { aspect-ratio: auto; height: clamp(320px, 32vw, 440px); } }
.kacheln { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
@media (max-width: 860px) { .kontakt-raster { grid-template-columns: minmax(0, 1fr); } .mbuehne .mbuehne__punkt h3 { hyphens: auto; -webkit-hyphens: auto; } }
@media (max-width: 370px) { .kontakt-info .ohne-umbruch { white-space: normal; overflow-wrap: anywhere; } }
@media (max-width: 420px) { .zeiten--hell div { flex-wrap: wrap; gap: 0 16px; } .zeiten--hell dd { text-align: left; } .kontakt-info li > span:last-child { min-width: 0; } }

body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; }

.kachel:hover { border-color: #8A8A88; }
@media (hover: hover) { .kachel:hover { border-color: var(--mint-tief); } }
.bwb__frage { text-wrap: balance; }
.bwb__knoepfe [data-weiter], .bwb__knoepfe [data-senden] { margin-left: auto; }
@media (min-width: 761px) {
  .bwb__stufe:has(#f-vorname) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
  .bwb__stufe:has(#f-vorname) > * { grid-column: 1 / -1; }
  .bwb__stufe:has(#f-vorname) > .feld { grid-column: auto; }
}

.ist-js .splitter { animation-iteration-count: 2; }

@media (max-width: 1180px) { .kopf__tel { min-width: 44px; justify-content: center; } }
@media (min-width: 601px) { .buehne__punkt { width: 44px; } }
@media (max-width: 600px) { .vreiter__nr { font-size: .75rem; } }
@media (max-width: 1023px), (pointer: coarse) {
  .fuss__spalte li, .fuss__kontakt li { padding: 0; }
  .fuss__spalte li a, .fuss__kontakt a, .fuss__recht a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
}

@media (min-width: 1024px) { .fuss__raster { grid-template-columns: 1fr .6fr 1.3fr 1.5fr; } }

@media (min-width: 1100px) {
  .wisch--jobs .wisch__bahn.jobs { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .jobs > .job, .jobs > .job:last-child:nth-child(odd) { grid-column: span 2; }
  .jobs > .job:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
  .jobs > .job:nth-last-child(2):nth-child(3n+1), .jobs > .job:last-child:nth-child(3n+2) { grid-column: span 3; }
  .job { min-height: clamp(260px, 21vw, 320px); }
}

@media (min-width: 761px) and (max-width: 1179px) {
  .wisch--werte.n5 .wisch__bahn { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wisch--werte.n5 .wisch__bahn > :last-child { grid-column: 1 / -1; }
}

@media (min-width: 761px) and (max-width: 1023px) { .wisch--hochkant .wisch__bahn { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.wahl .fehler { flex-basis: 100%; margin-top: 2px; }
.feld:has(.fehler) input, .feld:has(.fehler) select, .feld:has(.fehler) textarea, .wahl:has(.fehler) label, .kacheln--fehler .kachel { border-color: #A1262B; }
.feld input:focus, .feld select:focus, .feld textarea:focus { outline-color: var(--mint-tief); }
.wahl label:has(input:checked) { font-weight: 400; box-shadow: inset 0 0 0 1px var(--mint-tief); }

.leistungsliste li { align-content: start; }
#angebote .lead { max-width: 72ch; }

@media (min-width: 761px) { .karte-consent { height: clamp(260px, 24vw, 340px); } }

@media (min-width: 361px) { .mbuehne .mbuehne__punkt h3 { hyphens: manual; -webkit-hyphens: manual; } }

.fuss__marke img { margin-left: -10px; }

@media (min-width: 861px) { .hero--start .hero__titel { font-size: max(2.5rem, min(4.6rem, calc((100vw - min(100vw * .475, 100svh * .76) - max((100vw - var(--container)) / 2, 0px) - var(--rand) - 32px) / 9.8))); } }

@media (min-width: 1100px) { .job__titel { font-size: clamp(1.45rem, .6rem + 1.25vw, 2rem); overflow-wrap: normal; hyphens: manual; } }

@media (min-width: 861px) { #faq .zweispalt > :first-child { position: sticky; top: 150px; } }

.stelle-intro { align-items: start; }
@media (max-width: 860px) { .stelle-intro .reel { margin-left: 0; } }
@media (max-width: 1023px) { .fakten__reihe { gap: 14px 32px; } }

@media (min-width: 861px) { .erzaehlung__schritt { min-height: 26vh; } }

.thema.zweispalt { align-items: start; }

@media (min-width: 761px) and (max-width: 1023px) { .teamring__reiter { gap: 6px; } .treiter { padding: 8px 13px; gap: 6px; font-size: .92rem; } }
@media (max-width: 860px), (hover: none), (pointer: coarse) { .lreihe--uebersicht .lreihe__link { column-gap: 16px; } }

@media (min-width: 761px) and (max-width: 1023px) {
  .mbuehne__punkt h3 { font-size: clamp(1.15rem, .55rem + 1.6vw, 1.45rem); hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; }
  .mbuehne__punkt { padding-right: 16px; }
}

@media (min-width: 861px) { .themen__leiste { background: var(--weiss); backdrop-filter: none; border-bottom: 1px solid var(--linie); } }

@media (min-width: 761px) { .bwb__stufe:has(#f-vorname) > .feld:has(#f-email) { grid-column: 1 / -1; } }

@media (max-width: 600px) { .kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kachel { min-height: 58px; padding: 12px; font-size: 1rem; } }
.fuss--funnel .fuss__unten { padding-bottom: calc(26px + env(safe-area-inset-bottom)); }

@media (min-width: 761px) and (max-width: 860px) { .stelle-intro { grid-template-columns: minmax(0, 1.5fr) minmax(0, .6fr); } }
@media (min-width: 861px) { .stelle-intro .reel { max-width: 250px; } }
.fakten dd a { display: inline-flex; align-items: center; min-height: 44px; }
.job--initiativ { min-height: 200px; }
#erwartung .zweispalt { align-items: start; }

#zeitplan .leistungsliste { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
@media (max-width: 1023px), (pointer: coarse) { .fuss__spalte li a { min-width: 44px; } }

@media (min-width: 861px) { .hero--lang .hero__titel { font-size: max(2.2rem, min(4.6rem, calc((100vw - min(100vw * .475, 100svh * .76) - max((100vw - var(--container)) / 2, 0px) - var(--rand) - 32px) / 11.6))); } }
#auszeichnung-titel { text-wrap: balance; }
