

@font-face {
  font-family: "ABC Repro";
  src: url("../fonts/ABCRepro-Screen.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ABC Repro";
  src: url("../fonts/ABCRepro-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ABC Repro Mono";
  src: url("../fonts/ABCReproMono-Screen.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --c-cream:      #efdecc;   
  --c-yellow:     #f8ee8f;   
  --c-blue:       #5f63aa;   
  --c-paper:      #f4f0f0;   
  --c-ink:        #000000;
  --c-ink-soft:   #1a1c1c;   
  --c-ink-muted:  #575757;   
  --c-ink-pill:   #111827;
  --c-footer:     #161616;
  --c-white:      #ffffff;
  --c-rule:       #1a1c1c;   
  --c-bar:        #efdecc;   

  --c-warm-rose:  #e9c9cb;
  --c-blue-deep:  #1c3897;

  --grain: url("data:image/png;base64,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");

  --grain-warm: url("data:image/png;base64,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");

  --design:       1280px;    
  --gutter:        clamp(24px, 13.75vw, 268px);  
  --gutter-header: clamp(24px, 8.75vw, 172px);   
  --radius-img:   30px;
  --radius-card:  12px;      
  --rule-w:       1px;

  --fs-hero:      clamp(2.375rem, calc(1.59rem + 3.872vw), 4.6876rem);  
  --fs-lead:      clamp(1.375rem, calc(0.979rem + 1.51vw), 2.1871rem);  
  --fs-h2:        clamp(1.75rem, calc(1.257rem + 1.788vw), 2.6875rem);  

  --fs-title:     clamp(1.625rem, calc(0.79rem + 1.2vw), 1.625rem);  

  --fs-display:   clamp(2.375rem, calc(1.59rem + 3.872vw), 4.6876rem);  
  --fs-body:      clamp(1rem, calc(0.764rem + 0.451vw), 1.1248rem);  
  --fs-body-lg:   clamp(1.0625rem, calc(0.799rem + 0.642vw), 1.3127rem);  
  --fs-ui:        clamp(0.875rem, calc(0.681rem + 0.243vw), 0.8754rem);  
  --fs-ui-lg:     clamp(1rem, calc(0.778rem + 0.278vw), 1.0004rem);  
  --fs-nav:       clamp(0.75rem,   calc(0.375rem + 0.469vw), 0.7502rem); 

  --w-hero-text:  clamp(300px, 36.72vw, 587px);   
  --w-praxis:     clamp(300px, 34.84vw, 558px);   
  --w-praxis-h2:  clamp(260px, 29.69vw, 475px);   
  --w-mobil:      clamp(280px, 33.13vw, 530px);   
  --w-mobil-h2:   clamp(260px, 30.00vw, 480px);   
  --w-team:       clamp(300px, 35.16vw, 563px);   
  --w-team-h2:    clamp(280px, 35.16vw, 563px);   
  --w-aktuelles:  clamp(320px, 54.38vw, 870px);   
  --w-rechtstext: 720px;     

  --stack:        48px;      

  --bar-h:        104px;     
  --header-h:     160px;     
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: calc(var(--bar-h) + 16px);
}

body {
  margin: 0;
  background: var(--c-paper);
  color: var(--c-ink);
  font-family: "ABC Repro", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: var(--fs-body);
  line-height: 1.75;           
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { display: block; max-width: 100%; height: auto; }

h1, h2, h3, p, figure, dl, dt, dd { margin: 0; }

a { color: inherit; }

:focus-visible {
  outline: 2px solid var(--c-ink);
  outline-offset: 3px;
}

.team :focus-visible,
.site-footer :focus-visible,
.faq :focus-visible { outline-color: var(--c-white); }

.skip-link {
  position: absolute;
  left: 8px;
  top: -100px;
  z-index: 10;
  padding: 12px 20px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-white);
  text-decoration: none;
  transition: top 0.15s ease;
}
.skip-link:focus { top: 8px; }

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%);
  white-space: nowrap;
}

.shell {
  width: 100%;
  background: var(--c-paper);
  overflow: clip;
}

.container {
  padding-inline: var(--gutter);
}

.band {
  position: relative;
  isolation: isolate;   
}

.band--warm {
  overflow: clip;
  --bogen-x:   80px;   
  --bogen-y:  105px;   
  --bogen-rx: 401px;   
}

body:not(.page--sub) .band--warm {
  --bogen-x: 60px;
  --bogen-y: 350px;   
  --bogen-rx: 402px;
}

.band--warm,
.page--rechtlich .shell {
  background-color: var(--c-cream);
  background-image:
    var(--grain-warm),
    radial-gradient(115% 95% at 76% 80%, var(--c-yellow) 0%, transparent 60%),
    radial-gradient(70% 55% at 2% 100%, var(--c-warm-rose) 0%, transparent 65%),
    linear-gradient(148deg, var(--c-cream) 0%, var(--c-cream) 38%, var(--c-yellow) 100%);
  background-blend-mode: overlay, normal, normal, normal;
}

.band--team {
  --linie-x:  7.29%;    
  --linie-y: 14.12%;    
  --kreis-x: 59.15%;    
  --kreis-y: -22.54%;
  --kreis-rx: 37.19%;    
  background-color: var(--c-blue);
  background-image:
    var(--grain),
    radial-gradient(70% 65% at 40% -6%, var(--c-warm-rose) 0%, transparent 50%),
    radial-gradient(80% 75% at 90% 72%, var(--c-blue-deep) 0%, transparent 68%),
    linear-gradient(165deg, var(--c-blue) 0%, var(--c-blue) 100%);
  background-blend-mode: overlay, normal, normal, normal;
}

.band--warm::before,
.band--warm::after,
.band--team::before,
.band--team::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.band--warm::before {
  left: var(--bogen-x);
  top:  var(--bogen-y);
  width: calc(var(--bogen-rx) * 2);
  aspect-ratio: 1;   
  translate: -50% -50%;
  border: 1px solid rgb(255 255 255 / 0.85);
  border-radius: 50%;
}

.band--warm::after {
  left: 0;
  right: 0;
  top: 100vh;
  border-top: 1px solid rgb(255 255 255 / 0.85);
}

.band--team::before {
  left: var(--kreis-x);
  top:  var(--kreis-y);
  width: calc(var(--kreis-rx) * 2);
  aspect-ratio: 1;   
  translate: -50% -50%;
  border: 1px solid rgb(255 255 255 / 0.8);
  border-radius: 50%;
}

.band--team::after {
  inset: 0;
  background-repeat: no-repeat;
  background-image:
    linear-gradient(rgb(255 255 255 / 0.8), rgb(255 255 255 / 0.8)),
    linear-gradient(rgb(255 255 255 / 0.8), rgb(255 255 255 / 0.8));
  background-size: 100% 1px, 1px 100%;
  background-position: 0 var(--linie-y), var(--linie-x) 0;
}

.band__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;

  --punkt-von: -30deg;
  --punkt-bis: 95deg;
}

.band__bahn {
  position: absolute;
  left: var(--bogen-x);
  top:  var(--bogen-y);
  width: calc(var(--bogen-rx) * 2);
  aspect-ratio: 1;   
  translate: -50% -50%;
}

@property --punkt-winkel {
  syntax: "<angle>";
  inherits: false;
  initial-value: -30deg;
}

.band__dot {
  position: absolute;
  --punkt-winkel: var(--punkt-von);
  left: calc(50% + 50% * cos(var(--punkt-winkel)));
  top:  calc(50% + 50% * sin(var(--punkt-winkel)));
  translate: -50% -50%;
  width: 15.5px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--c-white);
}

.band__linie {
  position: absolute;
  left: 0;
  width: 660px;
  top: 300px;
  border-top: 1px solid rgb(255 255 255 / 0.85);
}

.band__formen {
  position: absolute;
  inset: 0;
  z-index: -1;   
  pointer-events: none;
}

.band__form {
  position: absolute;
  max-width: none;
  height: auto;
}

.band__form--stern            { width: 130px; }
.band__form--doppel-ei        { width: 800px; }
.band__form--kreise-punktiert { width: 800px; }

.band--ohne-bogen::before { display: none; }

.band--ohne-linie::after { display: none; }

.band--bogen-rechts { --bogen-x: calc(100% - 60px); --bogen-y: 60px; }    
.band--bogen-unten  { --bogen-x: 120px; --bogen-y: calc(100% - 40px); }   
.band--bogen-mitte  { --bogen-x: 50%;  --bogen-y: -200px; }              

.band__formen--leistungen .band__form--stern     { top: 215px; left: 745px; }   
.band__formen--leistungen .band__form--doppel-ei { bottom: -170px; right: -240px; }

.band__formen--besuch .band__form--kreise-punktiert { bottom: -180px; left: -140px; }

.band__formen--termin .band__form--stern { bottom: -50px; right: 125px; }   

.band__formen--mobil .band__form--doppel-ei { bottom: -150px; right: -230px; }

.band__formen--praxis .band__form--stern { top: 495px; left: 24px; }   

.band__formen--ueberweiser .band__form--kreise-punktiert { bottom: -330px; right: -260px; width: 1100px; }   

.band__formen--aktuelles .band__form--stern     { top: 155px; left: 665px; }   
.band__formen--aktuelles .band__form--doppel-ei { bottom: -170px; right: -240px; }

.band__formen--karriere .band__form--doppel-ei { bottom: -150px; right: -220px; }

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {

    .band--warm { view-timeline: --band-warm block; }

    .band__dot {
      animation-name: punkt-laeuft;
      animation-duration: auto;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: --band-warm;
      animation-range: 35% 60%;
    }

    @keyframes punkt-laeuft {
      from { --punkt-winkel: var(--punkt-von); }
      to   { --punkt-winkel: var(--punkt-bis); }
    }

    .page--sub .band__form,
    .page--sub .band--warm::before {
      animation-duration: auto;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: scroll(root);
      animation-range: 0 1000px;
    }
    .page--sub .band__form          { animation-name: parallax-form; }
    .page--sub .band__form--stern   { animation-name: parallax-stern; }
    .page--sub .band--warm::before  { animation-name: parallax-kreis; }

    @keyframes parallax-form  { from { translate: 0 0; } to { translate: 0 100px; } }
    @keyframes parallax-stern { from { translate: 0 0; } to { translate: 0 180px; } }
    @keyframes parallax-kreis {
      from { translate: -50% -50%; }
      to   { translate: -50% calc(-50% + 100px); }
    }
  }
}

.rule {
  border: 0;
  border-top: var(--rule-w) solid var(--c-rule);
  margin: 0;
}

.t-hero {
  font-weight: 500;
  font-size: var(--fs-hero);
  line-height: 1.107;          
}

.t-lead {
  font-weight: 500;
  font-size: var(--fs-lead);
  line-height: 1.257;          
}

.t-h2 {
  font-weight: 500;
  font-size: var(--fs-h2);
  line-height: 1.15;
}

.t-display {
  font-weight: 500;
  font-size: var(--fs-display);
  line-height: 1.213;          
  color: var(--c-ink-soft);
}

.t-body {
  font-size: var(--fs-body);
  line-height: 1.75;           
}

.t-body-lg {
  font-size: var(--fs-body-lg);
  line-height: 1.7;            
}

.t-muted { color: var(--c-ink-muted); }

.t-mono { font-family: "ABC Repro Mono", ui-monospace, "SFMono-Regular", Menlo, monospace; }

.stack > * + * { margin-top: var(--stack); }

.pill {
  display: inline-block;
  padding: 5px 16px;
  border: 1px solid currentColor;
  border-radius: 81px;
  color: var(--c-ink-pill);
  font-size: var(--fs-ui);
  font-weight: 500;
  line-height: 17px;
  text-transform: uppercase;
  letter-spacing: 0;
}

.pill--light { color: var(--c-white); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 32px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-white);
  font-family: inherit;
  font-size: var(--fs-ui);
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;   
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.btn--outline {
  background: var(--c-white);
  color: var(--c-ink);
  border-color: var(--c-ink);
}

.btn--dunkel {
  background: transparent;
  color: var(--c-white);
  border-color: var(--c-white);
}

.btn:hover { background: var(--c-white); color: var(--c-ink); border-color: var(--c-ink); }
.btn--outline:hover { background: var(--c-ink); color: var(--c-white); border-color: var(--c-white); }
.btn--dunkel:hover { background: var(--c-white); color: var(--c-ink); }

.figure-rounded {
  border-radius: var(--radius-img);
  overflow: hidden;
  width: 100%;
}

.figure-rounded img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.platzhalter-box {
  padding: 48px 32px;
  border: 1px dashed var(--c-ink-muted);
  border-radius: var(--radius-card);
  text-align: center;
}

.platzhalter-box p { color: var(--c-ink-muted); }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 20;
  height: var(--header-h);
  pointer-events: none;
}

.site-header--versteckt::before,
.site-header--versteckt .site-header__row,
.site-header--versteckt .site-header__signet {
  opacity: 0;
  pointer-events: none;
}

.site-header::before,
.site-header__row,
.site-header__signet { transition: opacity 0.3s ease; }

@media (prefers-reduced-motion: reduce) {
  .site-header::before,
  .site-header__row,
  .site-header__signet { transition: none; }
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--bar-h);
  background: transparent;
  pointer-events: auto;
  isolation: isolate;
  will-change: opacity;
}

.site-header--kontrast::before {
  background-color: var(--c-bar);
  background-image: var(--grain-warm);
  background-blend-mode: overlay;
}

.site-header__signet {
  position: absolute;
  top: 16px;
  left: calc(var(--gutter-header) + 4px);
  width: 33px;
  pointer-events: auto;
  z-index: 2;
}

.site-header__signet img { width: 100%; height: auto; }

@keyframes signet-schrumpft {
  from  { top: calc(50vh - 320px); left: 130px; width: 150px; }
  to    { top: 16px;  left: calc(var(--gutter-header) + 4px); width: 33px; }
}

@supports (animation-timeline: scroll()) {
  @media (min-width: 1152px) and (min-height: 600px) and (prefers-reduced-motion: no-preference) {
    body:not(.page--sub) .site-header__signet {
      animation-name: signet-schrumpft;
      animation-duration: auto;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: scroll(root);
      animation-range: 0 400px;
    }
  }
}

.site-header__row {
  position: relative;   
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: var(--bar-h);
  padding-inline: var(--gutter-header);
}

.site-nav {
  display: flex;
  align-items: center;
  pointer-events: auto;
}

.site-nav__liste {
  display: flex;
  align-items: center;
  gap: 56px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav__liste a {
  display: inline-block;
  font-size: var(--fs-nav);
  font-weight: 500;
  line-height: 20px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  padding-block: 6px;      
  margin-block: -6px;
}

.site-nav__liste a:hover { text-decoration: underline; }
.site-nav__liste a[aria-current="page"] { text-decoration: underline; }

.btn--nav {
  margin-left: 48px;
  min-height: 31px;
  padding: 6px 24px;
  border-radius: 27px;
  font-size: var(--fs-nav);
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 0;
}

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 10px;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  pointer-events: auto;
}

.nav-offen .nav-toggle { color: var(--c-white); }

.nav-toggle__balken,
.nav-toggle__balken::before,
.nav-toggle__balken::after {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.nav-toggle__balken { position: relative; }

.nav-toggle__balken::before,
.nav-toggle__balken::after {
  content: "";
  position: absolute;
  left: 0;
}

.nav-toggle__balken::before { top: -7px; }
.nav-toggle__balken::after  { top:  7px; }

.nav-toggle[aria-expanded="true"] .nav-toggle__balken { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__balken::before { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__balken::after  { transform: translateY(-7px) rotate(-45deg); }

.hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-top: 96px;   
  padding-bottom: 96px;
  min-height: 100vh;
  align-content: center;
}

.hero__body {
  grid-column: 2;
  padding-left: 16px;
  margin-top: 56px;
}

.hero__title { max-width: none; }

.hero__lead {
  margin-top: 41px;
  max-width: none;
  line-height: 1.4;    
}

.hero__lead-haelfte { white-space: nowrap; }

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 21px;
  margin-top: 53px;
}

.praxis {
  display: grid;
  grid-template-columns: minmax(0, var(--w-praxis)) minmax(0, 1fr);
  gap: clamp(32px, 4.38vw, 70px);
  padding-top: 113px;
  padding-bottom: 68px;
  min-height: 100vh;
  align-content: start;
}

.praxis__title { max-width: var(--w-praxis-h2); }   

.praxis__media { aspect-ratio: 440 / 483; align-self: center; }

.mobil {
  display: grid;
  grid-template-columns: 505fr 775fr;
  background: var(--c-paper);
  border-top: var(--rule-w) solid var(--c-white);   
  position: relative;
  z-index: 1;
  min-height: 100vh;   
}

.mobil__media {
  position: relative;
  min-height: 768px;
}

.mobil__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mobil__body {
  align-self: center;
  padding: 64px var(--gutter) 72px 120px;
}

.mobil__title { max-width: none; }

.team {
  color: var(--c-white);
  padding-top: 302px;    
  padding-bottom: 92px;
  min-height: 100vh;   
}

.team__inner {
  display: grid;
  grid-template-columns: minmax(0, var(--w-team)) minmax(0, 1fr);
  gap: clamp(32px, 4.38vw, 70px);
  padding-left: 12.34%;  
  padding-right: var(--gutter);
}

.team__title {
  margin-top: 30px;
  max-width: var(--w-team-h2);
}

.team__text { margin-top: 64px; }

.team__actions { margin-top: 48px; }

.team__media { margin-top: 60px; }

.aktuelles {
  background: var(--c-paper);
  padding-top: 119px;
  padding-bottom: 119px;
}

.notfallhinweis {
  background: var(--c-white);
  padding-top: 64px;
  padding-bottom: 119px;
}

.ruled {
  background: var(--c-white);
  border-top: var(--rule-w) solid var(--c-rule);
}

.aktuelles .ruled { background: var(--c-paper); }

.ruled__line {
  display: block;
  padding-left: var(--gutter);   
  padding-right: var(--gutter);
  border-bottom: var(--rule-w) solid var(--c-rule);
}

.aktuelles__body {
  margin-left: var(--gutter);
  margin-top: 32px;
  padding-right: var(--gutter);
  max-width: var(--w-aktuelles);
}

.aktuelles__actions {
  padding-left: var(--gutter);
  margin-top: 33px;
}

.leistungen-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.leistungen-intro__title { max-width: var(--w-hero-text); }

.leistungen-intro__lead {
  margin-top: 32px;
  max-width: var(--w-aktuelles);
}

.leistungen { padding-bottom: 96px; }

.leistungen--abstand { padding-top: 64px; }

.zielgruppen__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zielgruppen-card,
.stellen-card {
  display: flex;
  flex-direction: column;
  padding: 32px;
  border-radius: var(--radius-card);
  background: var(--c-blue);
  color: var(--c-white);
}

.zielgruppen-card__title,
.stellen-card__titel {
  display: block;
  font-size: var(--fs-title);   
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0;
}

.zielgruppen-card__title { margin-top: 4px; }

.zielgruppen-card__text,
.stellen-card__text { margin-top: 24px; }

.zielgruppen-card__action,
.stellen-card__action { margin-top: auto; padding-top: 24px; }

.leistungen-kacheln {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  isolation: isolate;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

@media (min-width: 901px) and (max-width: 1151px) {
  .leistungen-kacheln { grid-template-columns: 1fr; }
}

.leistungen-kacheln.hat-offene {
  z-index: 1;
}

.leistung-kachel {
  position: relative;
  height: calc(2px + 64px + var(--fs-ui) * 1.25 + 4px + var(--fs-title) * 2.3);
}

.leistung-kachel__box {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: var(--radius-card);
  border: var(--rule-w) solid var(--c-ink);
  background: var(--c-white);
  color: var(--c-ink);
}

.leistungen-kacheln.hat-offene > .leistung-kachel:not(.ist-offen) {
  z-index: -1;
}

.leistung-kachel.ist-offen .leistung-kachel__box {
  bottom: auto;
  height: auto;
  overflow: visible;
  z-index: 1;
}

.leistung-kachel__kopf {
  position: relative;
  display: block;
  width: 100%;
  padding: 32px 32px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.leistung-kachel__kopf:focus-visible {
  outline-offset: -6px;
  border-radius: var(--radius-card);
}

.leistung-kachel:not(.ist-offen) .leistung-kachel__kopf {
  padding-bottom: 32px;
}

.leistung-kachel__claim {
  display: block;
  font-size: var(--fs-ui);
  line-height: 1.25;           
  font-weight: 500;
  text-transform: uppercase;
  color: var(--c-blue);
}

.leistung-kachel__name {
  display: block;
  margin-top: 4px;
  font-size: var(--fs-title);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0;
  hyphens: manual;
  overflow-wrap: break-word;
}

.leistung-kachel:not(.ist-offen) .leistung-kachel__rumpf {
  display: none;
}

.leistung-kachel__rumpf { padding: 16px 32px 32px; }

.leistung-kachel__text + .leistung-kachel__text { margin-top: 16px; }

.leistung-kachel__action { margin-top: 24px; }

.leistung-kachel__chevron {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  pointer-events: none;
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}

.leistung-kachel.ist-offen .leistung-kachel__chevron {
  transform: rotate(180deg);
}

.leistung-kachel__chevron::before,
.leistung-kachel__chevron::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  margin: -1px 0 0 -10px;
  background: currentColor;
  transition: clip-path 0.15s ease;
}

.leistung-kachel__chevron::before {
  transform: rotate(45deg);
  clip-path: inset(0 50% 0 0);
}

.leistung-kachel__chevron::after {
  transform: rotate(-45deg);
  clip-path: inset(0 0 0 50%);
}

.leistung-kachel.ist-offen .leistung-kachel__chevron::before,
.leistung-kachel.ist-offen .leistung-kachel__chevron::after {
  clip-path: inset(0 0 0 0);
}

.mobile-versorgung {
  padding-top: 96px;
  padding-bottom: 96px;
}

.mobile-versorgung--eng { padding-top: 45px; }

.mobile-versorgung--lila {
  position: relative;
  overflow: clip;
  padding-bottom: 192px;
  background:
    var(--grain),
    radial-gradient(80% 75% at 90% 72%, var(--c-blue-deep) 0%, transparent 68%),
    linear-gradient(165deg, var(--c-blue) 0%, var(--c-blue) 100%);
  background-blend-mode: overlay, normal, normal;
  color: var(--c-white);
}

.mobile-versorgung__kacheln { margin-top: 32px; }

.besuch-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.besuch-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}

.besuch-intro__title { max-width: var(--w-hero-text); }

.besuch-intro__lead {
  margin-top: 24px;
  max-width: var(--w-hero-text);
}

.sprechzeiten__title {
  font-weight: 500;
  font-size: var(--fs-body-lg);
  text-transform: uppercase;
  letter-spacing: 0;
}

.sprechzeiten__liste,
.eckdaten__liste {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
}

.sprechzeiten__zeile,
.eckdaten__zeile {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-block: 13px;
  border-bottom: var(--rule-w) solid var(--c-rule);
}

.sprechzeiten__zeile dt,
.eckdaten__zeile dt {
  font-size: var(--fs-ui);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sprechzeiten__zeile dd,
.eckdaten__zeile dd { font-size: var(--fs-body); }

.sprechzeiten__block { white-space: nowrap; }

.anfahrt {
  position: relative;
  min-height: 660px;
  overflow: clip;
}

.anfahrt__karte {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, rgb(0 0 0 / 0.05) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(90deg, rgb(0 0 0 / 0.05) 0 1px, transparent 1px 48px),
    var(--c-paper);
}

.anfahrt__karte-map { width: 100%; height: 100%; }

.anfahrt__karte .anfahrt__hinweis {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 280px;
  text-align: center;
}

.anfahrt__hinweis {
  padding: 10px 20px;
  border: 1px dashed var(--c-ink-muted);
  border-radius: var(--radius-card);
  background: var(--c-paper);
  color: var(--c-ink-muted);
  font-size: var(--fs-ui);
}

.anfahrt__adresse,
.anfahrt__parken {
  position: absolute;
  left: var(--gutter);
  max-width: 384px;
  padding: 25px;
  border-radius: var(--radius-card);
  background: var(--c-blue);
  color: var(--c-white);
}

.anfahrt__adresse { top: 48px; }
.anfahrt__parken { bottom: 48px; }

.anfahrt__adresse-titel,
.anfahrt__parken-titel {
  font-weight: 500;
  font-size: var(--fs-body-lg);
}

.anfahrt__adresse address { font-style: normal; }
.anfahrt__adresse .t-body,
.anfahrt__parken .t-body { margin-top: 8px; }
.anfahrt__adresse .btn { margin-top: 16px; }

.anfahrt .maplibregl-popup-content {
  padding: 16px 18px;
  border: var(--rule-w) solid var(--c-ink);
  border-radius: var(--radius-card);
  font-family: inherit;
  font-size: var(--fs-ui);
  box-shadow: none;
}

.anfahrt .maplibregl-popup-tip { border-top-color: var(--c-ink); }
.anfahrt .maplibregl-popup-close-button { font-size: 18px; color: var(--c-ink-muted); }
.anfahrt .maplibregl-ctrl-group { border-radius: var(--radius-card); overflow: clip; }

.besuch-info {
  padding-top: 96px;
  border-top: var(--rule-w) solid var(--c-white);
}
.besuch-info .alternierend-block { margin-top: 0; }

.besuch-info__untertitel {
  margin-top: var(--stack);
  font-weight: 500;
  font-size: var(--fs-body-lg);
}

.besuch-info .alternierend-block { align-items: stretch; }
.besuch-info .alternierend-block__foto {
  aspect-ratio: auto;
  height: 100%;
}

.termin-erster {
  padding-top: 96px;
  padding-bottom: 96px;
}

.termin-erster > * + * { margin-top: 24px; }

.termin-erster__lead { max-width: var(--w-aktuelles); }

.termin-notfall__label {
  font-size: var(--fs-ui);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
}

.termin-notfall__label + .termin-notfall__liste { margin-top: 40px; }

.termin-notfall__liste {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.termin-notfall__liste li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.termin-notfall__check {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border: 1.5px solid var(--c-ink);
  border-radius: 50%;
}

.termin-notfall__check::before {
  content: "";
  display: block;
  width: 9px;
  height: 5px;
  margin: 6px auto 0;
  border-left: 1.5px solid var(--c-ink);
  border-bottom: 1.5px solid var(--c-ink);
  transform: rotate(-45deg) translateY(-1px);
}

.notfall {
  display: flex;
  flex-direction: column;
  padding: 44px;
  border-radius: var(--radius-card);
  background: var(--c-ink);
  color: var(--c-white);
}

.notfall__text {
  margin-top: 16px;
  color: rgb(255 255 255 / 0.7);
}

.notfall__action { margin-top: auto; padding-top: 32px; }

.faq {
  position: relative;
  overflow: clip;
  padding: 96px var(--gutter);
  padding-bottom: 192px;
  background:
    var(--grain),
    radial-gradient(80% 75% at 90% 72%, var(--c-blue-deep) 0%, transparent 68%),
    linear-gradient(165deg, var(--c-blue) 0%, var(--c-blue) 100%);
  background-blend-mode: overlay, normal, normal;
  color: var(--c-white);
}

.faq__kopf {
  max-width: 760px;
  margin-inline: auto;
}

.faq__titel { margin-top: 16px; }

.faq__liste {
  margin: 48px auto 0;
  max-width: 760px;
  padding: 0;
  list-style: none;
}

.faq__item {
  border-top: var(--rule-w) solid rgb(255 255 255 / 0.35);
}

.faq__item:last-child { border-bottom: var(--rule-w) solid rgb(255 255 255 / 0.35); }

.faq__frage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-block: 24px;
  font-size: var(--fs-body-lg);
  font-weight: 500;
  cursor: pointer;
  list-style: none;
}

.faq__frage::-webkit-details-marker { display: none; }

.faq__icon {
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
}

.faq__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}

details[open] .faq__icon::before { transform: rotate(225deg); }

.faq__antwort { padding-bottom: 24px; }

.termin-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.termin-intro__lead {
  margin-top: 24px;
  max-width: var(--w-aktuelles);
}

.buchung { padding-block: 64px; }

.buchung__iframe {
  display: block;
  width: 100%;
  height: clamp(640px, 85vh, 900px);
  border: 2px solid var(--c-ink);
  border-radius: var(--radius-card);
  background: var(--c-white);
}

.telefon { padding-bottom: 96px; }

.telefon-card {
  max-width: var(--w-hero-text);
  padding: 32px;
  border: 2px solid var(--c-ink);
  border-radius: var(--radius-card);
  background: var(--c-white);
}

.telefon-card h2 { font-size: var(--fs-body-lg); }

.telefon__nummer {
  margin-top: 16px;
  font-size: var(--fs-lead);
  font-weight: 500;
  line-height: 1.257;   
}

.telefon__nummer a { text-decoration: none; }
.telefon__nummer a:hover { text-decoration: underline; }

.mobile-zahnmedizin-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.mobile-zahnmedizin-intro__lead {
  margin-top: 24px;
  max-width: var(--w-aktuelles);
}

.mobile-zahnmedizin-media-section { padding-top: 64px; padding-bottom: 64px; }

.mobile-zahnmedizin-media { margin: 0; }
.mobile-zahnmedizin-media__bild { aspect-ratio: 21 / 8; }
.mobile-zahnmedizin-media__unterschrift { margin-top: 16px; }

.mobile-behandlungszimmer h2 { max-width: var(--w-aktuelles); }

.mobile-behandlungszimmer .t-body {
  margin-top: 16px;
  max-width: var(--w-aktuelles);
}

.zielgruppen { padding-bottom: 24px; margin-top: 96px; }

.zielgruppen-kontakt { padding-bottom: 96px; }

.zielgruppen-kontakt .rekrutierung-box { margin-top: 64px; }

@media (min-width: 1152px) and (min-height: 600px) {
  .zielgruppen-kontakt {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .zielgruppen-kontakt .rekrutierung-box {
    margin-top: 0;
    justify-content: space-between;
  }
}

.praxis-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.praxis-intro__lead {
  margin-top: 24px;
  max-width: var(--w-aktuelles);
}

.praxis-team { padding-bottom: 96px; }

.team-liste,
.beitraege-liste {
  margin: 0;
  padding: 0;
  list-style: none;
}

.team-profil,
.beitrag {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: 24px;
  padding-block: 48px;
  border-top: var(--rule-w) solid var(--c-rule);
}

.team-liste .team-profil:first-child,
.beitraege-liste .beitrag:first-child { border-top: 0; padding-top: 0; }

.team-profil,
.beitrag { gap: 48px; }

.team-profil__foto { aspect-ratio: 1 / 1; }

.team-profil__silhouette {
  width: 100%;
  border-radius: var(--radius-img);
  background: var(--c-white);
  overflow: hidden;
}
.team-profil__silhouette::after {
  content: "";
  display: block;
  height: 100%;
  background: color-mix(in srgb, var(--c-cream) 50%, var(--c-white));
  -webkit-mask: url("../svg/silhouette-person.svg") center bottom / 80% no-repeat;
  mask: url("../svg/silhouette-person.svg") center bottom / 80% no-repeat;
}

.beitrag__foto { aspect-ratio: 1 / 1; }
.beitrag__foto--flyer { aspect-ratio: 848 / 1200; }

.team-profil__name { font-size: var(--fs-lead); font-weight: 500; line-height: 1.257; }

.team-profil__rolle {
  margin-top: 4px;
  font-size: var(--fs-ui);
  line-height: 1.25;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
  color: var(--c-ink-muted);
}

.team-profil__schwerpunkte { margin-top: 8px; }

.team-profil__qa {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.team-profil__frage {
  font-size: var(--fs-body);
  font-weight: 500;
  letter-spacing: 0;
}

.team-profil__antwort { margin-top: 4px; }

.team-profil__zitat {
  margin-top: 24px;
  font-size: var(--fs-body-lg);
  font-weight: 500;
  line-height: 1.4;    
}

.team-raster--aktiv {
  --team-kachel: 214px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.team-raster--aktiv .team-liste { display: contents; }

.team-raster--aktiv .team-rekrutierung {
  grid-column: 1 / -1;
  justify-content: center;
  margin-top: 0;
  border: var(--rule-w) solid var(--c-ink);
  background: var(--c-ink);
  color: var(--c-white);
}

.team-raster--aktiv .team-rekrutierung .btn {
  background: var(--c-white);
  color: var(--c-ink);
  border-color: var(--c-ink);
}

.team-raster--aktiv .team-rekrutierung .btn:hover {
  background: var(--c-ink);
  color: var(--c-white);
  border-color: var(--c-white);
}

.team-raster--aktiv .team-rekrutierung :focus-visible { outline-color: var(--c-white); }

.team-liste--raster .team-profil {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 12px 12px 20px;
  border: var(--rule-w) solid var(--c-ink);
  border-radius: var(--radius-card);
  background: var(--c-white);
}

.team-liste--raster .team-profil:first-child { padding-top: 12px; border-top: var(--rule-w) solid var(--c-ink); }

.team-liste--raster .team-profil--mit-antworten { cursor: pointer; transition: background-color 0.15s ease; }
.team-liste--raster .team-profil--mit-antworten:hover { background: var(--c-paper); }

.team-liste--raster .team-profil__foto {
  max-width: none;
  border-radius: calc(var(--radius-card) - 4px);
}

.team-liste--raster .team-profil__body { padding-inline: 8px; }

.team-liste--raster .team-profil__details,
.team-liste--raster .team-profil__hinweis { display: none; }

.team-liste--raster .team-profil__name { font-size: var(--fs-body-lg); }

.team-liste--raster .team-profil__rolle { overflow-wrap: break-word; }

.team-profil__knopf {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.team-profil__knopf::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-card);
}

.team-profil__knopf:focus-visible { outline: 0; }
.team-profil__knopf:focus-visible::after {
  outline: 2px solid var(--c-ink);
  outline-offset: 3px;
}

.team-dialog {
  position: fixed;
  width: min(760px, calc(100vw - 48px));
  max-width: none;
  max-height: calc(100dvh - 48px);
  padding: 0;
  border: 0;
  border-radius: var(--radius-card);
  background: var(--c-white);
  color: var(--c-ink);
  overflow: hidden;
}

.team-dialog[open] {
  display: flex;
  flex-direction: column;
}

.team-dialog::backdrop { background: color-mix(in srgb, var(--c-ink) 55%, transparent); }

html:has(.team-dialog[open]) { overflow: hidden; }

.team-dialog__inhalt {
  min-height: 0;
  padding: 88px 56px 56px;
  overflow-y: auto;
}

.team-dialog__kopf {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  align-items: start;
  gap: 32px;
}

.team-dialog .team-profil__foto { max-width: none; }

.team-dialog__inhalt > .team-profil__qa {
  margin-top: 40px;
  padding-top: 40px;
  border-top: var(--rule-w) solid var(--c-rule);
}

.team-dialog__schliessen {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-ink);
  cursor: pointer;
}

.team-dialog__inhalt:focus { outline: 0; }

.team-dialog__schliessen::before,
.team-dialog__schliessen::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 20px;
  height: 2px;
  background: currentColor;
  transform: rotate(45deg);
}

.team-dialog__schliessen::after { transform: rotate(-45deg); }

.team-rekrutierung,
.rekrutierung-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  margin-top: 24px;
  padding: 44px;
  border: 2px solid var(--c-ink);
  border-radius: var(--radius-card);
  background: var(--c-white);
}

.team-rekrutierung__text .t-body,
.rekrutierung-box__text .t-body { margin-top: 8px; }

.rekrutierung-box__satz {
  font-size: var(--fs-title);
  font-weight: 500;
  line-height: 1.15;
}

.der-ort { background: var(--c-white); }

.der-ort-intro { padding-top: 96px; }

.der-ort-intro__lead { margin-top: 16px; max-width: var(--w-aktuelles); }

.der-ort-block,
.alternierend-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  margin-top: 64px;
}

.der-ort-block__foto,
.alternierend-block__foto { aspect-ratio: 4 / 3; }

.der-ort-block__foto { aspect-ratio: 1 / 1; height: auto; align-self: start; }

.der-ort-block__text .t-body,
.alternierend-block__text .t-body { margin-top: 16px; }

.der-ort-raeume { margin-top: 48px; padding-bottom: 128px; }
.der-ort-raeume .t-body { margin-top: 16px; max-width: var(--w-aktuelles); }

.einblicke__grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 24px;
}

.einblicke__foto { aspect-ratio: 1 / 1; }

.einblicke__foto--gross { grid-column: span 2; grid-row: span 2; }

.foto-platzhalter {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  padding: 16px;
  border: 1px dashed var(--c-ink-muted);
  border-radius: var(--radius-img);
  background: var(--c-paper);
  color: var(--c-ink-muted);
  font-size: var(--fs-ui);
  text-align: center;
}

.ueberweiser-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.ueberweiser-intro__lead {
  margin-top: 24px;
  max-width: var(--w-aktuelles);
}

.selbstverstaendnis {
  position: relative;
  z-index: 1;
  background: var(--c-white);
  padding-block: 64px;
}

.selbstverstaendnis__text {
  margin-top: 16px;
  max-width: var(--w-aktuelles);
}

.selbstverstaendnis__liste {
  margin-top: 32px;
  max-width: var(--w-aktuelles);
}

.selbstverstaendnis__weg { margin-top: 32px; }

.vita { padding-block: 64px; color: var(--c-white); overflow: clip; }

.vita__liste,
.vita__liste ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.vita__liste { margin-top: 16px; }
.vita__liste li {
  position: relative;
  padding-left: 1.25em;
}
.vita__liste li + li,
.vita__liste ul { margin-top: 8px; }
.vita__text--zu {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 6em), transparent);
  mask-image: linear-gradient(to bottom, black calc(100% - 6em), transparent);
}
.vita__schalter {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  margin: 16px 0 0 -14px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-white);
  cursor: pointer;
  transition: transform 0.3s ease;
}
.vita__schalter.ist-offen { transform: rotate(180deg); }
.vita__schalter::before,
.vita__schalter::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  margin: -1px 0 0 -10px;
  background: currentColor;
}
.vita__schalter::before { transform: rotate(45deg);  clip-path: inset(0 50% 0 0); }
.vita__schalter::after  { transform: rotate(-45deg); clip-path: inset(0 0 0 50%); }

.vita__liste li::before {
  content: "–";
  position: absolute;
  left: 0;
}
.vita__liste ul li::before {
  content: "";
  top: calc(0.975em - 0.225em);
  width: 0.45em;
  height: 0.45em;
  border: var(--rule-w) solid currentColor;
  border-radius: 50%;
}

.vita .alternierend-block {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
}
.vita .alternierend-block__foto {
  aspect-ratio: 3 / 4;
  width: 100%;
  height: auto;
  align-self: start;
}

.hospitation { padding-top: 64px; padding-bottom: 96px; }

.aktuelles-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.aktuelles-intro__lead {
  margin-top: 24px;
  max-width: var(--w-aktuelles);
}

.beitraege-liste { margin-top: 96px; margin-bottom: 48px; }

.beitrag__pill { margin-bottom: 4px; }

.beitrag__titel { font-size: var(--fs-lead); font-weight: 500; line-height: 1.257; }

.beitrag__text { margin-top: 16px; }

.beitrag__meta {
  margin-top: 16px;
  font-size: var(--fs-ui);
}

.beitrag__action { margin-top: 24px; }

.karriere-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.karriere-intro__lead {
  margin-top: 24px;
  max-width: var(--w-aktuelles);
}

.value-tags {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0;
  list-style: none;
}

.value-tag {
  padding: 8px 20px;
  border: var(--rule-w) solid var(--c-rule);
  border-radius: 999px;
  background: var(--c-white);
  font-size: var(--fs-ui);
}

.eckdaten { padding-block: 64px; }

.stellen { padding-block: 64px; }

.stellen__lead { margin-top: 16px; max-width: var(--w-aktuelles); }

.stellen__grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.stellen-card__tag {
  font-size: var(--fs-ui);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
  color: rgb(255 255 255 / 0.9);
}

.stellen-card__kopf {
  display: block;
  cursor: pointer;
  list-style: none;
}

.stellen-card__kopf::-webkit-details-marker { display: none; }

.stellen-card__kopfzeile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.stellen-card__titelzeile {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
}

.stellen-card__icon {
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
}

.stellen-card__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}

details[open] .stellen-card__icon::before { transform: rotate(225deg); }

.merkliste__grid {
  margin-top: 32px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
}
.merkliste__grid--drei { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.merkliste__titel {
  font-size: var(--fs-ui);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
  color: rgb(255 255 255 / 0.9);
}

.merkliste {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.merkliste li {
  position: relative;
  padding-left: 20px;
}

.merkliste li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: var(--c-white);
}

.hinweis-box {
  margin-top: 32px;
  padding: 24px 28px;
  border-radius: var(--radius-card);
  background: var(--c-paper);
  color: var(--c-ink);
}

.hinweis-box__label {
  font-size: var(--fs-ui);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
}

.hinweis-box__text { margin-top: 8px; }

.vorteile {
  padding-top: 64px;
  margin-bottom: 64px;
  border-top: var(--rule-w) solid var(--c-rule);
  background: var(--c-white);
}

.vorteile__lead { margin-top: 16px; max-width: var(--w-aktuelles); }

.vorteile__grid {
  margin-top: 32px;
  margin-inline: calc(var(--gutter) * -1);
  padding: 0;
  list-style: none;
}

.vorteil-card { padding-block: 32px; }

.vorteil-card__titel {
  font-size: var(--fs-title);
  font-weight: 500;
  line-height: 1.15;
}

.vorteil-card__text { margin-top: 8px; }

.bewerbung { padding-bottom: 96px; }

.bewerbung-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  margin-top: 32px;
  padding: 44px;
  border: 2px solid var(--c-ink);
  border-radius: var(--radius-card);
  background: var(--c-white);
}

.bewerbung-cta__text .t-body { margin-top: 8px; }

.bewerbung-cta__mail {
  font-size: var(--fs-body-lg);
  font-weight: 500;
  word-break: break-word;
}

.tokens-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 96px;
}

.tokens-intro__title { max-width: var(--w-hero-text); }

.tokens-intro__lead { max-width: var(--w-aktuelles); }

.tokens-section {
  padding-top: 64px;
  padding-bottom: 64px;
  border-top: var(--rule-w) solid var(--c-rule);
}

.tokens-section__lead { margin-top: 16px; max-width: var(--w-aktuelles); }

.tokens-section__title { margin-top: 12px; }

.tokens-colors__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.tokens-color__chip {
  height: 96px;
  border-radius: var(--radius-card);
  border: var(--rule-w) solid var(--c-rule);
}

.tokens-color__name { margin-top: 16px; }
.tokens-color__hex,
.tokens-color__usage { margin-top: 4px; }

.tokens-type__list {
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.tokens-type__item {
  padding: 24px 0;
  border-top: var(--rule-w) solid var(--c-rule);
}
.tokens-type__item:first-child { border-top: 0; padding-top: 0; }

.tokens-type__meta { margin-top: 8px; }

.tokens-space__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.tokens-space__demo {
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: var(--rule-w) solid var(--c-rule);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.tokens-space__box { width: 100%; height: 100%; background: var(--c-blue); }

.tokens-space__label { font-size: var(--fs-ui); }

.tokens-space__name { margin-top: 16px; }
.tokens-space__value { margin-top: 4px; }

.rechtstext-intro {
  padding-top: calc(var(--bar-h) + 96px);
  padding-bottom: 32px;
}

.rechtstext-intro__lead {
  margin-top: 24px;
  max-width: var(--w-rechtstext);
}

.rechtstext {
  padding-bottom: 96px;
}

.rechtstext__abschnitt {
  max-width: var(--w-rechtstext);
}

.rechtstext__abschnitt + .rechtstext__abschnitt { margin-top: var(--stack); }

.rechtstext__abschnitt h2 { margin-bottom: 16px; }

.rechtstext__abschnitt p + p,
.rechtstext__abschnitt ul + p,
.rechtstext__abschnitt p + ul,
.rechtstext__abschnitt dl + p,
.rechtstext__abschnitt p + dl { margin-top: 16px; }

.rechtstext__abschnitt ul {
  margin: 0;
  padding-left: 20px;
}

.rechtstext__abschnitt li + li { margin-top: 8px; }

.rechtstext address { font-style: normal; }

.rechtstext__liste {
  margin: 0;
  display: grid;
  gap: 12px;
}

.rechtstext__liste dt {
  font-size: var(--fs-ui);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
}

.rechtstext__liste dd { margin-top: 2px; }

.site-footer {
  min-height: 244px;
  margin-top: 0;
  display: flex;
  align-items: flex-end;
  border-top: var(--rule-w) solid var(--c-ink);
  background: var(--c-footer);
  color: var(--c-white);
}

.site-footer__inner {
  width: 100%;
  padding: 48px var(--gutter);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 96px;
}

.site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 64px;
}

.site-footer__marke {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

.site-footer__logo {
  flex-shrink: 0;
  display: inline-block;
  line-height: 0;   
}

.site-footer__logo img { width: 108px; height: auto; display: block; }

.site-footer .site-footer__logo {
  margin-top: calc(var(--fs-ui-lg) * 0.15 - 16.7px);
}

.site-footer address {
  font-style: normal;
  font-size: var(--fs-ui-lg);
  line-height: 1.5;
}

.site-footer address strong { font-weight: 500; }

.site-footer__gruppe {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer a {
  display: inline-block;
  font-size: var(--fs-ui-lg);
  line-height: 1.5;
  text-decoration: none;
  padding-block: 4px;
  margin-block: -4px;
}

.site-footer a:hover { text-decoration: underline; }

@media (max-width: 1151px), (max-height: 599px) {
  .hero { grid-template-columns: 1fr; }
  .hero__body { grid-column: auto; padding-left: 0; margin-top: 0; }

  :root {
    --gutter: 40px;
    --stack: 32px;
    --bar-h: 84px;
    --header-h: 140px;
  }

  .site-header__signet { width: 24px; }

  .site-header__row { padding-right: var(--gutter-header); }

  .js .nav-toggle { display: flex; }

  .site-header::before { transition: none; }
  .nav-offen .site-header::before { background: var(--c-ink); }
  .nav-offen .site-header__signet img { filter: brightness(0) invert(1); }

  .site-nav {
    position: fixed;
    top: var(--bar-h);
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 28px 0;
    background: var(--c-ink);
    color: var(--c-white);
    overflow-y: auto;
  }

  .js .site-nav { display: none; }
  .js.nav-offen .site-nav { display: flex; }

  .site-nav :focus-visible,
  .nav-offen .nav-toggle:focus-visible,
  .nav-offen .site-header__signet:focus-visible { outline-color: var(--c-white); }

  .site-nav__liste {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .site-nav__liste li:not(:last-child) {
    border-bottom: var(--rule-w) solid var(--c-white);
  }

  .site-nav__liste a {
    padding: 24px var(--gutter-header);
    margin-block: 0;
    color: var(--c-white);
    font-size: var(--fs-body-lg);
    letter-spacing: 0;
  }

  .btn--nav {
    margin: 20px var(--gutter-header) 0;
    align-self: flex-start;
    min-height: 44px;
    padding: 12px 28px;
    background: transparent;
    color: var(--c-white);
    border-color: var(--c-white);
    font-size: var(--fs-ui);
  }

  .btn--nav:hover { background: var(--c-white); color: var(--c-ink); }

  .hero {
    padding-top: calc(var(--bar-h) + 16px);
    padding-bottom: 56px;
  }

  .band--team {
    background-image:
      var(--grain),
      radial-gradient(85% 80% at 88% 55%, var(--c-blue-deep) 0%, transparent 70%),
      linear-gradient(165deg, var(--c-blue) 0%, var(--c-blue) 100%);
    background-blend-mode: overlay, normal, normal;
  }

  .band--team::before,
  .band--team::after { display: none; }

  .band__formen .band__form--stern { top: auto; bottom: -45px; left: auto; right: -25px; }
  .band__formen--leistungen .band__form--stern { right: auto; left: -35px; bottom: -55px; }
  .band__formen--aktuelles .band__form--stern  { top: 175px; bottom: auto; right: -45px; }
  .band__formen--praxis .band__form--stern     { top: 355px; bottom: auto; right: 24px; }

  .team { padding-top: 200px; }

  .hero__title,
  .hero__lead { max-width: none; }

  .hero__lead { margin-top: 24px; }

  .hero__actions { margin-top: 32px; gap: 16px; }

  .praxis__title,
  .mobil__title,
  .hero__title,
  .hero__lead { max-width: none; }

  .t-body,
  .t-body-lg { max-width: 62ch; }

  .praxis {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .mobil {
    grid-template-columns: 1fr;
  }

  .mobil__media { min-height: 0; aspect-ratio: 4 / 3; }

  .mobil__media img { position: static; }

  .mobil__body { padding: 48px var(--gutter); }

  .team { padding-bottom: 72px; }

  .team__inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-left: var(--gutter);
  }

  .team__media { aspect-ratio: 552 / 501; margin-top: 0; }

  .team__title { margin-top: 28px; }
  .team__text  { margin-top: 28px; }

  .aktuelles {
    padding-top: 72px;
    padding-bottom: 88px;
  }

  .notfallhinweis { padding-bottom: 64px; }

  .leistungen-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .aktuelles-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .leistungen-intro__lead { max-width: none; }

  .leistungen__grid,
  .zielgruppen__grid { grid-template-columns: 1fr; }

  .leistungen-kacheln { grid-template-columns: 1fr; }

  .tokens-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .tokens-section { padding-top: 48px; padding-bottom: 48px; }
  .tokens-colors__grid { grid-template-columns: repeat(2, 1fr); }
  .tokens-space__grid { grid-template-columns: 1fr; }

  .zielgruppen-card,
  .stellen-card { padding: 28px; }

  .mobile-versorgung { padding-top: 64px; padding-bottom: 64px; }

  .besuch-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .besuch-intro__grid { grid-template-columns: 1fr; }
  .besuch-intro__title,
  .besuch-intro__lead { max-width: none; }

  .anfahrt { min-height: 0; }
  .anfahrt__karte { position: static; height: 360px; }
  .anfahrt__adresse,
  .anfahrt__parken { position: static; max-width: none; margin: 24px var(--gutter) 0; }

  .besuch-info { padding-top: 64px; }

  .termin-erster {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .faq { padding: 64px var(--gutter); padding-bottom: 128px; }
  .faq__kopf { max-width: none; }
  .faq__liste { margin-top: 32px; }

  .termin-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .termin-intro__lead { max-width: none; }
  .buchung { padding-block: 48px; }
  .telefon { padding-bottom: 64px; }
  .telefon-card { padding: 32px; }

  .mobile-zahnmedizin-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .mobile-zahnmedizin-intro__lead { max-width: none; }
  .mobile-behandlungszimmer h2,
  .mobile-behandlungszimmer .t-body { max-width: none; }
  .mobile-zahnmedizin-media-section { padding-top: 48px; padding-bottom: 48px; }
  .mobile-zahnmedizin-media__bild { aspect-ratio: 4 / 3; }
  .zielgruppen { margin-top: 64px; }
  .zielgruppen-kontakt { padding-bottom: 64px; }

  .praxis-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .praxis-team { padding-bottom: 64px; }

  .team-profil,
  .beitrag { grid-template-columns: 1fr; padding-block: 32px; gap: 20px; }
  .beitraege-liste { margin-top: 64px; margin-bottom: 32px; }
  .team-profil { gap: 40px; }
  .team-profil__foto,
  .beitrag__foto { max-width: 220px; }

  .team-dialog__inhalt { padding: 80px 40px 40px; }
  .team-raster--aktiv { grid-template-columns: repeat(auto-fill, minmax(var(--team-kachel), 1fr)); }

  .team-rekrutierung,
  .rekrutierung-box { padding: 32px; }

  .der-ort-intro { padding-top: 64px; }
  .der-ort-block,
  .alternierend-block { grid-template-columns: 1fr; margin-top: 40px; }

  .besuch-info .alternierend-block { align-items: normal; }
  .besuch-info .alternierend-block__foto { aspect-ratio: 4 / 3; height: auto; }
  .der-ort-block__foto { aspect-ratio: 1 / 1; }

  .vita .alternierend-block { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); margin-top: 40px; }
  .vita .alternierend-block__foto { width: 100%; max-width: 320px; justify-self: start; }

  .der-ort-raeume { margin-top: 32px; padding-bottom: 88px; }
  .der-ort-raeume .t-body { max-width: none; }
  .einblicke__grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .einblicke__foto,
  .einblicke__foto--gross { grid-column: auto; grid-row: auto; aspect-ratio: 3 / 2; }

  .ueberweiser-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .ueberweiser-intro__lead { max-width: none; }
  .selbstverstaendnis { padding-block: 48px; }
  .vita { padding-block: 48px; }
  .hospitation { padding-top: 48px; padding-bottom: 64px; }

  .karriere-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 64px; }
  .karriere-intro__lead { max-width: none; }
  .eckdaten { padding-block: 48px; }
  .stellen { padding-block: 48px; }
  .merkliste__grid { grid-template-columns: 1fr; gap: 32px; }
  .vorteile { padding-top: 48px; margin-bottom: 48px; }
  .bewerbung { padding-bottom: 64px; }
  .bewerbung-cta { padding: 32px; }

  .rechtstext-intro { padding-top: calc(var(--bar-h) + 64px); padding-bottom: 24px; }
  .rechtstext-intro__lead { max-width: none; }
  .rechtstext { padding-bottom: 64px; }
  .rechtstext__abschnitt { max-width: none; }

  .site-footer { min-height: 0; }
  .site-footer__inner { padding: 40px var(--gutter); gap: 40px; }
  .site-footer__nav { gap: 40px; }
}

@media (max-width: 700px) {
  .vita .alternierend-block { grid-template-columns: 1fr; }
  .vita .alternierend-block__foto { justify-self: stretch; }

  .team-dialog__kopf { grid-template-columns: 1fr; gap: 24px; }
  .team-dialog .team-profil__foto { max-width: 200px; }   
}

@media (max-width: 560px) {
  .team-raster--aktiv { display: block; }
  .team-raster--aktiv .team-liste {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--team-kachel), 1fr));
    gap: 24px;
  }
  .team-raster--aktiv .team-rekrutierung { margin-top: 24px; }
}

@media (max-width: 560px) {
  .sprechzeiten__block { display: block; text-align: right; }

  :root { --gutter: 24px; }

  .leistungen-kacheln { grid-template-columns: 1fr; }

  .team-profil__foto { max-width: none; }
  .team-dialog__inhalt { padding: 72px 24px 24px; }

  .vita .alternierend-block__foto { max-width: none; }

  .hero__title { font-size: calc(var(--fs-hero) * 0.90); }

  .hero__lead {
    margin-top: 32px;
    font-size: calc(var(--fs-lead) * 0.84);
  }

  .hero__actions .btn { width: 100%; }

  .hero__lead-haelfte { white-space: normal; }
  .btn {
    white-space: normal;
    text-align: center;
    padding-block: 12px;
  }

  .team { padding-top: 120px; }

  .notfall__action .btn { width: 100%; }

  .site-footer__inner { flex-direction: column; gap: 32px; }
  .site-footer__nav { gap: 32px 40px; }
  .site-footer__marke { flex-direction: column; gap: 20px; }
  .site-footer .site-footer__logo { order: -1; margin-top: -4px; }
}

@media print {
  .band--warm,
  .band--team { background-image: none; }
  .band--warm::before,
  .band--warm::after,
  .band--team::before,
  .band--team::after { display: none; }
  .team { color: var(--c-ink); }
}
