:root {
  --abstand-xxl: 96px;
  --farbe-grund: #f8f8f8;
  --abstand-xl: 64px;
  --farbe-flaeche: #f4f3f7;
  --abstand-m: 24px;
  --farbe-dunkel: #2b1b3d;
  --abstand-s: 16px;
  --huelle-breit: 1200px;
  --abstand-l: 40px;
  --farbe-text: #21252d;
  --farbe-auf-dunkel: #fff;
  --farbe-akzent: #4f3570;
  --farbe-text-leise: #5c5a66;
  --radius: 6px;
  --farbe-linie: #cfc7de;
  --farbe-akzent-hell: #8b6fb0;
  --abstand-xs: 8px;
}

.f-section {
  width: 100%;
  padding-top: var(--abstand-xxl);
  padding-bottom: var(--abstand-xxl);
  background-color: var(--farbe-grund);
  position: relative;
}

.f-section.f-eng {
  padding-top: var(--abstand-xl);
  padding-bottom: var(--abstand-xl);
}

.f-section.f-dunkel {
  background-color: var(--farbe-dunkel);
}

.f-section.f-brotkrumen-band {
  padding-top: var(--abstand-m);
  padding-bottom: 0;
}

.f-section.f-muster-knapp {
  padding-top: 48px;
  padding-bottom: 48px;
}

.f-section.f-flaeche {
  background-color: var(--farbe-flaeche);
}

.f-section.f-flaeche.f-brotkrumen-band {
  padding-top: var(--abstand-m);
  padding-bottom: var(--abstand-m);
}

.f-section.f-flaeche.f-muster-knapp, .f-section.f-muster-knapp {
  padding-top: 48px;
  padding-bottom: 48px;
}

.f-huelle {
  width: 100%;
  max-width: var(--huelle-breit);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
  display: flex;
}

.f-huelle.f-randgleich {
  padding-right: 32px;
}

.f-knopfreihe {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.f-knopfreihe.f-hero-knoepfe {
  grid-area: 3 / 1 / 4 / 2;
}

.f-knopfreihe.f-kontaktwege {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
  width: 100%;
  display: grid;
}

.f-knopfreihe.f-vierfach {
  flex-wrap: nowrap;
  align-items: stretch;
}

.f-knopfreihe.f-vierfach.f-vollbreit {
  justify-content: center;
  width: 100%;
}

.f-stapel {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
  display: flex;
}

.f-stapel.f-hero-kopf {
  grid-area: 1 / 1 / 2 / 2;
  row-gap: 16px;
}

.f-stapel.f-stapel-links {
  justify-content: flex-start;
  align-items: flex-start;
}

.f-split-b {
  grid-template-rows: auto;
  grid-template-columns: 5fr 7fr;
  align-items: center;
  gap: 32px 64px;
  display: grid;
}

.f-split-b.f-eine-reihe {
  grid-template-rows: auto;
}

.f-split-b.f-vollbreit {
  grid-template-rows: auto;
  grid-template-columns: 7fr 5fr;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.f-split-b.f-vollbreit.f-404-split {
  align-items: center;
}

.f-split-b.f-leistung-hero {
  grid-template-rows: auto;
  grid-template-columns: 5fr 7fr;
}

.f-split-b.f-geschichte-split {
  grid-template-columns: 6fr 6fr;
  column-gap: 56px;
  width: 100%;
}

.f-split-b.f-start-split {
  grid-template-columns: 6fr 6fr;
  gap: 28px 56px;
  width: 100%;
}

.f-h1 {
  color: var(--farbe-text);
  text-align: left;
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Archivo, sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1.08;
}

.f-h1.f-auf-dunkel {
  color: var(--farbe-auf-dunkel);
}

.f-h1.f-hero-h1 {
  overflow-wrap: anywhere;
}

.f-h1.f-h1-lang {
  overflow-wrap: normal;
}

.f-h2 {
  color: var(--farbe-text);
  text-align: left;
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Archivo, sans-serif;
  font-size: 39px;
  font-weight: 700;
  line-height: 1.15;
}

.f-h2.f-auf-dunkel {
  color: var(--farbe-auf-dunkel);
}

.f-h2.f-auf-dunkel.f-mitte, .f-h2.f-mitte {
  text-align: center;
}

.f-h2.f-h2-schmal {
  max-width: 640px;
}

.f-lead {
  max-width: 600px;
  color: var(--farbe-text);
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

.f-lead.f-auf-dunkel {
  color: var(--farbe-auf-dunkel);
}

.f-lead.f-auf-dunkel.f-mitte {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.f-lead.f-leise {
  color: var(--farbe-text-leise);
}

.f-lead.f-mitte {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.f-klein {
  color: var(--farbe-text-leise);
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.f-klein.f-auf-dunkel {
  color: var(--farbe-auf-dunkel);
}

.f-klein.f-auf-dunkel.f-mitte, .f-klein.f-mitte {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.f-klein.f-hero-nachsatz {
  grid-area: 4 / 1 / 5 / 2;
  align-self: start;
}

.f-klein.f-geschichte-nr {
  color: var(--farbe-akzent);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.f-knopf {
  border-radius: var(--radius);
  text-align: center;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
  min-height: 48px;
  padding: 15px 26px;
  font-family: Archivo, sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition-property: background-color, color;
  transition-duration: .2s;
  display: inline-flex;
}

.f-knopf:focus-visible, .f-knopf[data-wf-focus-visible] {
  outline-color: var(--farbe-akzent);
  outline-offset: 2px;
  outline-width: 2px;
  outline-style: solid;
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel:hover, .f-knopf.f-zweit.f-viertel.f-auf-dunkel:active {
  background-color: var(--farbe-auf-dunkel);
  color: var(--farbe-dunkel);
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel:focus-visible, .f-knopf.f-zweit.f-viertel.f-auf-dunkel[data-wf-focus-visible] {
  background-color: var(--farbe-auf-dunkel);
  outline-color: var(--farbe-auf-dunkel);
  outline-offset: 2px;
  color: var(--farbe-dunkel);
  outline-width: 2px;
  outline-style: solid;
}

.f-knopf.f-anruf {
  border: 1.5px solid var(--farbe-auf-dunkel);
  background-color: var(--farbe-akzent);
  width: 48px;
  min-width: 48px;
  height: 48px;
  min-height: 48px;
  color: var(--farbe-auf-dunkel);
  column-gap: 0;
  padding: 0;
}

.f-knopf.f-primaer {
  background-color: var(--farbe-akzent);
  color: var(--farbe-auf-dunkel);
  justify-content: center;
  align-items: center;
}

.f-knopf.f-primaer:hover {
  background-color: var(--farbe-dunkel);
  color: var(--farbe-auf-dunkel);
}

.f-knopf.f-primaer.f-breit {
  white-space: normal;
  width: 100%;
  max-width: 100%;
}

.f-knopf.f-primaer.f-hero-knopf {
  white-space: normal;
}

.f-knopf.f-primaer.f-viertel {
  flex: 1;
  min-width: 0;
}

.f-knopf.f-zweit {
  border: 1.5px solid var(--farbe-akzent);
  color: var(--farbe-akzent);
  background-color: #0000;
}

.f-knopf.f-zweit:hover {
  background-color: var(--farbe-akzent);
  color: var(--farbe-auf-dunkel);
}

.f-knopf.f-zweit.f-hero-knopf {
  white-space: normal;
}

.f-knopf.f-zweit.f-selbstbreit {
  align-self: flex-start;
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel:hover, .f-knopf.f-zweit.f-viertel.f-auf-dunkel:active {
  background-color: var(--farbe-auf-dunkel);
  color: var(--farbe-dunkel);
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel:focus-visible, .f-knopf.f-zweit.f-viertel.f-auf-dunkel[data-wf-focus-visible] {
  background-color: var(--farbe-auf-dunkel);
  outline-color: var(--farbe-auf-dunkel);
  outline-offset: 2px;
  color: var(--farbe-dunkel);
  outline-width: 2px;
  outline-style: solid;
}

.f-knopf.f-zweit.f-viertel {
  flex: 1;
  min-width: 0;
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel {
  border-color: var(--farbe-auf-dunkel);
  color: var(--farbe-auf-dunkel);
  background-color: #0000;
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel:hover, .f-knopf.f-zweit.f-viertel.f-auf-dunkel:active {
  background-color: var(--farbe-auf-dunkel);
  color: var(--farbe-dunkel);
}

.f-knopf.f-zweit.f-viertel.f-auf-dunkel:focus-visible, .f-knopf.f-zweit.f-viertel.f-auf-dunkel[data-wf-focus-visible] {
  background-color: var(--farbe-auf-dunkel);
  outline-color: var(--farbe-auf-dunkel);
  outline-offset: 2px;
  color: var(--farbe-dunkel);
  outline-width: 2px;
  outline-style: solid;
}

.f-knopf.f-hell {
  background-color: var(--farbe-auf-dunkel);
  color: var(--farbe-dunkel);
}

.f-knopf.f-hell:hover {
  background-color: var(--farbe-linie);
  color: var(--farbe-dunkel);
}

.f-knopf.f-hell.f-viertel {
  flex: 1;
  min-width: 0;
}

.f-bild {
  width: 100%;
  height: auto;
  display: block;
}

.f-bild.f-hero-portraet {
  object-fit: cover;
  object-position: 50% 12%;
  width: 100%;
  max-height: 480px;
}

.f-bild.f-muster-titelbild {
  object-fit: cover;
  object-position: 50% 55%;
  object-fit: cover;
  object-position: 50% 55%;
  height: 220px;
}

.f-band {
  grid-template-rows: auto;
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 40px 64px;
  display: grid;
}

.f-band.f-eine-reihe {
  grid-template-rows: auto;
  width: 100%;
}

.f-seite {
  background-color: var(--farbe-grund);
}

.f-bildblock {
  flex-direction: column;
  row-gap: 10px;
  width: 80%;
  display: flex;
}

.f-bildunterschrift {
  max-width: 560px;
  color: var(--farbe-text-leise);
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.f-einbau-3.f-wc-breit {
  align-self: stretch;
  width: 100%;
  max-width: 100%;
}

.f-karte-bild {
  border-radius: var(--radius);
  object-fit: cover;
  object-position: 50% 50%;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  display: block;
}

.f-karte-bild.f-karte-bild-oben {
  aspect-ratio: 16 / 10;
  aspect-ratio: 16 / 10;
  width: 100%;
  height: auto;
}

.f-kachel-raster {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  display: grid;
}

.f-kachel-raster.f-muster-reihe {
  gap: 16px;
}

.f-kachel {
  border: 1px solid var(--farbe-linie);
  background-color: var(--farbe-grund);
  border-radius: 6px;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 12px;
  height: 100%;
  padding: 24px;
  display: flex;
}

.f-kachel.f-kachel-eigen {
  border-color: var(--farbe-akzent);
  background-color: var(--farbe-akzent);
}

.f-kachel.f-massenware {
  background-color: var(--farbe-flaeche);
  border-style: dashed;
}

.f-kachel.f-hier {
  border-left-width: 4px;
  border-left-color: var(--farbe-akzent);
  background-color: var(--farbe-auf-dunkel);
}

.f-kachel.f-kachel-versetzt.f-muster-kachel, .f-kachel.f-muster-kachel {
  row-gap: 8px;
  padding: 14px;
}

.f-kachel.f-kachel-versetzt {
  margin-top: 40px;
}

.f-kachel.f-kachel-versetzt.f-muster-kachel, .f-kachel.f-muster-kachel {
  row-gap: 8px;
  padding: 14px;
}

.f-kachel-titel {
  color: var(--farbe-text);
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Archivo, sans-serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
}

.f-kachel-titel.f-kachel-titel-eigen {
  color: var(--farbe-auf-dunkel);
}

.f-kachel-satz {
  color: var(--farbe-text-leise);
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.f-kachel-satz.f-kachel-satz-eigen {
  color: var(--farbe-auf-dunkel);
}

@media screen and (max-width: 991px) {
  .f-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .f-section.f-eng {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .f-huelle {
    padding-left: 28px;
    padding-right: 28px;
  }

  .f-huelle.f-randgleich {
    padding-right: 28px;
  }

  .f-stapel {
    justify-content: center;
    align-items: center;
  }

  .f-split {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }

  .f-split.f-hero-split {
    grid-template-rows: auto auto auto 1fr;
    grid-template-columns: 6fr 5fr;
    align-items: start;
    gap: 20px 32px;
  }

  .f-split-b {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }

  .f-split-b.f-vollbreit {
    grid-template-columns: 6fr 6fr;
    column-gap: 40px;
  }

  .f-split-b.f-start-split, .f-split-b.f-vollbreit {
    grid-template-columns: 6fr 6fr;
    column-gap: 40px;
  }

  .f-split-b.f-vollbreit.f-404-split {
    align-items: flex-start;
  }

  .f-split-b.f-leistung-hero {
    grid-template-rows: auto;
    grid-template-columns: 6fr 6fr;
    gap: 24px 40px;
  }

  .f-split-b.f-geschichte-split {
    grid-template-columns: 6fr 6fr;
    gap: 28px 40px;
  }

  .f-split-b.f-start-split {
    grid-template-columns: 6fr 6fr;
    column-gap: 40px;
  }

  .f-h1 {
    font-size: 46px;
  }

  .f-h1.f-hero-h1, .f-h2 {
    font-size: 34px;
  }

  .f-knopf.f-anruf {
    column-gap: 0;
    width: 48px;
    min-width: 48px;
    padding-left: 0;
    padding-right: 0;
  }

  .f-karte.f-karte-leistung:hover {
    border-color: var(--farbe-linie);
    border-color: var(--farbe-linie);
    transform: none;
  }

  .f-kopf-leiste {
    padding-left: 28px;
    padding-right: 28px;
  }

  .f-nav {
    display: none;
  }

  .f-burger {
    display: inline-flex;
  }

  .f-browser.f-browser-breit {
    margin-top: var(--abstand-l);
    margin-top: var(--abstand-l);
  }

  .f-bild {
    object-fit: cover;
    object-position: 50% 12%;
    max-height: 60vh;
  }

  .f-bild.f-hero-portraet {
    max-height: 420px;
  }

  .f-bild-rund.f-bild-beleg {
    height: 220px;
  }

  .f-merkmale.f-hero-merkmale {
    margin-top: var(--abstand-xl);
    padding-top: var(--abstand-m);
    margin-top: var(--abstand-xl);
    padding-top: var(--abstand-m);
  }

  .f-liste {
    column-gap: 40px;
  }

  .f-band {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }

  .f-zahl {
    font-size: 84px;
  }

  .f-paket-raster {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .f-paket.f-paket-hoch {
    margin-top: 0;
    margin-bottom: 0;
  }

  .f-tag.f-tag-schwebend {
    position: static;
    top: auto;
    left: auto;
  }

  .f-fuss-raster {
    grid-template-columns: 1fr 1fr;
    row-gap: 32px;
  }

  .f-spalte-bild {
    order: 0;
  }

  .f-anruf-wort {
    display: none;
  }

  .f-bild-breit {
    height: 340px;
  }

  .f-schritte {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .f-schritte.f-vier {
    grid-template-columns: 1fr 1fr;
  }

  .f-schritte.f-fuenf {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .f-portraet {
    height: 420px;
  }

  .f-portraet.f-portraet-gross {
    grid-column: 1 / 2;
    height: 500px;
  }

  .f-dunkelflaeche {
    padding: 32px;
  }

  .f-dunkelflaeche.f-platte {
    grid-area: 2 / 1 / 3 / 2;
    align-self: auto;
    margin: -40px 24px 0;
  }

  .f-vergleich {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .f-buehne {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .f-portraet-marco {
    height: 420px;
  }

  .f-portraet-kontakt {
    height: 400px;
  }

  .f-bild-neben {
    height: 280px;
  }

  .f-404-flaeche {
    min-height: 320px;
  }

  .f-404-zahl {
    font-size: 88px;
  }

  .f-zahlen, .f-schachteln {
    grid-template-columns: 1fr 1fr;
  }

  .f-schachtel.f-schachtel-motiv {
    width: 272px;
    height: 380px;
  }

  .f-karten-raster {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .f-kachel-raster {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
  }

  .f-kachel.f-kachel-versetzt {
    margin-top: 24px;
  }

  .f-wieso-liste {
    row-gap: 32px;
  }
}

@media screen and (max-width: 767px) {
  .f-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .f-section.f-flaeche.f-muster-knapp, .f-section.f-muster-knapp {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .f-section.f-eng {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .f-section.f-flaeche.f-muster-knapp, .f-section.f-muster-knapp {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .f-huelle {
    padding-left: 24px;
    padding-right: 24px;
  }

  .f-huelle.f-randgleich {
    padding-right: 24px;
  }

  .f-knopfreihe.f-kontaktwege {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .f-knopfreihe.f-vierfach {
    flex-flow: wrap;
    align-items: stretch;
  }

  .f-split.f-hero-split {
    grid-template-columns: 6fr 5fr;
    gap: 16px 24px;
  }

  .f-split-b.f-vollbreit {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .f-split-b.f-leistung-hero {
    grid-template-columns: 6fr 6fr;
    column-gap: 24px;
  }

  .f-split-b.f-geschichte-split {
    grid-template-columns: 1fr;
    gap: 20px 0;
  }

  .f-split-b.f-start-split {
    grid-template-columns: 1fr;
    gap: 24px 0;
  }

  .f-h1 {
    overflow-wrap: anywhere;
    -webkit-hyphens: auto;
    hyphens: auto;
    font-size: 39px;
  }

  .f-h1.f-hero-h1 {
    font-size: 30px;
  }

  .f-h1.f-h1-lang {
    overflow-wrap: normal;
    font-size: 32px;
  }

  .f-h2 {
    font-size: 31px;
  }

  .f-h3 {
    font-size: 23px;
  }

  .f-h4 {
    font-size: 19px;
  }

  .f-lead {
    font-size: 18px;
  }

  .f-text {
    font-size: 16px;
  }

  .f-knopf.f-primaer.f-viertel, .f-knopf.f-zweit.f-viertel, .f-knopf.f-hell.f-viertel {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  .f-knopf.f-primaer.f-viertel, .f-knopf.f-zweit.f-viertel, .f-knopf.f-zweit.f-viertel, .f-knopf.f-hell.f-viertel, .f-knopf.f-hell.f-viertel {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  .f-knopf.f-anruf {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .f-karte.f-karte-leistung {
    padding: var(--abstand-m);
    padding: var(--abstand-m);
  }

  .f-kopf-leiste {
    padding: 12px 24px;
  }

  .f-panel-link {
    font-size: 23px;
  }

  .f-bild.f-hero-portraet {
    max-height: 360px;
  }

  .f-bild.f-muster-titelbild {
    height: 150px;
    max-height: 150px;
  }

  .f-bild-rund.f-bild-beleg {
    height: 200px;
  }

  .f-liste {
    grid-template-columns: 1fr;
  }

  .f-zahl {
    font-size: 68px;
  }

  .f-rez-raster {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .f-rez-karte.f-rez-versetzt {
    margin-top: 0;
  }

  .f-preis {
    font-size: 34px;
  }

  .f-schwebt {
    bottom: 10px;
    right: 4px;
  }

  .f-fuss-raster {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .f-bild-breit {
    height: 260px;
  }

  .f-punkte, .f-schritte, .f-schritte.f-vier {
    grid-template-columns: 1fr;
  }

  .f-schritte.f-vier {
    grid-template-columns: 1fr;
  }

  .f-schritte.f-fuenf {
    grid-template-columns: 1fr 1fr;
  }

  .f-portraet {
    height: 360px;
  }

  .f-portraet.f-portraet-gross {
    height: 420px;
  }

  .f-dunkelflaeche.f-platte {
    margin-top: -32px;
    margin-left: 0;
    margin-right: 0;
  }

  .f-faq-antwort {
    padding-right: 0;
  }

  .f-portraet-marco {
    height: 360px;
  }

  .f-portraet-kontakt {
    height: 340px;
  }

  .f-bild-neben {
    height: 240px;
  }

  .f-404-flaeche {
    min-height: 220px;
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .f-404-zahl {
    font-size: 76px;
  }

  .f-rechtstext {
    row-gap: 32px;
  }

  .f-einbau, .f-einbau-2, .f-einbau-3 {
    padding-bottom: var(--abstand-l);
  }

  .f-karte-bild {
    width: 72px;
    height: 72px;
  }

  .f-schachteln {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .f-schachtel:hover {
    transform: rotateY(22deg)rotateX(8deg);
  }

  .f-schachtel.f-schachtel-motiv {
    width: 208px;
    height: 292px;
  }

  .f-schachtel.f-karte-koerper {
    width: 262px;
    height: 182px;
  }

  .f-schachtel-front:hover {
    box-shadow: 0 14px 30px #2b1b3d2e;
  }

  .f-schachtel-rueckseite.f-motiv-rueck {
    padding-top: var(--abstand-s);
    padding-right: var(--abstand-s);
    padding-bottom: var(--abstand-s);
    padding-left: var(--abstand-s);
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 12px;
  }

  .f-schachtel-rueckseite.f-zerl-rueck {
    row-gap: 10px;
  }

  .f-karten-raster {
    grid-template-columns: 1fr;
  }

  .f-geschichte-feld {
    padding: var(--abstand-s);
  }

  .f-motiv-punkt {
    width: 30px;
    height: 30px;
  }

  .f-schachtel-logo.f-zerl-punkt {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .f-einbau-dublette-weg {
    padding-bottom: 40px;
  }

  .f-pruef-objekte {
    min-height: 340px;
  }

  .f-termin-feld {
    max-width: none;
    margin-top: 20px;
  }

  .f-tests-gitter {
    grid-template-columns: 1fr;
  }

  .f-karte-zahl {
    font-size: 40px;
  }

  .f-karten-paar, .f-kachel-raster {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .f-kachel-raster.f-muster-reihe {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .f-kachel.f-kachel-versetzt {
    margin-top: 0;
  }

  .f-wieso-liste {
    row-gap: 28px;
  }

  .f-wieso-zeile {
    padding-top: 24px;
  }

  .f-branchen-raster {
    grid-template-columns: 1fr;
  }

  .f-bp-buehne {
    aspect-ratio: 4 / 5;
  }

  .f-preiszeile {
    grid-template-columns: 1fr 1fr;
    gap: 2px 16px;
  }
}

@media screen and (max-width: 479px) {
  .f-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .f-section.f-eng {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .f-section.f-brotkrumen-band {
    padding-top: var(--abstand-s);
    padding-bottom: 0;
  }

  .f-huelle {
    padding-left: 24px;
    padding-right: 24px;
  }

  .f-huelle.f-randgleich {
    padding-right: 24px;
  }

  .f-knopfreihe {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
  }

  .f-knopfreihe.f-hero-knoepfe {
    z-index: 3;
    grid-area: 2 / 1 / 3 / 2;
    place-self: end stretch;
    row-gap: 8px;
    padding: 12px;
    position: relative;
  }

  .f-knopfreihe.f-vierfach {
    flex-flow: wrap;
    align-items: stretch;
  }

  .f-stapel {
    min-width: 0;
  }

  .f-stapel.f-hero-kopf {
    row-gap: 12px;
  }

  .f-split.f-hero-split {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
    gap: 14px 0;
  }

  .f-split-b.f-leistung-hero {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .f-h1 {
    overflow-wrap: anywhere;
    -webkit-hyphens: auto;
    hyphens: auto;
    font-size: 34px;
  }

  .f-h1.f-h1-lang {
    overflow-wrap: normal;
    overflow-wrap: normal;
    font-size: 26px;
  }

  .f-h2 {
    overflow-wrap: anywhere;
    -webkit-hyphens: auto;
    hyphens: auto;
    font-size: 28px;
  }

  .f-h3 {
    overflow-wrap: anywhere;
    font-size: 22px;
  }

  .f-h4 {
    font-size: 18px;
  }

  .f-text.f-hero-absatz {
    grid-row: 3 / 4;
  }

  .f-text.f-liste-beitext {
    display: none;
  }

  .f-klein.f-hero-nachsatz {
    grid-row: 4 / 5;
  }

  .f-knopf {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .f-knopf.f-zweit.f-viertel, .f-knopf.f-hell.f-viertel {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  .f-knopf.f-primaer.f-hero-knopf {
    background-color: var(--farbe-auf-dunkel);
    color: var(--farbe-dunkel);
  }

  .f-knopf.f-primaer.f-viertel {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  .f-knopf.f-zweit.f-hero-knopf {
    border-color: var(--farbe-auf-dunkel);
    color: var(--farbe-auf-dunkel);
  }

  .f-knopf.f-zweit.f-viertel, .f-knopf.f-hell.f-viertel, .f-knopf.f-hell.f-viertel {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  .f-karte {
    padding: 24px;
  }

  .f-karte.f-preistafel {
    padding-left: 20px;
    padding-right: 20px;
  }

  .f-kopf-leiste {
    padding-left: 24px;
    padding-right: 24px;
  }

  .f-logo-bild {
    height: 38px;
  }

  .f-browser {
    min-width: 0;
  }

  .f-browser-leiste {
    border-radius: 0;
  }

  .f-bild.f-hero-portraet {
    width: 100%;
    max-height: 430px;
  }

  .f-bild-rund.f-bild-beleg {
    min-width: 0;
    height: 170px;
  }

  .f-merkmale {
    flex-direction: column;
    align-items: flex-start;
  }

  .f-merkmal {
    min-width: 0;
  }

  .f-liste-zeile {
    column-gap: 14px;
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .f-liste-text {
    overflow-wrap: anywhere;
    min-width: 0;
  }

  .f-zahl {
    font-size: 56px;
  }

  .f-zelle {
    align-items: flex-start;
    column-gap: 14px;
    min-width: 0;
  }

  .f-rez-karte {
    min-width: 0;
    padding: 18px;
  }

  .f-paket {
    min-width: 0;
    padding: 24px;
  }

  .f-schwebt {
    bottom: 10px;
    right: 4px;
  }

  .f-fuss-spalte {
    overflow-wrap: anywhere;
    min-width: 0;
  }

  .f-logo-fuss {
    height: 46px;
  }

  .f-spalte-bild {
    min-width: 0;
  }

  .f-spalte-bild.f-hero-bild {
    order: 0;
    grid-area: 2 / 1 / 3 / 2;
  }

  .f-aktion {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .f-bild-breit {
    min-width: 0;
    height: 200px;
  }

  .f-einordnung {
    min-width: 0;
  }

  .f-zeile-link {
    column-gap: 14px;
    min-width: 0;
  }

  .f-anfrage {
    font-size: 13px;
  }

  .f-bildblock, .f-punkt {
    min-width: 0;
  }

  .f-schritte.f-fuenf {
    grid-template-columns: 1fr;
  }

  .f-schritt {
    min-width: 0;
    padding-left: 18px;
  }

  .f-zusage {
    align-items: flex-start;
    width: 100%;
    min-width: 0;
  }

  .f-portraet {
    min-width: 0;
    height: 300px;
  }

  .f-portraet.f-portraet-gross {
    height: 340px;
  }

  .f-feld, .f-eingabe {
    min-width: 0;
  }

  .f-dunkelflaeche {
    min-width: 0;
    padding: 24px;
  }

  .f-dunkelflaeche.f-platte {
    margin-top: -24px;
  }

  .f-formular {
    min-width: 0;
    padding: 24px;
  }

  .f-faq-kopf {
    column-gap: 14px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .f-faq-zeichen {
    width: 22px;
    height: 22px;
    margin-top: 3px;
  }

  .f-faq-antwort {
    padding-bottom: 22px;
    padding-right: 0;
  }

  .f-buehne {
    min-width: 0;
  }

  .f-hero-schleier {
    z-index: 2;
    border-radius: 0 0 10px 10px;
    grid-area: 2 / 1 / 3 / 2;
    align-self: end;
    height: 206px;
    display: block;
  }

  .f-portraet-marco {
    min-width: 0;
    height: 390px;
  }

  .f-paket-punkte {
    row-gap: 10px;
    min-width: 0;
  }

  .f-portraet-kontakt {
    min-width: 0;
    height: 280px;
  }

  .f-bild-neben {
    min-width: 0;
    height: 200px;
  }

  .f-weg {
    column-gap: 12px;
    min-width: 0;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .f-404-flaeche {
    min-width: 0;
    min-height: 180px;
    padding-top: 36px;
    padding-bottom: 36px;
  }

  .f-404-zahl {
    letter-spacing: -2px;
    font-size: 64px;
  }

  .f-rechtstext {
    row-gap: 28px;
    min-width: 0;
  }

  .f-karte-bild {
    width: 64px;
    height: 64px;
  }

  .f-zahlen {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .f-schachteln {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .f-schachtel:hover {
    transform: rotateY(22deg)rotateX(8deg);
  }

  .f-schachtel.f-schachtel-motiv {
    width: 176px;
    height: 248px;
  }

  .f-schachtel.f-karte-koerper {
    width: 230px;
    height: 160px;
  }

  .f-schachtel-front:hover {
    box-shadow: 0 14px 30px #2b1b3d2e;
  }

  .f-schachtel-rueckseite.f-motiv-rueck {
    padding-top: var(--abstand-s);
    padding-right: var(--abstand-s);
    padding-bottom: var(--abstand-s);
    padding-left: var(--abstand-s);
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 8px 10px;
  }

  .f-schachtel-rueckseite.f-zerl-rueck {
    row-gap: 8px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .f-motiv-punkt {
    width: 26px;
    height: 26px;
  }

  .f-motiv-punkt-nr {
    font-size: 11px;
  }

  .f-schachtel-logo.f-zerl-punkt {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  .f-pruef-objekte {
    min-height: 300px;
  }

  .f-kachel-raster.f-muster-reihe {
    grid-template-columns: 1fr;
  }

  .f-preiszeile {
    grid-template-columns: 1fr;
    row-gap: 2px;
  }
}
