

:root {
  --bg: #F4F1EE;
  --surface: #FFFFFF;
  --text: #221A1C;
  --muted: #6B5E62;
  --accent: #7E2436;
  --accent2: #A08A6B;

  --grund-inset: #EBE7E2;

  --accent-tief: #641B2A;
  --linie: rgba(160, 138, 107, .55);
  --feld-rand: rgba(107, 94, 98, .35);

  --site-bg: #F4F1EE;
  --site-surface: #FFFFFF;
  --site-text: #221A1C;
  --site-muted: #6B5E62;
  --site-accent: #7E2436;

  --breit: 1160px;
  --luft: 92px;

  --f-head: "Sora", system-ui, sans-serif;
  --f-body: "Merriweather", Georgia, serif}

* { box-sizing: border-box}

html { scroll-behavior: smooth}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--f-body);
  font-weight: 400;
  line-height: 1.75;
  font-size: clamp(1rem, .95rem + .25vw, 1.075rem);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden}

h1, h2, h3, h4 {
  font-family: var(--f-head);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.01em;
  color: var(--text);
  margin: 0 0 .5em}

h1 { font-size: clamp(2.1rem, 1.5rem + 3vw, 3.6rem)}
h2 { font-size: clamp(1.7rem, 1.25rem + 2vw, 2.6rem)}
h3 { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.55rem)}

p { margin: 0 0 1.1em}

a { color: var(--accent); text-decoration: none}
a:hover { text-decoration: underline}

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

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

.vrl_band {
  background: var(--bg);
  padding: var(--luft) 0}
.vrl_band--inset { background: var(--grund-inset)}
.vrl_band--flaeche { background: var(--surface)}

.vrl_breite {
  width: 100%;
  max-width: var(--breit);
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 40px)}

.vrl_lesespalte { max-width: 62ch}

.vrl_kapitel {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 34px}
.vrl_kapitel-nummer {
  font-family: var(--f-head);
  font-weight: 400;
  font-size: clamp(2.4rem, 1.5rem + 4vw, 4.5rem);
  color: var(--accent2);
  line-height: 1;
  letter-spacing: .02em}
.vrl_kapitel-linie {
  flex: 1 1 auto;
  min-width: 0;
  height: 1px;
  background: var(--linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .9s ease}
.vrl_kapitel.aos-animate .vrl_kapitel-linie,
.vrl_kapitel--sofort .vrl_kapitel-linie { transform: scaleX(1)}

.vrl_augbraue {
  font-family: var(--f-head);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 .8em}

.btn-f58 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  font-family: var(--f-head);
  font-weight: 600;
  font-size: .95rem;
  line-height: 1;
  padding: 15px 28px;
  border-radius: 0;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease}
.btn-f58:hover { text-decoration: none}
.btn-f58--primary {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent)}
.btn-f58--primary:hover { background: var(--accent-tief); border-color: var(--accent-tief)}
.btn-f58--ghost {
  background: transparent;
  color: var(--accent);
  border-color: var(--linie)}
.btn-f58--ghost:hover { border-color: var(--accent); background: rgba(126, 36, 54, .05)}
.btn-f58:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px}
.btn-f58:disabled { opacity: .5; cursor: not-allowed}

.field-gsd {
  width: 100%;
  min-width: 0;
  font-family: var(--f-body);
  font-size: 1rem;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--feld-rand);
  border-radius: 0;
  padding: 13px 15px;
  min-height: 50px;
  transition: border-color .2s ease, box-shadow .2s ease}
textarea.field-gsd { min-height: 150px; resize: vertical; line-height: 1.7}
.field-gsd:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(126, 36, 54, .15)}
.field-gsd::placeholder { color: rgba(107, 94, 98, .7)}

.vrl_form_label,
label {
  display: block;
  font-family: var(--f-head);
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: .04em;
  color: var(--muted);
  margin-bottom: 7px}
.vrl_form-feld { margin-bottom: 20px}

.tile-4bm {
  background: var(--surface);
  border: 1px solid var(--linie);
  padding: 32px}
.label-pill-chn {
  display:block;width:fit-content;
  font-family: var(--f-head);
  font-weight: 600;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  background: rgba(160, 138, 107, .14);
  padding: 5px 12px;
  border-radius: 0}

.vrl_kopf {
  position: sticky;
  top: 0;
  z-index: 60;
  height: 70px;
  background: var(--bg);
  border-bottom: 1px solid var(--linie);
  transition: box-shadow .25s ease, background .25s ease}
.vrl_kopf.is-scrolled { box-shadow: 0 1px 0 rgba(34, 26, 28, .08)}

.vrl_kopf-reihe {
  height: 70px;
  max-width: var(--breit);
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 40px);
  display: flex;
  align-items: center;
  gap: 24px}

.vrl_nav {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0}
.vrl_nav-liste {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(14px, 2vw, 30px);
  list-style: none;
  margin: 0;
  padding: 0}
.vrl_nav-hauptlink {
  font-family: var(--f-head);
  font-weight: 600;
  font-size: .9rem;
  color: var(--text);
  letter-spacing: .01em}
.vrl_nav-hauptlink:hover,
.vrl_nav-hauptlink.is-aktiv { color: var(--accent); text-decoration: none}

.vrl_sprachwahl {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  font-family: var(--f-head);
  font-size: .82rem}
.vrl_sprachwahl button {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  color: var(--muted);
  padding: 4px 6px}
.vrl_sprachwahl button.is-aktiv { color: var(--accent); font-weight: 600}

.vrl_marke {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: baseline;
  gap: 10px}
.vrl_marke:hover { text-decoration: none}
.vrl_marke-icon {
  width: 26px;
  height: 26px;
  transform: translateY(4px)}
.vrl_marke-icon path,
.vrl_marke-icon line { stroke: var(--accent)}
.vrl_marke-wort {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: 1.32rem;
  letter-spacing: -.01em;
  color: var(--text)}

.vrl_nav-toggle {
  display: none;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border: 1px solid var(--linie);
  background: transparent;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: var(--text);
  font-size: 1.2rem}

.vrl_nav-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: min(320px, 86vw);
  height: 100dvh;
  background: var(--surface);
  border-left: 1px solid var(--linie);
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 80;
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 8px}
.vrl_nav-panel.is-open { transform: translateX(0)}
.vrl_nav-panel-kopf {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px}
.vrl_nav-panel a {
  font-family: var(--f-head);
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--text);
  padding: 12px 4px;
  border-bottom: 1px solid var(--linie)}
.vrl_nav-panel a:hover { color: var(--accent); text-decoration: none}
.vrl_shut {
  width: 44px; height: 44px;
  border: 1px solid var(--linie);
  background: transparent;
  cursor: pointer;
  font-size: 1.1rem;
  color: var(--text)}

.vrl_veil {
  position: fixed;
  inset: 0;
  background: rgba(34, 26, 28, .45);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
  z-index: 70}
.vrl_veil.is-open { opacity: 1; visibility: visible}

.vrl_hero { padding: clamp(56px, 8vw, 100px) 0 var(--luft)}
.vrl_hero-titel { }
.vrl_hero-lead {
  max-width: 52ch;
  font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem);
  color: var(--muted);
  margin-top: 18px}
.vrl_hero-aktion { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 14px}
.vrl_hero-bild {
  margin-top: clamp(40px, 6vw, 72px);
  aspect-ratio: 21 / 9;
  overflow: hidden}
.vrl_hero-bild img { width: 100%; height: 100%; object-fit: cover}

.vrl_seitenkopf { padding: clamp(48px, 7vw, 88px) 0}
.vrl_seitenkopf--band { background: var(--grund-inset)}
.vrl_seitenkopf-lead { max-width: 56ch; color: var(--muted); font-size: 1.15rem}

.vrl_seitenkopf--mitte { text-align: center}
.vrl_seitenkopf--mitte .vrl_seitenkopf-lead { margin-left: auto; margin-right: auto}
.vrl_seitenkopf--mitte .vrl_kapitel { justify-content: center}

.vrl_seitenkopf--bild .vrl_seitenkopf-raster {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center}
.vrl_seitenkopf-foto {
  aspect-ratio: 4 / 3;
  overflow: hidden}
.vrl_seitenkopf-foto img { width: 100%; height: 100%; object-fit: cover}

.vrl_bildband {
  position: relative;
  min-height: clamp(340px, 55vh, 520px);
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: var(--luft) 0}
.vrl_bildband-bild { position: absolute; inset: 0}
.vrl_bildband-bild img { width: 100%; height: 100%; object-fit: cover}
.vrl_bildband-bild::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(34, 26, 28, .5)}
.vrl_bildband-zitat {
  position: relative;
  z-index: 1;
  max-width: 46ch;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 40px);
  text-align: center;
  font-family: var(--f-head);
  font-weight: 600;
  font-size: clamp(1.5rem, 1.1rem + 2vw, 2.4rem);
  line-height: 1.28;
  color: #fff}

.vrl_team_raster {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(22px, 3vw, 36px)}
.vrl_zimmer_karte,
.vrl_team_karte { min-width: 0}
.vrl_team_karte-foto {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  margin-bottom: 18px}
.vrl_team_karte-foto img { width: 100%; height: 100%; object-fit: cover}
.vrl_team_karte-name { margin-bottom: 2px}
.vrl_team_karte-rolle {
  font-family: var(--f-head);
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent2)}

.vrl_fall {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(24px, 3vw, 44px)}
.vrl_fall-akt {
  border-top: 2px solid var(--accent2);
  padding-top: 22px}
.vrl_fall-akt-marke {
  font-family: var(--f-head);
  font-weight: 400;
  font-size: 2.4rem;
  color: var(--accent2);
  line-height: 1;
  display: block;
  margin-bottom: 14px}
.vrl_fall-akt h3 { margin-bottom: .4em}

.vrl_zitat { text-align: left}
.vrl_zitat--mitte { text-align: center}
.vrl_zitat-text {
  font-family: var(--f-head);
  font-weight: 600;
  font-size: clamp(1.6rem, 1.1rem + 2.4vw, 3rem);
  line-height: 1.22;
  letter-spacing: -.01em;
  margin: 0 0 26px}
.vrl_zitat--mitte .vrl_zitat-text { margin-left: auto; margin-right: auto}
.vrl_zitat-quelle {
  font-family: var(--f-head);
  font-size: .9rem;
  letter-spacing: .06em;
  color: var(--muted);
  padding-top: 16px;
  border-top: 1px solid var(--linie);
  display: inline-block}

.vrl_zitat--portrait .vrl_zitat-raster {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center}
.vrl_zitat-portrait {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  max-width: 340px}
.vrl_zitat-portrait img { width: 100%; height: 100%; object-fit: cover}

.vrl_zitat--foto {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 9vw, 110px) 0}
.vrl_zitat-hintergrund { position: absolute; inset: 0}
.vrl_zitat-hintergrund img { width: 100%; height: 100%; object-fit: cover}
.vrl_zitat-hintergrund::after {
  content: "";
  position: absolute; inset: 0;
  background: rgba(34, 26, 28, .62)}
.vrl_zitat--foto .vrl_breite { position: relative; z-index: 1}
.vrl_zitat--foto .vrl_zitat-text { color: #fff}
.vrl_zitat--foto .vrl_zitat-quelle { color: rgba(255,255,255,.8); border-color: rgba(255,255,255,.35)}

.vrl_split { display: flex; flex-direction: column; gap: clamp(48px, 7vw, 92px)}
.vrl_split-reihe {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: center}
.vrl_split-bild {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  min-width: 0}
.vrl_split-bild img { width: 100%; height: 100%; object-fit: cover}
.vrl_split-text { min-width: 0}
.vrl_split-nummer {
  font-family: var(--f-head);
  font-weight: 400;
  font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem);
  color: var(--accent2);
  line-height: 1;
  display: block;
  margin-bottom: 14px}
.vrl_split-liste {
  list-style: none;
  margin: 18px 0 0;
  padding: 0}
.vrl_split-liste li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px}
.vrl_split-liste li::before {
  content: "";
  position: absolute;
  left: 0; top: .7em;
  width: 10px; height: 1px;
  background: var(--accent)}

.vrl_split--gross .vrl_split-reihe { gap: clamp(32px, 5vw, 72px)}

@media (min-width: 820px) {
  .vrl_split-reihe { grid-template-columns: 1fr 1fr}
  .vrl_split-reihe--gedreht .vrl_split-bild { order: 2}
  .vrl_seitenkopf--bild .vrl_seitenkopf-raster { grid-template-columns: 1.1fr .9fr}
  .vrl_zitat--portrait .vrl_zitat-raster { grid-template-columns: 320px 1fr}
}

.vrl_inline-raster {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: start}
.vrl_inline-text { max-width: 46ch}
.vrl_inline-notiz {
  font-size: .9rem;
  color: var(--muted);
  margin-top: 12px}

.vrl_inline-einzeile {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end}
.vrl_inline-einzeile .vrl_form-feld { flex: 1 1 240px; margin-bottom: 0}
@media (min-width: 820px) {
  .vrl_inline-raster { grid-template-columns: 1fr 1fr}
}

.vrl_cta {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 4vw, 48px);
  align-items: center}
.vrl_cta-kontakt { display: flex; flex-direction: column; gap: 8px}
.vrl_cta-kontakt a { color: var(--text)}
.vrl_cta-kontakt a:hover { color: var(--accent)}
@media (min-width: 820px) {
  .vrl_cta--split { grid-template-columns: 1.4fr 1fr}
}

.vrl_cta--karte {
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--linie);
  padding: clamp(36px, 6vw, 72px);
  max-width: 720px;
  margin: 0 auto}
.vrl_cta--karte .vrl_hero-aktion { justify-content: center}

.vrl_kontakt-raster {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: start}
.vrl_kontakt-info { display: flex; flex-direction: column; gap: 20px}
.vrl_kontakt-info-zeile { }
.vrl_kontakt-info-zeile a { color: var(--text)}
.vrl_kontakt-info-zeile a:hover { color: var(--accent)}
.vrl_kontakt-info-label {
  font-family: var(--f-head);
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent2);
  margin-bottom: 4px}
@media (min-width: 820px) {
  .vrl_kontakt-raster { grid-template-columns: 1.1fr .9fr}
}

.vrl_fuss-halften {
  display: grid;
  grid-template-columns: 1fr}
.vrl_fuss-links {
  background: var(--surface);
  padding: clamp(48px, 7vw, 80px) clamp(24px, 6vw, 80px)}
.vrl_fuss-rechts {
  background: var(--accent);
  color: #fff;
  padding: clamp(48px, 7vw, 80px) clamp(24px, 6vw, 80px);
  display: flex;
  flex-direction: column;
  justify-content: center}
.vrl_fuss-marke {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 20px}
.vrl_footer_kontaktzeile { margin-bottom: 14px}
.vrl_footer_kontaktzeile a { color: var(--text)}
.vrl_footer_kontaktzeile a:hover { color: var(--accent)}
.vrl_fuss-nav {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px}
.vrl_fuss-nav a {
  font-family: var(--f-head);
  font-size: .9rem;
  color: var(--muted)}
.vrl_fuss-nav a:hover { color: var(--accent)}
.vrl_fuss-schluss {
  font-family: var(--f-head);
  font-weight: 600;
  font-size: clamp(1.3rem, 1rem + 1.4vw, 1.9rem);
  line-height: 1.3;
  margin: 0 0 24px}
.vrl_fuss-rechts a { color: #fff; text-decoration: underline; text-underline-offset: 4px}
.vrl_fuss-copy {
  min-height: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 18px;
  padding: 10px clamp(24px, 6vw, 80px);
  background: var(--text);
  color: rgba(244, 241, 238, .8);
  font-size: .82rem}
.vrl_fuss-copy a { color: rgba(244, 241, 238, .9)}
@media (min-width: 820px) {
  .vrl_fuss-halften { grid-template-columns: 1fr 1fr}
}

[data-fold] {
  border-bottom: 1px solid var(--linie)}
[data-fold-head] {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--f-head);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--text);
  padding: 22px 40px 22px 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px}
[data-fold-head]::after {
  content: "+";
  position: absolute;
  right: 4px; top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: var(--accent)}
[data-fold].is-open [data-fold-head]::after { content: "–"}
[data-fold] .vrl_fold-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease}
[data-fold].is-open .vrl_fold-body { max-height: 600px}
.vrl_fold-body-inner { padding: 0 0 22px; color: var(--muted); max-width: 62ch}

.reel-s3m { padding-bottom: 48px}
.reel-s3m .swiper-slide { height: auto}
.swiper-pagination-bullet {
  background: var(--accent2);
  opacity: .5}
.swiper-pagination-bullet-active { background: var(--accent); opacity: 1}
.swiper-button-prev, .swiper-button-next { color: var(--accent)}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 1.4rem}

.site-modal,
.dialog-kli-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(34, 26, 28, .5)}
.site-modal.is-open,
.dialog-kli-overlay.is-open { display: flex}
.dialog-kli {
  background: var(--surface);
  border: 1px solid var(--linie);
  max-width: 480px;
  width: 100%;
  padding: clamp(28px, 5vw, 44px)}
.dialog-kli h3 { margin-bottom: .5em}
.dialog-kli-schliessen {
  margin-top: 20px}

.vrl_legal { padding: var(--luft) 0}
.vrl_legal .vrl_breite { max-width: 760px}
.vrl_legal h2 { margin-top: 1.6em}
.vrl_legal h2:first-of-type { margin-top: 0}
.vrl_legal p, .vrl_legal li { color: var(--text)}

[data-aos] { will-change: opacity, transform}

@media (max-width: 900px) {
  .vrl_nav-liste { display: none}
  .vrl_sprachwahl { display: none}
  .vrl_nav-toggle { display: inline-flex}
  .vrl_marke { margin-left: 0}
  .vrl_kopf-reihe { justify-content: space-between}
  .vrl_nav { flex: 0 0 auto}
}

.privacy-note-9kf-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998}
.privacy-note-9kf-overlay.is-open{opacity:1;visibility:visible}
.privacy-note-9kf-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999}
.privacy-note-9kf-panel.is-open{opacity:1;visibility:visible}
.privacy-note-9kf-panel h3{margin:0 0 8px;font-size:1.2rem}
.privacy-note-9kf-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem}
.privacy-note-9kf-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2)}
.privacy-note-9kf-cat h4{margin:0 0 2px;font-size:.98rem}
.privacy-note-9kf-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem}
.privacy-note-9kf-switch{position:relative;flex:0 0 auto;width:44px;height:24px}
.privacy-note-9kf-switch input{opacity:0;width:0;height:0;position:absolute}
.privacy-note-9kf-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer}
.privacy-note-9kf-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.privacy-note-9kf-switch input:checked+span{background:var(--site-accent,#2b7)}
.privacy-note-9kf-switch input:checked+span::before{transform:translateX(20px)}
.privacy-note-9kf-switch input:disabled+span{opacity:.6;cursor:not-allowed}
.privacy-note-9kf-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.privacy-note-9kf-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}
.privacy-note-9kf-actions #privacy-note-9kf-all{background:var(--site-accent,#2b7);color:#fff}
.privacy-note-9kf-actions #privacy-note-9kf-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4)}
.privacy-note-9kf-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem}
.privacy-note-9kf-links a{color:var(--site-accent,#2b7);text-decoration:underline}
.privacy-note-9kf-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem}

.privacy-note-9kf-overlay{background:transparent;pointer-events:none}
.privacy-note-9kf-panel{left:24px;bottom:24px;width:min(380px,calc(100% - 32px));border-radius:16px;transform:translateY(24px)}
.privacy-note-9kf-panel.is-open{transform:translateY(0)}
@media(max-width:520px){.privacy-note-9kf-panel{left:16px;right:16px;width:auto}}
@media(max-width:520px){.privacy-note-9kf-actions button{min-width:100%}}
#action-dock-lfl{left:auto !important;right:18px !important}
@media(max-width:520px){#action-dock-lfl{right:12px !important}}

.thanks-pop-a1z{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px)}
.thanks-pop-a1z.is-open{display:flex}
.thanks-pop-a1z__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:thanks-pop-a1z-in .22s ease-out}
@keyframes thanks-pop-a1z-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.thanks-pop-a1z__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff}
.thanks-pop-a1z__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25}
.thanks-pop-a1z__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472)}
.thanks-pop-a1z__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff}
.thanks-pop-a1z__close:hover{filter:brightness(1.08)}
.thanks-pop-a1z__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.thanks-pop-a1z__box{animation:none}}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
img,svg,video,iframe,canvas{max-width:100%}
table{max-width:100%}

.simpleParallax{display:block;width:100%;height:100%}
.simpleParallax img{width:100%;height:100%;object-fit:cover}

blockquote, figure { margin-left: 0; margin-right: 0}

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0}

html.no-aos [data-aos]{opacity:1 !important;transform:none !important}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7}
.legal-doc h1{margin:0 0 .6em}
.legal-doc h2{margin:1.8em 0 .5em}
.legal-doc h3{margin:1.4em 0 .4em}
.legal-doc p,.legal-doc li{margin:0 0 .8em}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left}

@media (max-width: 720px) {
  body { overflow-x: hidden}
  h1, h2, h3, p, li, td { overflow-wrap: break-word}
  
  input, select, textarea { max-width: 100%; min-width: 0}
  
  img, svg, video, iframe, table { max-width: 100%}
}

#nav-panel-zhx{position:fixed;top:0;right:0;bottom:0;width:min(84vw,360px);padding:72px 28px 28px;background:var(--site-surface,#fff);color:var(--site-text,#111);box-shadow:-12px 0 40px rgba(0,0,0,.18);transform:translateX(100%);visibility:hidden;transition:transform .28s ease,visibility .28s;z-index:9999;overflow-y:auto}
#nav-panel-zhx.is-open{transform:none;visibility:visible}
#nav-panel-zhx a{display:block;padding:.6em 0;font-size:1.1rem;color:inherit;text-decoration:none}
#veil-6sj{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:.25s;z-index:9998}
#veil-6sj.is-open{opacity:1;visibility:visible}
#nav-toggle-dnq{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1}
#shut-mz2{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1}
#to-top-mj9{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1}

@media (max-width: 720px) {
  
.vrl_kapitel,
.btn-f58,
.vrl_kopf-reihe,
.vrl_nav,
.vrl_marke,
.vrl_nav-panel,
.vrl_nav-panel-kopf,
.vrl_split,
.vrl_cta-kontakt,
.vrl_kontakt-info,
.vrl_fuss-rechts,
.site-modal.is-open, .dialog-kli-overlay.is-open,
.privacy-note-9kf-cat,
.privacy-note-9kf-links,
.thanks-pop-a1z.is-open,
.thanks-pop-a1z__mark { flex-wrap: wrap}
  
.vrl_kapitel > *,
.btn-f58 > *,
.vrl_kopf-reihe > *,
.vrl_nav > *,
.vrl_marke > *,
.vrl_nav-panel > *,
.vrl_nav-panel-kopf > *,
.vrl_split > *,
.vrl_cta-kontakt > *,
.vrl_kontakt-info > *,
.vrl_fuss-rechts > *,
.site-modal.is-open, .dialog-kli-overlay.is-open > *,
.privacy-note-9kf-cat > *,
.privacy-note-9kf-links > *,
.thanks-pop-a1z.is-open > *,
.thanks-pop-a1z__mark > * { min-width: 0}
}

.privacy-note-9kf-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.privacy-note-9kf-overlay.is-open{opacity:1;visibility:visible;}
.privacy-note-9kf-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.privacy-note-9kf-panel.is-open{opacity:1;visibility:visible;}
.privacy-note-9kf-panel h3{margin:0 0 8px;font-size:1.2rem;}
.privacy-note-9kf-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.privacy-note-9kf-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.privacy-note-9kf-cat h4{margin:0 0 2px;font-size:.98rem;}
.privacy-note-9kf-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.privacy-note-9kf-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.privacy-note-9kf-switch input{opacity:0;width:0;height:0;position:absolute;}
.privacy-note-9kf-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.privacy-note-9kf-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.privacy-note-9kf-switch input:checked+span{background:var(--site-accent,#2b7);}
.privacy-note-9kf-switch input:checked+span::before{transform:translateX(20px);}
.privacy-note-9kf-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.privacy-note-9kf-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.privacy-note-9kf-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.privacy-note-9kf-actions #privacy-note-9kf-all{background:var(--site-accent,#2b7);color:#fff;}
.privacy-note-9kf-actions #privacy-note-9kf-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.privacy-note-9kf-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.privacy-note-9kf-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.privacy-note-9kf-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.privacy-note-9kf-overlay{background:transparent;pointer-events:none;}
.privacy-note-9kf-panel{left:24px;bottom:24px;width:min(380px,calc(100% - 32px));border-radius:16px;transform:translateY(24px);}
.privacy-note-9kf-panel.is-open{transform:translateY(0);}
@media(max-width:520px){.privacy-note-9kf-panel{left:16px;right:16px;width:auto;}}
@media(max-width:520px){.privacy-note-9kf-actions button{min-width:100%;}}
#action-dock-lfl{left:auto !important;right:18px !important;}
@media(max-width:520px){#action-dock-lfl{right:12px !important;}}

.thanks-pop-a1z{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.thanks-pop-a1z.is-open{display:flex;}
.thanks-pop-a1z__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:thanks-pop-a1z-in .22s ease-out;}
@keyframes thanks-pop-a1z-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.thanks-pop-a1z__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.thanks-pop-a1z__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.thanks-pop-a1z__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.thanks-pop-a1z__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.thanks-pop-a1z__close:hover{filter:brightness(1.08);}
.thanks-pop-a1z__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.thanks-pop-a1z__box{animation:none;}}

*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}

.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}

blockquote, figure { margin-left: 0; margin-right: 0; }

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }

html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  
  input, select, textarea { max-width: 100%; min-width: 0; }
  
  img, svg, video, iframe, table { max-width: 100%; }
}
