/* KONTUR CMS 0.5.9.57 – globale, responsive Typografie */
:root{
  --cms-font-heading:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cms-font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cms-page_title-min:40px;--cms-page_title-max:68px;--cms-page_title-weight:600;
  --cms-block_title-min:30px;--cms-block_title-max:50px;--cms-block_title-weight:600;
  --cms-card_title-min:22px;--cms-card_title-max:34px;--cms-card_title-weight:600;
  --cms-lead-min:17px;--cms-lead-max:21px;--cms-lead-weight:400;
  --cms-body-min:15px;--cms-body-max:18px;--cms-body-weight:400;
  --cms-label-min:11px;--cms-label-max:12px;--cms-label-weight:700;
  --cms-button-min:13px;--cms-button-max:15px;--cms-button-weight:600;
  --cms-small-min:11px;--cms-small-max:13px;--cms-small-weight:500;
}
body:not(.cms-admin){font-family:var(--cms-font-body)!important;}
body:not(.cms-admin) input,body:not(.cms-admin) select,body:not(.cms-admin) textarea,body:not(.cms-admin) button,
.preview,.cms-typography-demo{font-family:var(--cms-font-body)!important;}
body:not(.cms-admin) h1,.preview h1,.cms-typography-demo h1{
  font-family:var(--cms-font-heading)!important;
  font-size:clamp(var(--cms-page_title-min),4.7vw,var(--cms-page_title-max))!important;
  font-weight:var(--cms-page_title-weight)!important;
  line-height:1.02!important;letter-spacing:-.035em!important;
}
body:not(.cms-admin) main h2,.preview h2,.cms-typography-demo h2,
body:not(.cms-admin) .section-title,body:not(.cms-admin) .home-card-slider-heading h2,body:not(.cms-admin) .home-tiles-heading h2,
.preview .section-title,.preview .home-card-slider-heading h2,.preview .home-tiles-heading h2{
  font-family:var(--cms-font-heading)!important;
  font-size:clamp(var(--cms-block_title-min),3.25vw,var(--cms-block_title-max))!important;
  font-weight:var(--cms-block_title-weight)!important;
  line-height:1.06!important;letter-spacing:-.03em!important;
}
body:not(.cms-admin) main h3,.preview h3,.cms-typography-demo h3,
body:not(.cms-admin) .home-card-slide-content h3,body:not(.cms-admin) .home-tile-copy h3,body:not(.cms-admin) .cms-photo-text-slider__panel h3,
.preview .home-card-slide-content h3,.preview .home-tile-copy h3,.preview .cms-photo-text-slider__panel h3{
  font-family:var(--cms-font-heading)!important;
  font-size:clamp(var(--cms-card_title-min),2.15vw,var(--cms-card_title-max))!important;
  font-weight:var(--cms-card_title-weight)!important;
  line-height:1.14!important;letter-spacing:-.025em!important;
}
/* Startseiten-Bildflächen nutzen die Karten-/Sliderstufe, damit kleine Rasterflächen lesbar bleiben. */
body:not(.cms-admin) .hp048-card-summary h1,body:not(.cms-admin) .hp048-card-summary h2,body:not(.cms-admin) .hp048-card-detail h1,body:not(.cms-admin) .hp048-card-detail h2,
.preview .hp048-card-summary h1,.preview .hp048-card-summary h2,.preview .hp048-card-detail h1,.preview .hp048-card-detail h2{
  font-family:var(--cms-font-heading)!important;
  font-size:clamp(var(--cms-card_title-min),2.15vw,var(--cms-card_title-max))!important;
  font-weight:var(--cms-card_title-weight)!important;
  line-height:1.12!important;letter-spacing:-.025em!important;
}
body:not(.cms-admin) p,.preview p,.cms-typography-demo p,
body:not(.cms-admin) li,.preview li,
body:not(.cms-admin) .cms-photo-text-slider__panel p,.preview .cms-photo-text-slider__panel p{
  font-family:var(--cms-font-body)!important;
  font-size:clamp(var(--cms-body-min),1.08vw,var(--cms-body-max))!important;
  font-weight:var(--cms-body-weight)!important;
  line-height:1.65!important;
}
body:not(.cms-admin) .large-text,body:not(.cms-admin) .lead,body:not(.cms-admin) .cms-lead,
.preview .large-text,.preview .lead,.preview .cms-lead,.cms-typography-demo .large-text,.cms-typography-demo .lead,.cms-typography-demo .cms-lead{
  font-family:var(--cms-font-body)!important;
  font-size:clamp(var(--cms-lead-min),1.38vw,var(--cms-lead-max))!important;
  font-weight:var(--cms-lead-weight)!important;
  line-height:1.62!important;
}
body:not(.cms-admin) .kicker,body:not(.cms-admin) [class*="__kicker"],body:not(.cms-admin) .eyebrow,body:not(.cms-admin) [class*="eyebrow"],
.preview .kicker,.preview [class*="__kicker"],.preview .eyebrow,.preview [class*="eyebrow"],.cms-typography-demo .kicker{
  font-family:var(--cms-font-body)!important;
  font-size:clamp(var(--cms-label-min),.76vw,var(--cms-label-max))!important;
  font-weight:var(--cms-label-weight)!important;
  line-height:1.2!important;letter-spacing:.16em!important;
}
body:not(.cms-admin) .btn,body:not(.cms-admin) button,body:not(.cms-admin) .cms-photo-text-slider__button,
.preview .btn,.preview button,.preview .cms-photo-text-slider__button,.cms-typography-demo .btn{
  font-family:var(--cms-font-body)!important;
  font-size:clamp(var(--cms-button-min),.92vw,var(--cms-button-max))!important;
  font-weight:var(--cms-button-weight)!important;
  line-height:1.2!important;
}
body:not(.cms-admin) small,body:not(.cms-admin) figcaption,body:not(.cms-admin) .mini,body:not(.cms-admin) [class*="__tab"],body:not(.cms-admin) [class*="-tab"],
.preview small,.preview figcaption,.preview .mini,.preview [class*="__tab"],.preview [class*="-tab"],.cms-typography-demo .cms-demo-small{
  font-family:var(--cms-font-body)!important;
  font-size:clamp(var(--cms-small-min),.78vw,var(--cms-small-max))!important;
  font-weight:var(--cms-small-weight)!important;
  line-height:1.35!important;
}
/* Navigations- und Footer-Schriftfamilie ebenfalls zentral, Größen bleiben layoutabhängig. */
body:not(.cms-admin) header,body:not(.cms-admin) nav,body:not(.cms-admin) footer{font-family:var(--cms-font-body)!important;}
@media (max-width:640px){
  body:not(.cms-admin) h1,.preview h1,.cms-typography-demo h1{letter-spacing:-.025em!important}
  body:not(.cms-admin) main h2,.preview h2{letter-spacing:-.022em!important}
}
