:root {
  --farbe-knopf:#e00000;
  --farbe-knopf-hover:#b80000;
  --akzent-auf-hell:#c40000;
  --akzent-auf-dunkel:#ff6464;
  --farbe-schrift:#111a18;
  --farbe-schrift-grau:#3a4543;
  --farbe-gedaempft:#5b6664;
  --farbe-weiss:#fff;
  --farbe-hell-grau:#b9c4bf;
  --farbe-dunkel:#0a1012;
  --flaeche:#eef1ef;
  --linie:#e3e6e4;
  --linie-dunkel:#283133;
  --overlay-hero:
    linear-gradient(180deg,color-mix(in srgb,var(--farbe-dunkel) 55%,transparent),transparent 30% 50%,color-mix(in srgb,var(--farbe-dunkel) 90%,transparent)),
    linear-gradient(90deg,color-mix(in srgb,var(--farbe-dunkel) 55%,transparent),transparent 60%);
  --schatten:0 16px 40px color-mix(in srgb,var(--farbe-dunkel) 25%,transparent);
  --akzent:var(--akzent-auf-hell);
  --hl:var(--akzent-auf-dunkel);
  --fs-xs:12px;
  --fs-s:14px;
  --fs-m:16px;
  --fs-text:17px;
  --fs-l:20px;
  --fs-xl:clamp(24px,2.6vw,32px);
  --fs-h2:clamp(30px,3.2vw,44px);
  --fs-h1:clamp(40px,5.4vw,78px);
  --lh-eng:1.1;
  --lh-titel:1.25;
  --lh-klein:1.5;
  --lh-text:1.65;
  --ls-eng:-.03em;
  --ls-weit:.1em;
  --radius:6px;
  --abstand:96px;
  --hero-hoehe:75svh;
  --hero-min:540px;
  --hh:92px;
  --hh-klein:70px;
  --sticky-oben:calc(var(--hh-klein) + 32px);
  --wrap-breite:min(1320px,calc(100% - 96px));
  --kf-raster:repeat(2,minmax(0,1fr));
  --kf-spalt:48px;
  --kf-karte-innen:32px;
  --schrift-text:Arial,Helvetica,sans-serif;
}
@media (max-width:1279px) {
  :root {
    --hh:76px;
    --hh-klein:76px;
    --wrap-breite:calc(100% - 64px);
  }
}
@media (max-width:980px) {
  :root {
    --kf-raster:minmax(0,1fr);
    --kf-karte-innen:18px;
  }
}
@media (max-width:979px) {
  :root {
    --abstand:64px;
    --hero-min:460px;
  }
}
@media (max-width:600px) {
  :root {
    --hh:68px;
    --hh-klein:68px;
    --wrap-breite:calc(100% - 36px);
  }
}

* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--farbe-weiss);
  color:var(--farbe-schrift);
  font-family:var(--schrift-text);
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
}
[hidden] {
  display:none !important;
}
:focus-visible {
  outline:2px solid var(--akzent);
  outline-offset:4px;
}
.wrap {
  width:var(--wrap-breite);
  margin-inline:auto;
}
.kf-sr {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
h1 {
  margin:0 0 20px;
  font-size:var(--fs-h1);
  font-weight:700;
  line-height:var(--lh-eng);
  letter-spacing:var(--ls-eng);
  text-wrap:balance;
}
:is(h1,h2,h3,.titel) {
  overflow-wrap:break-word;
  hyphens:auto;
  hyphenate-limit-chars:14 6 6;
}
h2,
.titel {
  margin:0 0 18px;
  font-size:var(--fs-h2);
  font-weight:700;
  line-height:var(--lh-eng);
  letter-spacing:var(--ls-eng);
  text-wrap:balance;
}
.titel {
  color:var(--farbe-schrift);
}
h3 {
  margin:0 0 10px;
  font-size:var(--fs-l);
  font-weight:700;
  line-height:var(--lh-titel);
  text-wrap:balance;
}
:is(h1,h2,h3,.titel) > a {
  color:inherit;
  text-decoration:none;
}
:is(h1,h2,h3,.titel) > a:hover {
  color:var(--akzent);
}
.bs-kicker,
.im-group>summary,
.im-group.kf-direkt>a {
  font-size:var(--fs-xs);
  font-weight:700;
  line-height:var(--lh-klein);
  letter-spacing:var(--ls-weit);
  text-transform:uppercase;
}
.bs-kicker {
  display:block;
  margin:0 0 14px;
  color:var(--akzent);
}
.bs-aufruf-wege,
.bs-aufruf-hinweis,
.bs-aufruf-danach,
.anfrage .anfrage-pflicht-hinweis,
.anfrage .anfrage-hilfe,
.bs-personen span {
  font-size:var(--fs-s);
  line-height:var(--lh-klein);
  color:var(--farbe-gedaempft);
}
.bs-personen strong,
.bs-team strong {
  font-size:var(--fs-m);
  color:var(--farbe-schrift);
}
.button,
.bs-link,
.im-contact {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:48px;
  padding:13px 26px;
  border:1px solid transparent;
  border-radius:999px;
  background:var(--farbe-knopf);
  color:var(--farbe-weiss);
  font-size:var(--fs-m);
  font-weight:700;
  line-height:var(--lh-titel);
  white-space:nowrap;
  transition:background .2s,border-color .2s,color .2s;
}
.button:hover,
.im-contact:hover {
  background:var(--farbe-knopf-hover);
}
.bs-link {
  border-color:currentColor;
  background:transparent;
  color:inherit;
}
.bs-link:hover {
  border-color:var(--akzent);
  color:var(--akzent);
}
.karte-mehr {
  display:inline-block;
  margin:auto 22px 8px;
  padding:16px 0 14px;
  font-size:var(--fs-m);
  font-weight:700;
  color:var(--akzent);
}
.screen-button {
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:none;
  cursor:zoom-in;
  overflow:hidden;
  border-radius:var(--radius);
}
.screen-button img {
  display:block;
  width:100%;
  height:auto;
}
.screen-button>span {
  position:absolute;
  right:12px;
  bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--farbe-knopf);
  color:var(--farbe-weiss);
  font-size:var(--fs-xs);
  opacity:0;
  transition:opacity .2s;
}
.screen-button:hover>span,
.screen-button:focus-visible>span {
  opacity:1;
}
dialog {
  width:96vw;
  max-width:1700px;
  max-height:95vh;
  padding:50px 10px 10px;
  border:0;
  border-radius:var(--radius);
  background:var(--farbe-weiss);
}
dialog::backdrop {
  background:color-mix(in srgb,var(--farbe-dunkel) 87%,transparent);
}
dialog img {
  display:block;
  width:100%;
  height:auto;
  max-height:calc(95vh - 75px);
  object-fit:contain;
}
body:has(dialog[open]) {
  overflow:hidden;
}
#close-image {
  position:absolute;
  right:12px;
  top:10px;
  min-height:44px;
  padding:8px 18px;
  border:0;
  border-radius:999px;
  background:var(--farbe-knopf);
  color:var(--farbe-weiss);
  cursor:pointer;
}
.ico {
  display:inline-block;
  width:var(--ico,1.25em);
  height:var(--ico,1.25em);
  flex:none;
  vertical-align:-.2em;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bs table,
.artikel-text table {
  display:block;
  max-width:100%;
  overflow-x:auto;
  border-collapse:collapse;
  margin:24px 0;
  font-size:var(--fs-s);
}
.bs :is(th,td) {
  padding:10px 14px;
  border-bottom:1px solid var(--linie);
  text-align:left;
  vertical-align:top;
}
.bs th {
  font-weight:700;
  color:var(--farbe-schrift);
  border-bottom-width:2px;
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none !important;
  }
}

html {
  scroll-padding-top:105px;
}
body:not(.vorlage-artikel):not(.header-transparent) {
  padding-top:var(--hh);
}
.im-sprung {
  position:fixed;
  z-index:200;
  top:8px;
  left:8px;
  padding:10px 16px;
  color:var(--farbe-schrift);
  background:var(--farbe-knopf);
  font-weight:700;
  transform:translateY(-200%);
}
.im-sprung:focus-visible {
  transform:none;
}
.im-header {
  position:fixed;
  z-index:100;
  inset:0 0 auto;
  color:var(--farbe-weiss);
  background:color-mix(in srgb,var(--farbe-dunkel) 97%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--farbe-weiss) 12%,transparent);
  backdrop-filter:blur(14px);
  transition:background-color .3s,border-color .3s,color .3s;
}
.im-header>div {
  width:var(--wrap-breite);
  height:var(--hh);
  margin:auto;
  display:flex;
  align-items:center;
  gap:20px;
  transition:height .25s;
}
.im-header.is-scrolled>div {
  height:var(--hh-klein);
}
.im-brand {
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:none;
  width:max-content;
  padding-block:12px;
}
.im-brand .logo {
  display:block;
  width:205px;
  height:auto;
}
@media (min-width:1440px) {
  .im-brand .logo {
    width:240px;
  }
}
.header-hell {
  --hl:var(--akzent-auf-hell);
}
.header-hell .im-header,
.im-header.is-scrolled {
  background:var(--farbe-weiss);
  color:var(--farbe-schrift-grau);
  border-bottom-color:var(--linie);
  backdrop-filter:none;
}
.header-transparent:not(.im-menu-open) .im-header:not(.is-scrolled) {
  background:transparent;
  border-bottom-color:transparent;
  backdrop-filter:none;
}
.im-menu-open .im-header.is-scrolled {
  background:color-mix(in srgb,var(--farbe-dunkel) 97%,transparent);
  color:var(--farbe-weiss);
}
.im-brand .logo-schwarz,
.im-header.is-scrolled .logo-weiss,
.im-menu-open .im-header.is-scrolled .logo-schwarz {
  display:none;
}
.im-header.is-scrolled .logo-schwarz,
.header-hell .logo-schwarz,
.im-menu-open .im-header.is-scrolled .logo-weiss {
  display:block;
}
.im-nav {
  position:relative;
  display:flex;
  align-self:stretch;
  margin-inline:auto;
}
.im-nav>div:first-child {
  display:flex;
  align-items:stretch;
  gap:24px;
}
.im-group {
  position:relative;
  display:flex;
  align-items:stretch;
}
.im-group>summary,
.im-group.kf-direkt>a {
  display:flex;
  align-items:center;
  white-space:nowrap;
  transition:color .2s;
}
.im-group>summary {
  position:relative;
  list-style:none;
  gap:9px;
  cursor:pointer;
}
.im-group>summary::-webkit-details-marker {
  display:none;
}
.im-group>summary::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  background:var(--hl);
  transform:scaleX(0);
  transition:transform .2s;
}
.im-group[open]>summary,
.im-group>summary:hover,
.im-group.kf-direkt>a:hover,
.im-group.kf-direkt>a[aria-current] {
  color:var(--hl);
}
.im-group[open]>summary::after {
  transform:scaleX(1);
}
.im-chev {
  width:6px;
  height:6px;
  margin-top:-4px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .2s;
}
.im-group[open] .im-chev {
  transform:rotate(225deg);
  margin-top:3px;
}
.im-group .im-plus {
  display:none;
}
.im-mega {
  position:absolute;
  top:100%;
  left:0;
  min-width:560px;
  background:var(--farbe-weiss);
  color:var(--farbe-schrift);
  border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--schatten);
}
.im-mega>div {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(210px,1fr);
  padding:32px 34px 36px;
}
.im-mega-col {
  display:flex;
  flex-direction:column;
  padding:0 30px;
  border-left:1px solid var(--linie);
}
.im-mega-col:first-child {
  padding-left:0;
  border-left:0;
}
.im-mega-col .bs-kicker {
  color:var(--farbe-gedaempft);
}
.im-mega-col a {
  padding:9px 0;
  font-size:var(--fs-m);
  color:var(--farbe-gedaempft);
}
.im-mega-col a:hover,
.im-mega-col a[aria-current] {
  color:var(--akzent-auf-hell);
}
.im-mega-col .im-mega-link {
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:44px;
  margin-inline:-10px;
  padding:8px 10px;
  border-radius:var(--radius);
  color:var(--farbe-schrift);
  transition:background-color .15s,color .15s;
}
.im-mega-col .im-mega-link:hover {
  background:var(--flaeche);
  color:var(--farbe-schrift);
}
.im-mega-ico {
  flex:none;
  width:24px;
  height:24px;
  margin-top:1px;
  stroke-width:1.5;
  color:var(--akzent-auf-hell);
}
.im-mega-link>span {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.im-mega-link strong {
  font-weight:700;
  line-height:var(--lh-titel);
}
.im-mega-link:hover strong,
.im-mega-link[aria-current] strong {
  color:var(--akzent-auf-hell);
}
.im-mega-link .kf-flagge {
  align-self:center;
}
.kf-flagge {
  flex:none;
  width:22px;
  height:14px;
  border-radius:2px;
  box-shadow:0 0 0 1px color-mix(in srgb,currentColor 20%,transparent);
}
.kf-sprache {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.im-tel {
  display:inline-flex;
  flex:none;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  border:1px solid color-mix(in srgb,currentColor 35%,transparent);
  border-radius:999px;
  transition:border-color .2s,color .2s;
}
.im-tel .ico {
  width:20px;
  height:20px;
}
.im-tel:hover {
  border-color:var(--hl);
  color:var(--hl);
}
.im-tel + .im-contact {
  margin-left:-8px;
}
.im-contact-kurz,
.im-menu-toggle,
.im-menu-contact {
  display:none;
}
.im-header :focus-visible {
  outline-color:var(--hl);
}
.im-menu-open {
  overflow:hidden;
}
@media (min-width:1280px) {
  .im-nav > div > .im-group:nth-last-child(-n+2) > .im-mega {
    left:auto;
    right:0;
  }
  .im-nav > div > .im-group:last-child > .im-mega {
    min-width:240px;
  }
}
@media (max-width:1279px) {
  html {
    scroll-padding-top:90px;
  }
  .im-header>div {
    gap:16px;
  }
  .im-contact {
    min-height:42px;
    padding:10px 18px;
    font-size:var(--fs-s);
  }
  .im-contact>span:last-child {
    display:none;
  }
  .im-tel {
    margin-left:auto;
  }
  .im-menu-toggle {
    display:flex;
    flex:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:7px;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;
  }
  .im-menu-toggle span {
    display:block;
    width:24px;
    height:2px;
    background:currentColor;
    transition:transform .15s;
  }
  .im-menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(4.5px) rotate(45deg);
  }
  .im-menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-4.5px) rotate(-45deg);
  }
  .im-nav {
    --hl:var(--akzent-auf-dunkel);
    display:none;
    position:fixed;
    inset:var(--hh) 0 0;
    margin:0;
    height:calc(100dvh - var(--hh));
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:8px 24px 36px;
    background:var(--farbe-dunkel);
    color:var(--farbe-weiss);
  }
  .im-nav.is-open {
    display:block;
  }
  .im-menu-open .im-header {
    backdrop-filter:none;
  }
  .im-nav>div:first-child {
    display:block;
  }
  .im-group {
    display:block;
    border-bottom:1px solid var(--linie-dunkel);
  }
  .im-group>summary,
  .im-group.kf-direkt>a {
    padding:16px 0;
    font-size:var(--fs-l);
    line-height:var(--lh-titel);
    letter-spacing:0;
    text-transform:none;
    color:var(--farbe-weiss);
  }
  .im-group>summary {
    justify-content:space-between;
  }
  .im-group>summary::after,
  .im-chev {
    display:none;
  }
  .im-group .im-plus {
    display:block;
    width:46px;
    height:46px;
  }
  .im-mega {
    position:static;
    min-width:0;
    background:transparent;
    color:inherit;
    box-shadow:none;
  }
  .im-mega>div {
    display:block;
    padding:0 0 16px;
  }
  .im-mega-col {
    padding:0;
    border:0;
    margin-bottom:12px;
  }
  .im-mega-col .bs-kicker {
    margin:8px 0 2px;
    color:var(--farbe-hell-grau);
  }
  .im-mega-col a {
    min-height:44px;
    padding:11px 0;
    color:var(--farbe-hell-grau);
  }
  .im-mega-col a:hover,
  .im-mega-col a[aria-current] {
    color:var(--akzent-auf-dunkel);
  }
  .im-mega-col .im-mega-link {
    margin-inline:0;
    padding:9px 0;
    color:var(--farbe-weiss);
  }
  .im-mega-col .im-mega-link:hover {
    background:transparent;
    color:var(--farbe-weiss);
  }
  .im-mega-ico {
    width:20px;
    height:20px;
    margin-top:2px;
    color:var(--akzent-auf-dunkel);
  }
  .im-mega-link strong {
    font-weight:400;
  }
  .im-mega-link:hover strong,
  .im-mega-link[aria-current] strong {
    color:var(--akzent-auf-dunkel);
  }
  .im-menu-contact {
    display:block;
    padding:30px 0 max(20px,env(safe-area-inset-bottom));
  }
  .im-menu-contact p {
    font-size:var(--fs-xl);
    line-height:var(--lh-titel);
    letter-spacing:var(--ls-eng);
    color:var(--farbe-weiss);
  }
  .im-menu-contact>a {
    display:flex;
    align-items:center;
    min-height:44px;
    font-size:var(--fs-m);
    color:var(--akzent-auf-dunkel);
  }
  .im-menu-contact>.im-menu-anfrage {
    gap:8px;
    font-weight:700;
    color:var(--farbe-weiss);
  }
  .im-menu-anfrage>span:first-child {
    text-decoration:underline;
    text-underline-offset:3px;
  }
}
@media (scripting:none) and (max-width:1279px) {
  .im-nav {
    display:block !important;
    position:static !important;
    order:4;
    width:100%;
  }
  .im-header {
    position:relative !important;
  }
  .im-header>div {
    flex-wrap:wrap;
    height:auto !important;
  }
  .im-menu-toggle {
    display:none !important;
  }
}
@media (max-width:980px) {
  .im-tel,
  .im-contact,
  .im-menu-toggle {
    min-width:44px;
    min-height:44px;
  }
}
@media (max-width:600px) {
  .im-header>div {
    gap:6px;
  }
  .im-brand .logo {
    width:clamp(110px,35.4vw,138px);
  }
  .im-contact {
    padding:10px 11px;
    font-size:var(--fs-xs);
  }
  .im-tel + .im-contact {
    margin-left:0;
  }
  .im-nav {
    padding:4px 20px 32px;
  }
}
@media (max-width:600px), (min-width:1280px) and (max-width:1365px) {
  .im-contact-lang {
    display:none;
  }
  .im-contact-kurz {
    display:inline;
  }
}

.customer-band {
  padding:28px 0;
  background:var(--farbe-dunkel);
  border-top:1px solid var(--linie-dunkel);
  content-visibility:auto;
  contain-intrinsic-size:auto 640px;
}
.customer-band .bs-kicker {
  margin-bottom:18px;
  text-align:center;
  color:var(--farbe-hell-grau);
}
.customer-logos {
  --sp:10;
  --sp-m:6;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(var(--sp),minmax(0,1fr));
  align-items:center;
  gap:8px 20px;
}
.logos-9 { --sp:9; }
.logos-11 { --sp:11; }
.logos-12 { --sp:12; }
.logos-m4 { --sp-m:4; }
.logos-m5 { --sp-m:5; }
.customer-logos li {
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:0;
  height:47px;
}
.customer-logos img {
  display:block;
  width:100%;
  max-width:94px;
  height:44px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.84;
}
.customer-logos img:is([src*="deutsche-bahn"],[src*="sma-solar"],[src*="minimax"],[src*="linde"],[src*="bahlsen"],[src*="remondis"],[src*="shell"],[src*="engie"],[src*="henkel"]) {
  filter:grayscale(1) brightness(1.4);
}
@media (max-width:1279px) {
  .customer-logos {
    grid-template-columns:repeat(var(--sp-m),minmax(0,1fr));
    gap:8px 12px;
  }
}
@media (max-width:600px) {
  .customer-band {
    padding-block:24px;
  }
  .customer-logos {
    gap:6px 12px;
  }
  .customer-logos li {
    height:34px;
  }
  .customer-logos img {
    max-width:64px;
    height:30px;
  }
}
.im-footer {
  --akzent:var(--akzent-auf-dunkel);
  padding:70px 0 28px;
  background:var(--farbe-dunkel);
  color:var(--farbe-weiss);
}
.im-footer-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  padding-bottom:55px;
  border-bottom:1px solid var(--linie-dunkel);
}
.im-footer-top .aufrufe {
  flex:none;
  margin:0;
}
.im-footer-top .bs-kicker {
  margin:0;
  color:var(--farbe-hell-grau);
}
.im-slogan {
  max-width:720px;
  margin:12px 0 0;
  font-size:var(--fs-xl);
  font-weight:400;
  line-height:var(--lh-titel);
  letter-spacing:var(--ls-eng);
}
.im-footer-main {
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:100px;
  padding:60px 0;
}
.im-footer-brand .logo {
  display:block;
  width:235px;
  height:auto;
}
.im-footer-brand p {
  font-size:var(--fs-s);
  line-height:var(--lh-klein);
  color:var(--farbe-hell-grau);
}
.im-acc {
  border-top:1px solid var(--linie-dunkel);
}
.im-acc:first-child {
  border-top:0;
}
.im-acc summary,
.im-acc.kf-direkt>a {
  display:flex;
  padding:16px 0;
  font-size:var(--fs-l);
  font-weight:700;
}
.im-acc summary {
  list-style:none;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  cursor:pointer;
  line-height:var(--lh-titel);
}
.im-acc summary::-webkit-details-marker {
  display:none;
}
.im-plus {
  position:relative;
  flex:none;
  width:52px;
  height:52px;
  border-radius:var(--radius);
  background:var(--flaeche);
}
.im-plus::before,
.im-plus::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:20px;
  height:2px;
  background:var(--farbe-dunkel);
  transform:translate(-50%,-50%);
  transition:transform .2s;
}
.im-plus::after {
  transform:translate(-50%,-50%) rotate(90deg);
}
[open]>summary>.im-plus::after {
  transform:translate(-50%,-50%) rotate(0deg);
}
.im-acc summary:hover .im-plus {
  background:var(--farbe-knopf);
}
.im-acc>div {
  display:grid;
  gap:4px;
  padding:0 0 22px;
}
.im-acc>div a {
  padding:6px 0;
  font-size:var(--fs-m);
  color:var(--farbe-hell-grau);
}
.im-acc>div a:hover,
.im-acc>div a[aria-current] {
  color:var(--akzent-auf-dunkel);
}
.im-footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-top:25px;
  border-top:1px solid var(--linie-dunkel);
  font-size:var(--fs-s);
  line-height:var(--lh-klein);
  color:var(--farbe-hell-grau);
}
.im-footer-bottom>div {
  display:flex;
  flex-wrap:wrap;
  gap:25px;
}
.im-footer-bottom a {
  padding:8px 0;
}
@media (max-width:979px) {
  .im-footer {
    padding:50px 0 max(16px,env(safe-area-inset-bottom));
  }
  .im-footer-top {
    display:block;
    padding-bottom:32px;
  }
  .im-footer-top .aufrufe {
    margin-top:26px;
  }
  .im-footer-main {
    grid-template-columns:1fr;
    gap:35px;
    padding:35px 0;
  }
  .im-plus {
    width:44px;
    height:44px;
  }
  .im-footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .im-footer-bottom a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
}
@media (max-width:600px) {
  .kf-sprachzeile {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px 16px;
  }
}

.artikel-hero {
  height:max(calc(var(--hero-min) - var(--hh)),calc(var(--hero-hoehe) - var(--hh)));
  margin-top:var(--hh);
  background:var(--farbe-dunkel);
  overflow:hidden;
}
.artikel-hero:empty {
  height:0;
}
.artikel-hero:has(img + video) {
  position:relative;
}
.artikel-hero img + video {
  position:absolute;
  inset:0 0 auto;
  height:calc(100% - 2px);
}
.artikel-hero img,
.artikel-hero video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.artikel-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--kf-spalt);
  align-items:start;
}
.artikel-seite {
  grid-column:1 / span 3;
  align-self:stretch;
  padding:40px var(--kf-spalt) 60px 0;
  border-right:1px solid var(--linie);
}
.artikel-seite>div {
  position:sticky;
  top:var(--sticky-oben);
}
.artikel-seite .bs-kicker {
  color:var(--farbe-gedaempft);
}
.artikel-toc {
  border-block:2px solid var(--akzent);
}
.artikel-toc a {
  display:block;
  padding:11px 0;
  border-top:1px solid var(--linie);
  font-size:var(--fs-s);
  font-weight:700;
  line-height:var(--lh-klein);
}
.artikel-toc a:first-child {
  border-top:0;
}
.artikel-toc a:hover,
.artikel-toc a.is-active {
  color:var(--akzent);
}
.artikel-text {
  grid-column:4 / span 7;
  min-width:0;
  padding:34px 0 90px;
}
.artikel-pfad {
  margin:0;
  font-size:var(--fs-s);
  color:var(--farbe-gedaempft);
}
.artikel-text .artikel-pfad a {
  color:var(--akzent);
  text-decoration:none;
}
.artikel-text h1 {
  margin:26px 0 22px;
  font-size:var(--fs-h2);
  line-height:var(--lh-eng);
  letter-spacing:var(--ls-eng);
}
.artikel-text h2 {
  margin:48px 0 12px;
  font-size:var(--fs-xl);
  line-height:var(--lh-titel);
}
.artikel-text h3 {
  margin:32px 0 8px;
}
.artikel-text p,
.artikel-text li {
  font-size:var(--fs-text);
  line-height:var(--lh-text);
  color:var(--farbe-schrift-grau);
}
.artikel-text p a,
.artikel-text li a,
.artikel-text td a {
  color:var(--akzent);
  text-decoration:underline;
  text-underline-offset:3px;
}
.artikel-text ul,
.artikel-text ol {
  padding-left:22px;
}
.artikel-text ul.bs-personen {
  padding-left:0;
  margin:36px 0 40px;
}
.artikel-text figure {
  margin:30px 0;
}
.artikel-text figure img,
.artikel-text figure video {
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--radius);
}
.artikel-text .button {
  margin-top:24px;
  color:var(--farbe-schrift);
  text-decoration:none;
}
@media (max-width:979px) {
  .artikel-grid {
    grid-template-columns:1fr;
  }
  .artikel-seite {
    display:none;
  }
  .artikel-text {
    grid-column:auto;
    padding:28px 0 70px;
  }
  .artikel-hero img {
    aspect-ratio:16/9;
    height:auto;
  }
}

.bs {
  padding:var(--abstand) 0;
}
.bs:not(.bs-dunkel,.bs-typ-pfad) + .bs:not(.bs-dunkel) {
  border-top:1px solid var(--linie);
}
.bs-dunkel {
  --akzent:var(--akzent-auf-dunkel);
  background:var(--farbe-dunkel);
  color:var(--farbe-weiss);
}
.kf-grau {
  background:var(--flaeche);
}
:where(.bs) p,
:where(.bs) li {
  font-size:var(--fs-text);
  line-height:var(--lh-text);
  color:var(--farbe-schrift-grau);
}
.bs :is(p,li) {
  overflow-wrap:anywhere;
}
:where(.bs-dunkel) p,
:where(.bs-dunkel) li {
  color:var(--farbe-hell-grau);
}
:where(.bs) p a,
:where(.bs) li a {
  color:var(--akzent);
  text-decoration:underline;
  text-underline-offset:3px;
}
:where(.bs) video,
:where(.bs) img {
  display:block;
  width:100%;
  height:auto;
}
main section.bs > .wrap > :last-child,
main section.bs > .wrap > :last-child > :last-child {
  margin-bottom:0;
}
.bs-kopf {
  max-width:760px;
  margin-bottom:46px;
}
.bs-zentriert {
  margin-inline:auto;
  text-align:center;
}
.bs-einleitung p:last-child {
  margin-bottom:0;
}
.bs-knoepfe {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  margin-top:28px;
}
.bs-zentriert .bs-knoepfe {
  justify-content:center;
}
.aufrufe .ico {
  flex:none;
  width:20px;
  height:20px;
}
.aufrufe .button,
.aufrufe .bs-link {
  gap:10px;
}
.aufrufe-nr {
  font-weight:400;
}
.kf-experte {
  margin:28px 0 0;
  font-weight:700;
  color:var(--farbe-schrift);
}
.kf-experte + .bs-knoepfe {
  margin-top:14px;
}
.bs-haken {
  list-style:none;
  margin:22px 0 0;
  padding:0;
}
.bs-haken li {
  position:relative;
  padding:4px 0 4px 32px;
}
.bs-haken li::before {
  content:"";
  position:absolute;
  left:4px;
  top:12px;
  width:12px;
  height:7px;
  border-left:2.5px solid var(--akzent);
  border-bottom:2.5px solid var(--akzent);
  transform:rotate(-45deg);
}
.bs-haken li > p {
  margin:0;
}
.bs-haken li > p + p {
  margin-top:10px;
}
.bs-zweispaltig,
.kf-split,
.kf-hero-mit-medium,
.bs-aufruf-karte {
  display:grid;
  grid-template-columns:var(--kf-raster);
  gap:32px var(--kf-spalt);
}
.kf-split {
  align-items:start;
}
.kf-split + .karten {
  margin-top:56px;
}
.kf-split-links > :is(h2,h3,.titel):last-child {
  margin-bottom:0;
}
.kf-split-links .bs-personen {
  margin-top:20px;
}
.kf-split-rechts > :first-child {
  margin-top:0;
}
.kf-split-links,
.bs-aufruf-karte > :first-child,
.bs-zweispaltig > .bs-medium {
  position:sticky;
  top:var(--sticky-oben);
}
.bs-zweispaltig {
  align-items:start;
}
.bs-zweispaltig.kf-kurz {
  align-items:center;
}
.bs-zweispaltig.kf-kurz > .bs-medium {
  position:static;
}
.bs-zweispaltig.bs-rechts .bs-medium {
  order:2;
}
.bs-zweispaltig .bs-kopf {
  margin-bottom:0;
}
.bs-medium {
  margin:0;
}
.bs-medium :is(img,video):not(.bs-frei) {
  aspect-ratio:16/10;
  object-fit:cover;
}
.bs-medium img,
.bs-medium video,
.bs-galerie video {
  border-radius:var(--radius);
}
.bs-medium img.bs-frei {
  object-fit:contain;
  max-height:520px;
  margin:0 auto;
  border-radius:0;
}
.bs-zweispaltig .bs-medium img.bs-frei {
  max-height:none;
}
.karten {
  --raster-gap:var(--kf-spalt);
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--raster-gap);
}
.karten > * {
  flex:1 1 calc((100% - 2 * var(--raster-gap)) / 3);
  min-width:0;
}
.karten:is(:has(> :nth-child(2):last-child), :has(> :nth-child(4):last-child)) > * {
  flex-basis:calc((100% - var(--raster-gap)) / 2);
}
.bs-karte,
.karte,
.bs-aufruf-karte {
  border:1px solid var(--linie);
  border-radius:var(--radius);
  background:var(--farbe-weiss);
  color:var(--farbe-schrift);
}
.bs-karte,
.karte {
  overflow:hidden;
}
.bs-karte {
  padding:28px;
}
.bs-karte p,
.karte-teaser {
  font-size:var(--fs-text);
  line-height:var(--lh-text);
}
.bs-icon {
  --ico:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:16px;
  border-radius:50%;
  background:var(--flaeche);
  color:var(--akzent);
}
.karte {
  position:relative;
  display:flex;
  flex-direction:column;
}
.karte img {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.karte > :not(img) {
  margin-inline:22px;
}
.karte > :is(h2,h3,.titel) {
  margin:18px 22px 0;
  font-size:var(--fs-l);
  line-height:var(--lh-titel);
  letter-spacing:0;
}
.karte > :is(h2,h3,.titel) a {
  color:inherit;
  text-decoration:none;
}
.karte > :is(h2,h3,.titel) a:hover {
  color:var(--akzent);
}
.karte > .kf-datum {
  margin-top:6px;
  font-size:var(--fs-s);
  color:var(--farbe-gedaempft);
}
.karte-teaser {
  margin:8px 22px 0;
  color:var(--farbe-gedaempft);
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.karte-teaser p {
  margin:0;
}
.kf-unter-karten,
.kf-unter-team {
  margin-top:46px;
}
.kf-unter-karten {
  max-width:760px;
}
.bs.bs-typ-hero {
  position:relative;
  min-height:max(var(--hero-min),var(--hero-hoehe));
  display:flex;
  align-items:center;
  padding:0;
  background:var(--farbe-dunkel);
  color:var(--farbe-weiss);
  overflow:hidden;
}
.bs-hero-medium,
.bs-hero-medium video,
.bs-hero-medium img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.bs-hero-medium video,
.bs-hero-medium img {
  filter:brightness(.62) saturate(.85);
}
.bs-typ-hero:has(.kf-hero-mit-medium) .bs-hero-medium :is(img,video) {
  filter:brightness(.45) saturate(.7);
}
.bs-hero-medium img + video {
  height:calc(100% - 2px);
}
.bs-hero-medium video:not([src]) {
  display:none;
}
.bs-hero-medium::after {
  content:"";
  position:absolute;
  inset:0;
  background:var(--overlay-hero);
}
.bs-hero-text {
  position:relative;
  z-index:1;
  padding:calc(var(--hh) + 32px) 0 64px;
}
.bs-typ-hero h1 {
  max-width:960px;
}
.bs-hero-lead {
  max-width:620px;
}
.bs-hero-lead p {
  font-size:var(--fs-l);
  color:var(--farbe-weiss);
}
.kf-hero-mit-medium {
  align-items:center;
}
.kf-hero-mit-medium h1 {
  font-size:clamp(36px,3.6vw,56px);
}
.kf-hero-medium .kf-video {
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.kf-hero-medium {
  position:relative;
}
.kf-hero-medium.kf-weg {
  visibility:hidden;
}
.bs-typ-hero:has(.kf-weg) .bs-hero-medium :is(img,video) {
  filter:brightness(.62) saturate(.85);
}
.kf-video-zu {
  position:absolute;
  top:8px;
  right:8px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:color-mix(in srgb,var(--farbe-dunkel) 60%,transparent);
  color:var(--farbe-weiss);
  cursor:pointer;
}
.kf-video-zu:hover {
  background:color-mix(in srgb,var(--farbe-dunkel) 85%,transparent);
}
.kf-video-zu:focus-visible {
  outline:2px solid var(--farbe-weiss);
  outline-offset:2px;
}
.bs.bs-typ-pfad {
  padding:0;
  border-bottom:1px solid var(--linie);
}
.bs-typ-pfad .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  min-height:58px;
  font-size:var(--fs-s);
}
.bs-typ-pfad nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  color:var(--farbe-gedaempft);
}
.bs-krumen a:hover {
  color:var(--akzent);
}
.bs-krumen ol,
.artikel-pfad ol {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  margin:0;
  padding:0;
  list-style:none;
}
.bs-krumen li,
.artikel-pfad li {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}
.bs-faq {
  padding:8px var(--kf-karte-innen);
  background:var(--farbe-weiss);
  border:1px solid var(--linie);
  border-radius:var(--radius);
}
.bs-faq>details {
  border-bottom:1px solid var(--linie);
}
.bs-faq>details:last-child {
  border-bottom:0;
}
.bs-faq summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:16px 0;
  cursor:pointer;
  font-size:var(--fs-text);
  font-weight:700;
}
.bs-faq summary::-webkit-details-marker {
  display:none;
}
.bs-faq .im-plus {
  width:36px;
  height:36px;
}
.bs-faq .im-plus::before,
.bs-faq .im-plus::after {
  width:14px;
}
.bs-faq>details>div {
  padding:0 0 16px;
}
.bs-galerie {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--kf-spalt);
}
.bs-galerie.bs-spalten-4 {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.bs-galerie>figure {
  margin:0;
}
.bs-galerie img,
.bs-galerie video {
  aspect-ratio:4/3;
  object-fit:cover;
}
.bs-galerie .screen-button img {
  transition:transform .4s;
}
.bs-galerie .screen-button:hover img {
  transform:scale(1.03);
}
.bs-personen {
  list-style:none;
  margin:26px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.bs-personen li {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0;
}
.bs-personen img {
  flex:none;
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:cover;
}
.bs-personen span {
  display:flex;
  flex-direction:column;
}
.kf-ansprechpartner li {
  gap:18px;
}
.kf-ansprechpartner img {
  width:80px;
  height:80px;
}
.kf-ansprechpartner .kf-ap-text {
  display:block;
  margin-top:2px;
  font-size:var(--fs-s);
  color:var(--farbe-gedaempft);
}
.kf-ap-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-weight:700;
  color:var(--farbe-knopf);
  text-decoration:none;
}
.kf-ap-link:hover {
  text-decoration:underline;
}
.kf-ap-link .ico {
  width:18px;
  height:18px;
}
.bs-team {
  list-style:none;
  margin:8px auto 56px;
  padding:0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:24px;
}
.bs-team li {
  margin:0;
  width:236px;
  text-align:center;
}
.bs-team img {
  display:block;
  width:210px;
  height:210px;
  margin:0 auto;
  border-radius:50%;
  object-fit:cover;
  background:var(--flaeche);
}
.bs-team strong {
  display:block;
  margin-top:16px;
  line-height:1.35;
}
.bs-aufruf-karte {
  align-items:start;
  padding:var(--kf-spalt);
}
.bs-aufruf-karte .bs-kopf {
  margin:0;
  text-align:left;
}
.bs-aufruf-karte .aufrufe {
  margin-top:28px;
}
.bs-aufruf-karte .bs-personen {
  margin-top:28px;
}
.bs-aufruf-wege,
.bs-aufruf-danach {
  margin:24px 0 0;
}
.bs-aufruf-hinweis {
  margin:12px 0 0;
}
.bs-aufruf-formular-titel {
  margin:0 0 20px;
  font-size:var(--fs-l);
  line-height:var(--lh-titel);
}
.bs-aufruf-danach p {
  margin:0;
  font-size:inherit;
}
.bs-aufruf-wege a {
  display:inline-block;
  padding-block:10px;
  margin-block:-10px;
  color:var(--farbe-schrift);
  text-decoration:underline;
  text-underline-offset:3px;
}
.kf-video {
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:var(--radius);
  background:#000;
}
.kf-video img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.kf-video > span {
  position:absolute;
  inset:0;
  margin:auto;
  width:76px;
  height:54px;
  border-radius:14px;
  background:var(--farbe-knopf);
}
.kf-video > span::after {
  content:"";
  position:absolute;
  left:31px;
  top:16px;
  border-left:20px solid #fff;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
}
.kf-video:hover > span {
  background:var(--farbe-knopf-hover);
}
@media (max-width:980px) {
  .kf-split-links,
  .bs-aufruf-karte > :first-child,
  .bs-zweispaltig > .bs-medium {
    position:static;
  }
  .bs-aufruf-karte {
    padding:28px var(--kf-karte-innen);
  }
}
@media (max-width:979px) {
  .karten > * {
    flex-basis:calc((100% - var(--raster-gap)) / 2);
  }
  .bs-zweispaltig.bs-rechts .bs-medium {
    order:0;
  }
  .bs-typ-pfad .wrap {
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:14px 0;
  }
  .bs-galerie,
  .bs-galerie.bs-spalten-4 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bs-team {
    margin-bottom:40px;
  }
}
@media (max-width:899px) {
  .kf-video-zu {
    display:none;
  }
  .bs-krumen a,
  .artikel-pfad a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}
@media (max-width:600px) {
  .button {
    max-width:100%;
    white-space:normal;
    text-align:center;
  }
  .aufrufe-nr {
    display:none;
  }
  .karten > *,
  .karten:is(:has(> :nth-child(2):last-child), :has(> :nth-child(4):last-child)) > * {
    flex-basis:100%;
  }
  .bs-galerie {
    gap:10px;
  }
  .bs-galerie .screen-button > span {
    display:none;
  }
  .bs-team {
    flex-direction:column;
    align-items:center;
  }
  .bs-team li {
    width:calc(50% - 12px);
  }
  .bs-team img {
    width:140px;
    height:140px;
  }
}

.anfrage-feld {
  margin-bottom:18px;
}
.anfrage-feld label {
  display:block;
  font-size:var(--fs-m);
  font-weight:700;
  padding-block:4px;
  margin:-4px 0 2px;
  color:var(--farbe-schrift);
}
.anfrage label>span {
  color:var(--akzent-auf-hell);
}
.anfrage input[type="text"],
.anfrage input[type="email"],
.anfrage input[type="tel"],
.anfrage textarea {
  display:block;
  width:100%;
  box-sizing:border-box;
  font:inherit;
  font-size:var(--fs-m);
  color:var(--farbe-schrift);
  background:var(--farbe-weiss);
  border:1px solid color-mix(in srgb,var(--farbe-gedaempft) 70%,var(--farbe-weiss));
  border-radius:var(--radius);
  padding:12px 14px;
  min-height:48px;
}
.anfrage textarea {
  resize:vertical;
  min-height:120px;
  line-height:var(--lh-klein);
}
.anfrage input:focus-visible,
.anfrage textarea:focus-visible,
.anfrage-feld-haken input:focus-visible {
  outline:3px solid var(--akzent-auf-hell);
  outline-offset:1px;
}
.anfrage-hilfe {
  margin:6px 0 0;
}
.anfrage-pflicht-hinweis {
  margin:12px 0 0;
}
.anfrage-pflicht-hinweis p {
  margin:0;
  font-size:inherit;
}
.anfrage-feld-haken {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 12px;
  align-items:start;
}
.anfrage-feld-haken input {
  width:24px;
  height:24px;
  margin:1px 0 0;
  accent-color:var(--akzent-auf-hell);
}
.anfrage-feld-haken label {
  font-weight:400;
  line-height:var(--lh-klein);
  padding:0;
  margin:0;
}
.anfrage-feld-haken a {
  text-decoration:underline;
}
.anfrage .button {
  display:flex;
  justify-content:space-between;
  width:100%;
  margin-top:4px;
  padding:13px 24px;
  cursor:pointer;
}
.anfrage .button:focus-visible {
  outline:3px solid var(--akzent-auf-hell);
  outline-offset:3px;
}
.anfrage-status {
  margin-top:18px;
  padding:14px 16px;
  font-size:var(--fs-m);
  line-height:var(--lh-klein);
  border-left:4px solid var(--akzent-auf-hell);
  background:var(--flaeche);
}
