.b-rahmen {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--breite);
  margin-inline: auto;
  padding-inline: var(--abstand);
}
.b-schmal {
  max-width: 760px;
}
.b-abschnitt {
  padding-block: clamp(4rem, 9vw, 7.5rem);
}
.b-abschnitt :where(h2) {
  margin: 0 0 1.6rem;
  font-family: var(--titel);
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.005em;
  text-wrap: balance;
  color: inherit;
}
.b-abschnitt :where(h3) {
  margin: 0;
  font-family: var(--titel);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.005em;
  text-wrap: balance;
  color: inherit;
}
.b-abschnitt :where(p) {
  margin: 0 0 1.1em;
  max-width: none;
  text-wrap: pretty;
}
.b-abschnitt :where(a) {
  color: var(--gold-text);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.b-abschnitt .b-schmal > p:last-child {
  margin-bottom: 0;
}
.b-dachzeile {
  margin: 0 0 1.1rem;
  max-width: none;
  font-family: var(--schrift);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-text);
}
.b-einleitung {
  font-size: 1.2rem;
  color: var(--text-leise);
}
.b-abschnitt-sand {
  background: var(--sand);
}
.b-abschnitt-dunkel {
  background: var(--dunkel);
  color: var(--hell);
}
.b-abschnitt-dunkel :where(h2, h3) {
  color: var(--hell);
}
.b-abschnitt-dunkel .b-dachzeile {
  color: var(--gold-hell);
}
.b-knopf {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.95rem 1.9rem;
  border: 1px solid currentColor;
  font-family: var(--schrift);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--text);
  transition: background-color 0.25s, color 0.25s;
  border-radius: calc(var(--rundung) * 1px);
}
.b-knopf:hover {
  background: var(--dunkel);
  border-color: var(--dunkel);
  color: var(--hell);
}
.b-liste {
  margin: 0 0 1.1em;
  padding-left: 1.3em;
  list-style: disc;
}
.b-liste li {
  margin-bottom: 0.35em;
  padding-left: 0.2em;
}
.b-liste li::marker {
  color: var(--gold);
}
.b-spalte-text > .b-liste:last-child,
.b-schmal > .b-liste:last-child {
  margin-bottom: 0;
}
.b-band > picture,
.b-spalte-bild > picture,
.b-kachel-bild > picture,
.b-person-bild > picture {
  display: contents;
}
.b-band > picture > source,
.b-spalte-bild > picture > source,
.b-kachel-bild > picture > source,
.b-person-bild > picture > source {
  display: none;
}
.b-band {
  position: relative;
  display: flex;
  overflow: hidden;
  isolation: isolate;
  align-items: center;
  min-height: min(72vh, 640px);
  padding-block: 5rem;
  text-align: center;
  color: var(--hell);
}
.b-band > picture > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}
.b-band::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--dunkel) 50%, transparent);
}
.b-band blockquote {
  margin: 0;
}
.b-band blockquote p {
  margin: 0;
  max-width: none;
  font-family: var(--titel);
  font-size: clamp(1.9rem, 4.4vw, 3.3rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.22;
  text-wrap: balance;
}
.b-band blockquote footer {
  margin-top: 1.75rem;
  font-family: var(--schrift);
  font-size: 0.78rem;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-hell);
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .b-band > picture > img {
      top: -12%;
      bottom: auto;
      height: 124%;
      animation: b-gleiten linear both;
      animation-timeline: view();
    }
  }
}
@keyframes b-gleiten {
  from {
    transform: translateY(-9%);
  }
  to {
    transform: translateY(9%);
  }
}
.b-zweispaltig {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.b-zweispaltig.b-bild-rechts .b-spalte-bild {
  order: 2;
}
.b-spalte-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: calc(var(--rundung) * 1px);
}
.b-spalte-text > p:last-child {
  margin-bottom: 0;
}
.b-abschnitt-sand .b-rahmen > p:not(.b-dachzeile) {
  max-width: 62ch;
  color: var(--text-leise);
}
.b-abschnitt-sand .b-knopf {
  margin-top: 3rem;
}
.b-abschnitt-dunkel .b-rahmen > p:not(.b-dachzeile) {
  max-width: 62ch;
  color: var(--hell-leise);
}
.b-punkte {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 3.5rem;
  margin: 3.5rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: punkt;
}
.b-punkte li {
  padding-top: 1.5rem;
  border-top: 1px solid color-mix(in srgb, var(--gold-hell) 45%, transparent);
  counter-increment: punkt;
}
.b-punkte li::before {
  content: counter(punkt, decimal-leading-zero);
  display: block;
  margin-bottom: 1rem;
  font-family: var(--schrift);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--gold-hell);
}
.b-punkte h3 {
  margin-bottom: 0.8rem;
}
.b-punkte p {
  margin: 0;
  font-size: 0.98rem;
  color: var(--hell-leise);
}
.b-angaben {
  margin: 2.5rem 0 0;
  border-top: 1px solid var(--linie);
}
.b-angaben > div {
  display: grid;
  grid-template-columns: 11rem 1fr;
  gap: 1rem;
  padding-block: 1.1rem;
  border-bottom: 1px solid var(--linie);
}
.b-angaben dt {
  font-family: var(--schrift);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.9rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-leise);
}
.b-angaben dd {
  margin: 0;
}
.b-fragen {
  margin-top: 2.5rem;
  border-top: 1px solid var(--linie);
}
.b-frage {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--linie);
}
.b-frage summary {
  position: relative;
  display: list-item;
  margin: 0;
  padding: 1.1rem 2.5rem 1.1rem 0;
  font-family: var(--titel);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.3;
  color: inherit;
  cursor: pointer;
  list-style: none;
}
.b-frage summary::-webkit-details-marker {
  display: none;
}
.b-frage summary::after {
  content: "+";
  position: absolute;
  right: 0.2rem;
  top: 50%;
  width: 1.6rem;
  text-align: center;
  font-family: var(--schrift);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
  color: var(--gold-text);
  transform: translateY(-50%);
  transition: transform 0.25s;
}
.b-frage[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}
.b-frage summary:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.b-antwort {
  padding: 0 2.5rem 1.4rem 0;
  color: var(--text-leise);
}
.b-antwort > p:last-child {
  margin-bottom: 0;
}
.b-fragen + p .b-knopf {
  margin-top: 2.5rem;
}
.b-kacheln {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--abstand);
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}
.b-kachel {
  display: flex;
  flex-direction: column;
  background: var(--grund);
  border-radius: calc(var(--rundung) * 1px);
}
.b-kachel-bild {
  overflow: hidden;
  border-radius: calc(var(--rundung) * 1px);
}
.b-kachel-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.b-kachel-text {
  flex: 1;
  padding: 1.6rem 1.75rem 1.75rem;
}
.b-kachel-text h3 {
  margin-bottom: 0.7rem;
}
.b-kachel-text h3 a {
  color: inherit;
  text-decoration: none;
  background: linear-gradient(var(--gold), var(--gold)) no-repeat left 100% / 0 1px;
  transition: background-size 0.3s;
}
.b-kachel:hover .b-kachel-text h3 a,
.b-kachel-text h3 a:focus-visible {
  background-size: 100% 1px;
}
.b-kachel-text p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--text-leise);
}
.b-abschnitt-sand .b-kacheln + p .b-knopf {
  margin-top: 3rem;
}
.b-schritte {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 3.5rem;
  margin: 3.5rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: schritt;
}
.b-schritte li {
  padding-top: 1.5rem;
  border-top: 1px solid var(--linie);
  counter-increment: schritt;
}
.b-schritte li::before {
  content: counter(schritt, decimal-leading-zero);
  display: block;
  margin-bottom: 1rem;
  font-family: var(--schrift);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--gold-text);
}
.b-schritte h3 {
  margin-bottom: 0.8rem;
}
.b-schritte p {
  margin: 0;
  font-size: 0.98rem;
  color: var(--text-leise);
}
.b-team {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--abstand);
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}
.b-person-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center top;
  border-radius: calc(var(--rundung) * 1px);
}
.b-person-text {
  padding: 1.4rem 0 0;
}
.b-person-text h3 {
  margin-bottom: 0.3rem;
}
.b-person-text .b-rolle {
  margin-bottom: 0.9rem;
  font-family: var(--schrift);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-text);
}
.b-person-text p {
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--text-leise);
}
.b-person-kontakt {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 1.2rem;
}
.b-person-kontakt a {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
}
.b-standorte {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--abstand);
  margin-top: 3rem;
}
.b-standort {
  padding: 1.9rem 1.75rem 2rem;
  background: var(--sand);
}
.b-standort h3 {
  margin-bottom: 1rem;
}
.b-standort address {
  font-style: normal;
}
.b-standort address p {
  margin: 0 0 0.5rem;
}
.b-standort .b-zeiten {
  margin: 1.4rem 0 0;
  border-top: 1px solid var(--linie);
}
.b-standort .b-zeiten > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-block: 0.7rem;
  border-bottom: 1px solid var(--linie);
  font-size: 0.95rem;
}
.b-standort .b-zeiten dt {
  font-weight: 600;
}
.b-standort .b-zeiten dd {
  margin: 0;
  color: var(--text-leise);
}
.b-standort .b-angabe {
  margin: 1rem 0 0;
  font-size: 0.9rem;
  color: var(--text-leise);
}
.b-standort .b-knopf {
  margin-top: 1.4rem;
}
.b-standort .b-sonderzeiten {
  margin: 1rem 0 0;
  font-size: 0.95rem;
}
.b-standort .b-sonderzeiten p {
  margin: 0 0 0.3rem;
  font-weight: 600;
  color: inherit;
}
.b-sonderzeiten-liste {
  margin: 0;
  padding-left: 1.1rem;
  list-style: disc;
  color: var(--text-leise);
}
.b-sonderzeiten-liste li {
  margin: 0.2rem 0;
  line-height: 1.5;
}
.b-sonderzeiten-liste li::marker {
  color: var(--gold);
}
.b-hinweis {
  background: var(--sand);
  color: var(--text);
  border-top: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  font-family: var(--schrift);
  font-size: 0.95rem;
  line-height: 1.5;
}
.b-hinweis .b-rahmen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 1.4rem;
  min-height: 44px;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  text-align: center;
}
.b-hinweis p {
  margin: 0;
  max-width: none;
  padding: 0.3rem 0;
  font: inherit;
  color: inherit;
}
.b-hinweis-link {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
  font-weight: 600;
  color: var(--gold-text);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.b-hinweis-link:hover {
  text-decoration-thickness: 2px;
}
.b-hinweis-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.b-beitraege {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--abstand);
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}
.b-sammlung .b-beitraege {
  margin-top: 0;
}
.b-abschnitt + .b-sammlung:not(.b-abschnitt-sand) {
  padding-top: 0;
}
.b-beitrag {
  display: flex;
  flex-direction: column;
  background: var(--grund);
  border: 1px solid var(--linie);
  border-radius: calc(var(--rundung) * 1px);
}
.b-beitrag-bild {
  overflow: hidden;
  border-radius: calc(var(--rundung) * 1px) calc(var(--rundung) * 1px) 0 0;
}
.b-beitrag-bild > picture,
.b-artikel-bild > picture {
  display: contents;
}
.b-beitrag-bild > picture > source,
.b-artikel-bild > picture > source {
  display: none;
}
.b-beitrag-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.b-beitrag-text {
  flex: 1;
  padding: 1.5rem 1.75rem 1.75rem;
}
.b-beitrag-datum,
.b-artikel-datum,
.b-stelle-meta {
  margin: 0 0 0.6rem;
  max-width: none;
  font-family: var(--schrift);
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--text-leise);
}
.b-beitrag-text h2,
.b-beitrag-text h3 {
  margin-bottom: 0.7rem;
  font-size: 1.6rem;
}
.b-beitrag-text h2 a,
.b-beitrag-text h3 a,
.b-stelle h2 a,
.b-stelle h3 a {
  display: inline-block;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
  background: linear-gradient(var(--gold), var(--gold)) no-repeat left 100% / 0 1px;
  transition: background-size 0.3s;
}
.b-beitrag:hover .b-beitrag-text a,
.b-beitrag-text a:focus-visible,
.b-stelle a:hover,
.b-stelle a:focus-visible {
  background-size: 100% 1px;
}
.b-beitrag-text p:last-child {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--text-leise);
}
.b-sammlung .b-knopf,
.b-weitere .b-knopf {
  margin-top: 2.5rem;
}
.b-weitere .b-rahmen > p:first-child .b-knopf {
  margin-top: 0;
}
.b-seitenblaettern {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 2rem;
  margin-top: 3rem;
  font-family: var(--schrift);
  font-size: 0.95rem;
  color: var(--text-leise);
}
.b-seitenblaettern a {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
  color: var(--gold-text);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.b-artikel > .b-abschnitt:first-child {
  padding-block: clamp(2rem, 4vw, 3.5rem) 0;
}
.b-artikel-kopf {
  padding-bottom: 0.5rem;
}
.b-artikel-kopf > p:last-child {
  margin-bottom: 0;
}
.b-artikel-bild {
  margin-top: 1.5rem;
}
.b-artikel-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: calc(var(--rundung) * 1px);
}
.b-artikel-inhalt .b-abschnitt {
  padding-block: clamp(1.75rem, 3.5vw, 2.75rem);
}
.b-artikel-inhalt .b-abschnitt:last-child {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}
.b-artikel-inhalt .b-abschnitt :where(h2) {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 1rem;
}
.b-artikel > .b-abschnitt.b-stelle-kopf {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}
.b-stelle-kopf > .b-rahmen {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.b-stelle-inhalt {
  min-width: 0;
}
.b-stelle-inhalt .b-rahmen {
  margin-inline: 0;
  padding-inline: 0;
}
.b-stelle-inhalt .b-artikel-inhalt > .b-abschnitt:first-child {
  padding-top: clamp(1.25rem, 2.5vw, 2rem);
}
.b-stelle-inhalt .b-artikel-inhalt > .b-abschnitt:last-child {
  padding-bottom: 0;
}
.b-stelle-kasten {
  position: sticky;
  top: 1.5rem;
  padding: 1.75rem 1.75rem 2rem;
  background: var(--sand);
  border: 1px solid var(--linie);
  border-radius: calc(var(--rundung) * 1px);
}
.b-stelle-kasten h2 {
  margin: 0 0 1.25rem;
  font-size: 1.35rem;
}
.b-stelle-angaben {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  font-family: var(--schrift);
}
.b-stelle-angaben > div {
  display: grid;
  gap: 0.15rem;
}
.b-stelle-angaben dt {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-leise);
}
.b-stelle-angaben dd {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  color: var(--text);
}
.b-stelle-kasten > p {
  margin: 1.5rem 0 0;
}
.b-stelle-kasten > p + p {
  margin-top: 1rem;
}
.b-stelle-kasten .b-knopf {
  margin-top: 0;
}
.b-stelle-kasten a:not(.b-knopf) {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
}
.b-stellen {
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--linie);
}
.b-sammlung .b-stellen {
  margin-top: 0;
}
.b-stelle {
  padding: 1.6rem 0 1.8rem;
  border-bottom: 1px solid var(--linie);
}
.b-stelle h2,
.b-stelle h3 {
  margin-bottom: 0.3rem;
  font-size: 1.6rem;
}
.b-stelle > p:last-child {
  margin: 0;
  color: var(--text-leise);
}
.b-stellen + p .b-knopf {
  margin-top: 2.5rem;
}
.b-stellen-leer {
  color: var(--text-leise);
}
.b-stelle-abgelaufen {
  margin: 1.2rem 0 0;
  padding: 1rem 1.25rem;
  background: var(--sand);
  border-left: 3px solid var(--gold);
  border-radius: calc(var(--rundung) * 1px);
  color: var(--text);
}
.b-stelle-abgelaufen a {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
}
.b-downloads {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--linie);
}
.b-download {
  padding: 1.1rem 0 1rem;
  border-bottom: 1px solid var(--linie);
}
.b-download h3 {
  margin: 0;
  font-size: 1.35rem;
}
.b-download-titel {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
  color: inherit;
  text-decoration: none;
  background: linear-gradient(var(--gold), var(--gold)) no-repeat left 100% / 0 1px;
  transition: background-size 0.3s;
}
.b-download-titel:hover,
.b-download-titel:focus-visible {
  background-size: 100% 1px;
}
.b-download-text {
  margin: 0 0 0.3rem;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--text-leise);
}
.b-download-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1.25rem;
  margin: 0;
  max-width: none;
  font-family: var(--schrift);
  font-size: 0.85rem;
  line-height: 44px;
  color: var(--text-leise);
}
.b-download-laden {
  display: inline-block;
  min-height: 44px;
  color: var(--gold-text);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.b-downloads + p .b-knopf {
  margin-top: 2rem;
}
.b-galerie-liste {
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}
.b-galerie-liste:first-child {
  margin-top: 0;
}
.b-galerie-raster .b-galerie-liste {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--abstand);
}
.b-galerie-raster .b-galerie-liste:has(> li:nth-child(2):last-child) {
  grid-template-columns: repeat(2, 1fr);
}
.b-galerie-raster .b-galerie-liste:has(> li:nth-child(4):last-child) {
  grid-template-columns: repeat(4, 1fr);
}
.b-galerie-bild {
  min-width: 0;
}
.b-galerie-bild > picture {
  display: contents;
}
.b-galerie-bild > picture > source {
  display: none;
}
.b-galerie-raster .b-galerie-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: calc(var(--rundung) * 1px);
}
.b-galerie-pfeile {
  display: none;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.b-galerie-pfeile:first-child {
  margin-top: 0;
}
.b-galerie-aktiv .b-galerie-pfeile {
  display: flex;
}
.b-galerie-pfeil {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--linie);
  border-radius: calc(var(--rundung) * 1px);
  background: var(--grund);
  color: var(--text);
  cursor: pointer;
  transition: background-color 0.25s, border-color 0.25s, color 0.25s;
}
.b-galerie-pfeil:hover:not(:disabled) {
  background: var(--dunkel);
  border-color: var(--dunkel);
  color: var(--hell);
}
.b-galerie-pfeil:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.b-galerie-pfeil:disabled {
  color: var(--text-leise);
  opacity: 0.45;
  cursor: default;
}
.b-galerie-zurueck > svg {
  transform: scaleX(-1);
}
.b-galerie-streifen {
  box-sizing: border-box;
  width: 100%;
  margin-top: 2rem;
  padding-inline: max(calc((100% - var(--breite)) / 2 + var(--abstand)), var(--abstand));
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: max(calc((100% - var(--breite)) / 2 + var(--abstand)), var(--abstand));
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.b-galerie-streifen::-webkit-scrollbar {
  display: none;
}
.b-galerie-streifen:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}
.b-galerie-zeile .b-galerie-liste {
  display: flex;
  width: max-content;
  gap: var(--abstand);
}
.b-galerie-zeile .b-galerie-bild {
  flex: 0 0 auto;
  scroll-snap-align: start;
}
.b-galerie-zeile .b-galerie-bild > picture > img {
  display: block;
  width: auto;
  max-width: 85vw;
  height: var(--galerie-hoehe, 420px);
  object-fit: cover;
  border-radius: calc(var(--rundung) * 1px);
}
@media (max-width: 980px) {
  .b-kacheln,
  .b-schritte,
  .b-team,
  .b-punkte,
  .b-beitraege,
  .b-galerie-raster .b-galerie-liste,
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(4):last-child) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 860px) {
  .b-zweispaltig {
    grid-template-columns: 1fr;
  }
  .b-stelle-kopf > .b-rahmen {
    grid-template-columns: 1fr;
  }
  .b-stelle-kasten {
    order: -1;
    position: static;
  }
  .b-zweispaltig.b-bild-rechts .b-spalte-bild {
    order: 0;
  }
  .b-spalte-bild > picture > img {
    aspect-ratio: 3 / 2;
  }
}
@media (max-width: 620px) {
  .b-kacheln,
  .b-schritte,
  .b-team,
  .b-punkte,
  .b-beitraege,
  .b-galerie-raster .b-galerie-liste,
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(2):last-child),
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(4):last-child) {
    grid-template-columns: 1fr;
  }
  .b-galerie-zeile .b-galerie-bild > picture > img {
    height: min(var(--galerie-hoehe, 420px), 260px);
  }
  .b-frage summary {
    font-size: 1.2rem;
  }
  .b-angaben > div {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .b-knopf,
  .b-download-titel,
  .b-galerie-pfeil {
    transition: none;
  }
  .b-galerie-streifen {
    scroll-behavior: auto;
  }
}
.b-statistik-schalter {
  display: inline-block;
  box-sizing: border-box;
  min-height: 44px;
  margin-top: 0.5rem;
  padding: 0.8rem 1.4rem;
  border: 1px solid currentColor;
  border-radius: calc(var(--rundung) * 1px);
  background: transparent;
  font-family: var(--schrift);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  color: var(--text);
  cursor: pointer;
  transition: background-color 0.25s, color 0.25s;
}
.b-statistik-schalter[aria-pressed="true"] {
  background: var(--sand);
}
.b-statistik-schalter:hover:not(:disabled) {
  background: var(--dunkel);
  border-color: var(--dunkel);
  color: var(--hell);
}
.b-statistik-schalter:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.b-statistik-schalter:disabled {
  cursor: default;
  border-style: dashed;
}
.b-statistik-ohne-js {
  font-size: 0.9rem;
  color: var(--text-leise);
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/source-serif-4.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/source-serif-4-kursiv.woff2") format("woff2");
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/source-sans-3.woff2") format("woff2");
}
:root {
  --grund: #faf7f0;
  --sand: #efe9da;
  --dunkel: #3f4a30;
  --text: #2e2c2c;
  --text-leise: #645f5c;
  --hell: #f5f2ea;
  --hell-leise: #d3cdc6;
  --linie: #dfd8c6;
  --gold: #7c895d;
  --gold-text: #5a6741;
  --gold-hell: #c3cbab;
  --schrift: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --titel: "Source Serif 4", Georgia, "Times New Roman", serif;
  --breite: 1200px;
  --abstand: 24px;
  --logo-hoehe: 60;
  --rundung: 10;
  --schriftgroesse: 17;
  --kopf-hoehe: max(72px, calc(var(--logo-hoehe) * 1.25px + 28px));
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: var(--schrift);
  font-size: calc(var(--schriftgroesse) / 16 * 1rem);
  line-height: 1.7;
  color: var(--text);
  background: var(--grund);
  -webkit-font-smoothing: antialiased;
}
[id] {
  scroll-margin-top: calc(var(--kopf-hoehe) + 16px);
}
h1,
h2,
h3 {
  margin: 0;
  font-family: var(--titel);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.005em;
  text-wrap: balance;
}
h1 {
  font-size: clamp(2.6rem, 6.4vw, 5rem);
}
h2 {
  font-size: clamp(2rem, 4vw, 3.1rem);
}
h3 {
  font-size: 1.6rem;
  line-height: 1.2;
}
p {
  margin: 0 0 1.1em;
  text-wrap: pretty;
}
a {
  color: var(--gold-text);
  text-underline-offset: 0.2em;
}
a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
picture {
  display: contents;
}
picture > source {
  display: none;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
.sprunglink {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 0.8rem 1.2rem;
  background: var(--dunkel);
  color: var(--hell);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transform: translateY(-120%);
}
.sprunglink:focus {
  transform: none;
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.kopf {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(250, 247, 240, 0.94);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--linie);
  view-transition-name: kopf;
}
.kopf-innen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 2rem;
  min-height: var(--kopf-hoehe);
}
.marke {
  font-family: var(--titel);
  font-size: calc(var(--logo-hoehe) / 16 * 1rem);
  font-weight: 600;
  line-height: max(44px, 1.25em);
  letter-spacing: 0.01em;
  color: var(--text);
  text-decoration: none;
}
.marke img {
  display: inline-block;
  height: calc(var(--logo-hoehe) * 1px);
  width: auto;
}
.menue {
  display: flex;
}
.menue ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.menue li {
  position: relative;
}
.menue a,
.menue-eintrag-knopf {
  display: inline-block;
  padding: 0;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  min-height: 44px;
  line-height: 44px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--text);
  background: linear-gradient(var(--gold), var(--gold)) no-repeat left 78% / 0 1px;
  transition: background-size 0.3s;
}
.menue a:hover,
.menue a[aria-current],
.menue-eintrag-knopf:hover,
.menue-eintrag-knopf[aria-current] {
  background-size: 100% 1px;
}
.hat-unterpunkte {
  display: flex;
  align-items: center;
}
.hat-unterpunkte > a::after,
.unterpunkte-knopf::after,
.menue-eintrag-knopf::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-3px) rotate(45deg);
  transition: transform 0.2s;
}
.js .hat-unterpunkte > a::after {
  display: none;
}
.unterpunkte-knopf::after {
  margin-left: 0;
}
.unterpunkte-knopf[aria-expanded="true"]::after,
.menue-eintrag-knopf[aria-expanded="true"]::after {
  transform: translateY(1px) rotate(225deg);
}
.unterpunkte-knopf {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-height: 44px;
  margin-left: -0.25rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text);
  cursor: pointer;
}
.js .unterpunkte-knopf {
  display: inline-flex;
}
.menue .unterpunkte {
  position: absolute;
  top: 100%;
  left: -0.75rem;
  z-index: 1;
  display: none;
  flex-direction: column;
  gap: 0;
  min-width: 14rem;
  margin: 0;
  padding: 0.4rem;
  background: var(--sand);
  border: 1px solid var(--linie);
  border-radius: calc(var(--rundung) * 1px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.1);
}
html:not(.js) .hat-unterpunkte:hover > .unterpunkte,
html:not(.js) .hat-unterpunkte:focus-within > .unterpunkte,
.menue .hat-unterpunkte.offen > .unterpunkte {
  display: flex;
}
.menue .unterpunkte a {
  display: block;
  min-height: 44px;
  padding: 0 0.75rem;
  line-height: 44px;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  white-space: nowrap;
  background: none;
  border-radius: min(calc(var(--rundung) * 1px), 8px);
}
.menue .unterpunkte a:hover,
.menue .unterpunkte a:focus-visible {
  background: var(--grund);
}
.menue .unterpunkte a[aria-current="page"] {
  font-weight: 600;
  color: var(--gold-text);
}
.menue-knopf {
  display: none;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  padding: 0 0.2rem;
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--text);
  cursor: pointer;
}
.menue-knopf:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.menue-knopf-strich {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
  transition: background-color 0.2s, box-shadow 0.2s;
}
.menue-knopf[aria-expanded="true"] .menue-knopf-strich {
  background: transparent;
  box-shadow: 0 0 0 currentColor, 0 0 0 currentColor;
}
.menue-knopf[aria-expanded="true"] .menue-knopf-strich::before,
.menue-knopf[aria-expanded="true"] .menue-knopf-strich::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 2px;
  background: currentColor;
}
.menue-knopf[aria-expanded="true"] .menue-knopf-strich::before {
  transform: rotate(45deg);
}
.menue-knopf[aria-expanded="true"] .menue-knopf-strich::after {
  transform: rotate(-45deg);
}
@media (max-width: 860px) {
  .js .kopf-innen {
    justify-content: space-between;
    padding-block: 0;
  }
  .js .menue-knopf {
    display: inline-flex;
  }
  .js .menue {
    display: none;
    flex-direction: column;
    width: 100%;
    padding-block: 0.5rem 1rem;
    border-top: 1px solid var(--linie);
  }
  .js .menue.offen {
    display: flex;
  }
  .js .menue a {
    padding-inline: 0.2rem;
    font-size: 0.9rem;
  }
  .js .menue ul {
    flex-direction: column;
    width: 100%;
  }
  .js .hat-unterpunkte {
    flex-wrap: wrap;
  }
  .js .hat-unterpunkte > a,
  .js .menue-eintrag-knopf {
    flex: 1;
    padding-inline: 0.2rem;
    font-size: 0.9rem;
    text-align: left;
  }
  .js .menue .unterpunkte {
    position: static;
    width: 100%;
    min-width: 0;
    margin: 0 0 0.5rem;
    padding: 0 0 0 1rem;
    background: none;
    border: 0;
    border-left: 2px solid var(--linie);
    border-radius: 0;
    box-shadow: none;
  }
  .js .menue .unterpunkte a {
    padding-inline: 0.5rem;
    font-size: 0.85rem;
    white-space: normal;
  }
}
.buehne {
  position: relative;
  display: flex;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  align-items: flex-end;
  min-height: min(64vh, 620px);
  padding-block: clamp(3rem, 7vw, 5.5rem);
  background: var(--dunkel);
}
.buehne-gross {
  min-height: min(88vh, 860px);
}
.buehne > picture > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}
.buehne::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(20, 18, 14, 0.3) 0%, rgba(20, 18, 14, 0.36) 40%, rgba(20, 18, 14, 0.8) 100%);
}
.b-band {
  color: #fff;
}
.b-band::after {
  background: rgba(20, 18, 14, 0.5);
}
.buehne-text {
  text-shadow: 0 1px 24px rgba(20, 18, 14, 0.35);
}
.buehne .b-dachzeile {
  color: var(--gold-hell);
}
.buehne h1 {
  max-width: 17ch;
}
.unterzeile {
  max-width: 46ch;
  margin: 1.5rem 0 0;
  font-size: 1.2rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
}
.buehne-ohne-bild {
  min-height: 0;
  padding-block: clamp(4rem, 9vw, 7rem) clamp(2.5rem, 5vw, 4rem);
  background: var(--sand);
  color: var(--text);
}
.buehne-ohne-bild::after {
  content: none;
}
.buehne-ohne-bild .buehne-text {
  text-shadow: none;
}
.buehne-ohne-bild .b-dachzeile {
  color: var(--gold-text);
}
.buehne-ohne-bild .unterzeile {
  color: var(--text-leise);
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .buehne > picture > img {
      top: -12%;
      bottom: auto;
      height: 124%;
      animation: b-gleiten linear both;
      animation-timeline: view();
    }
  }
}
.marke {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.marke img {
  height: calc(var(--logo-hoehe) * 1px);
  width: auto;
}
:root {
  --kopf-hoehe: max(72px, calc(var(--logo-hoehe) * 1px + 28px));
}
.menue li:last-child a {
  min-height: 40px;
  margin-left: 0.5rem;
  padding: 0 1.2em;
  border-radius: calc(var(--rundung) * 1px);
  line-height: 40px;
  background: var(--gold);
  color: #fff;
  transition: background-color 0.25s;
}
.menue li:last-child a:hover,
.menue li:last-child a[aria-current] {
  background: var(--gold-text);
}
@media (max-width: 860px) {
  .js .menue li:last-child a {
    margin: 0.75rem 0 0;
    padding: 0 1.2em;
  }
}
.buehne {
  --balken: 4.5rem;
  align-items: flex-end;
  min-height: 39.5rem;
  padding-block: 1.5rem 2rem;
}
.buehne-ohne-bild {
  min-height: 0;
  padding-block: clamp(4rem, 9vw, 7rem) clamp(2.5rem, 5vw, 4rem);
}
.buehne::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  height: var(--balken);
  background: var(--gold);
}
.buehne-ohne-bild::before {
  content: none;
}
main:has(> .buehne-ohne-bild) .b-schmal {
  margin-inline: max(0px, calc((100% - var(--breite)) / 2)) auto;
}
.buehne-gross {
  min-height: 39.5rem;
}
.buehne::after {
  background: linear-gradient(180deg, rgba(20, 18, 14, 0.04) 0%, rgba(20, 18, 14, 0.1) 55%, rgba(20, 18, 14, 0.38) 100%);
}
.buehne-text {
  text-shadow: none;
}
.buehne-tafel {
  max-width: 38rem;
  padding: 2rem 2.25rem 2.25rem;
  background: var(--grund);
  color: var(--text);
  border-top: 5px solid var(--gold);
  border-radius: calc(var(--rundung) * 1px);
  box-shadow: 0 24px 60px rgba(20, 18, 14, 0.22);
}
.buehne .b-dachzeile {
  color: var(--gold-text);
}
.buehne h1 {
  max-width: none;
  font-size: clamp(2.2rem, 4.6vw, 3.5rem);
  color: var(--text);
}
.unterzeile {
  margin-top: 1rem;
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--text-leise);
}
.buehne-knoepfe {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.75rem 0 0;
}
.buehne-knoepfe .b-knopf {
  margin-top: 0;
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}
.buehne-knoepfe .b-knopf:hover {
  background: var(--gold-text);
  border-color: var(--gold-text);
}
.buehne-knoepfe .b-knopf-leise {
  background: transparent;
  border-color: var(--text);
  color: var(--text);
}
.buehne-knoepfe .b-knopf-leise:hover {
  background: var(--dunkel);
  border-color: var(--dunkel);
  color: var(--hell);
}
.buehne-ohne-bild .buehne-tafel {
  max-width: 46rem;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.aktion .b-spalte-bild > picture > img {
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
  box-shadow: 0 12px 32px rgba(40, 30, 10, 0.1);
}
.aktion-zeit {
  margin: -0.9rem 0 1.1rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-leise);
}
.aktion-weitere {
  margin-top: clamp(3rem, 7vw, 5.5rem);
}
.aktion-brief {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.aktion-brief-kopf h2 {
  margin-bottom: 0;
}
.aktion-brief-text > p:last-child {
  margin-bottom: 0;
}
.aktion-hinweis {
  margin: 1.6rem 0 0;
  padding: 0.9rem 1.2rem;
  border: 1px solid var(--gold);
  border-radius: calc(var(--rundung) * 1px);
  background: var(--grund);
  font-weight: 600;
}
.aktion-brief-text .b-knopf {
  margin-top: 1.6rem;
}
@media (max-width: 980px) {
  .aktion-brief {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.stapel {
  position: relative;
  margin: 1rem 1.25rem 1.5rem 0.75rem;
  aspect-ratio: 4 / 5;
  cursor: pointer;
}
.stapel-bild {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transition: transform 0.45s ease, opacity 0.45s ease;
  box-shadow: 0 14px 36px rgba(40, 30, 10, 0.18);
  border-radius: calc(var(--rundung) * 1px);
  transform-origin: 50% 60%;
}
.stapel-bild > picture {
  display: contents;
}
.stapel-bild > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: calc(var(--rundung) * 1px);
}
.stapel-bild:nth-child(1) {
  z-index: 3;
}
.stapel-bild:nth-child(2) {
  z-index: 2;
  transform: rotate(-3.5deg) translate(-10px, 6px);
}
.stapel-bild:nth-child(3) {
  z-index: 1;
  transform: rotate(3deg) translate(12px, -4px);
}
.stapel-bild:nth-child(4) {
  z-index: 0;
  transform: rotate(-1.5deg) translate(4px, 12px);
}
.stapel-knopf {
  position: absolute;
  right: -0.9rem;
  bottom: -0.9rem;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
  box-shadow: 0 6px 18px rgba(40, 30, 10, 0.25);
  cursor: pointer;
  transition: background-color 0.25s, transform 0.25s;
}
.stapel-knopf svg {
  width: 22px;
  height: 22px;
}
.stapel-knopf:hover {
  background: var(--gold-text);
  transform: scale(1.06);
}
.stapel-knopf:focus-visible {
  outline: 2px solid var(--gold-text);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .stapel-bild,
  .stapel-knopf {
    transition: none;
  }
}
.icon {
  display: block;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.75rem;
  color: var(--gold);
}
.icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.b-kachel-text .icon {
  margin-bottom: 0.9rem;
}
.sortiment-gruppe .icon {
  align-self: start;
  margin-bottom: 0.25rem;
}
.sortiment-gruppen {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 2.5rem var(--abstand);
  margin-top: 2.5rem;
}
.sortiment-gruppe {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
  min-width: 0;
}
.sortiment-gruppe h3 {
  align-self: end;
  min-height: 2.6em;
  margin: 0;
  padding-bottom: 0.7rem;
  border-bottom: 2px solid var(--gold);
  font-size: 1.25rem;
  line-height: 1.25;
  color: var(--gold-text);
}
.sortiment-gruppe ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sortiment-gruppe li {
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--linie);
}
.formular .anfrage {
  margin-top: 2rem;
}
.formular-innen {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.formular-kontakt {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--linie);
  border-radius: calc(var(--rundung) * 1px);
  background: var(--sand);
}
.formular-kontakt h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}
.formular-kontakt .b-angaben {
  margin-top: 0;
}
.formular-kontakt .b-angaben > div {
  grid-template-columns: 1fr;
  gap: 0.1rem;
  padding-block: 0.9rem;
}
.formular-kontakt .b-angaben dt {
  line-height: 1.4;
}
.formular-kontakt .b-knopf {
  margin-top: 1.5rem;
}
@media (max-width: 980px) {
  .formular-innen {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.formular-feld {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}
.formular-feld label {
  font-size: 0.95rem;
  font-weight: 600;
}
.formular-feld input,
.formular-feld textarea {
  width: 100%;
  min-height: 48px;
  padding: 0.7rem 0.9rem;
  font: inherit;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--linie);
  border-radius: calc(var(--rundung) * 1px);
}
.formular-feld input:focus-visible,
.formular-feld textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-color: var(--gold);
}
.formular-feld textarea {
  min-height: 10rem;
  resize: vertical;
}
.formular-honig {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.formular-pflicht {
  font-size: 0.9rem;
  color: var(--text-leise);
}
.anfrage .b-knopf {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
  cursor: pointer;
}
.anfrage .b-knopf:hover {
  background: var(--gold-text);
  border-color: var(--gold-text);
}
.anfrage .b-knopf:disabled {
  opacity: 0.6;
  cursor: default;
}
.formular-status {
  margin: 1.25rem 0 0;
  padding: 1rem 1.25rem;
  background: var(--sand);
  border-left: 4px solid var(--gold);
}
.formular-status:empty {
  display: none;
}
.formular-status-fehler {
  border-left-color: #a33a2a;
}
@media (prefers-reduced-motion: no-preference) {
  .anim main .b-abschnitt > .b-rahmen,
  .anim .b-galerie-raster .b-galerie-bild {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
  }
  .anim main .b-abschnitt > .b-rahmen.sichtbar,
  .anim .b-galerie-raster .b-galerie-bild.sichtbar {
    opacity: 1;
    transform: none;
  }
}
.b-spalte-bild > picture > img {
  box-shadow: 0 1px 0 var(--linie), 0 10px 28px rgba(40, 30, 10, 0.12);
}
.b-kachel {
  overflow: hidden;
  box-shadow: 0 1px 0 var(--linie), 0 10px 30px rgba(40, 30, 10, 0.06);
  transition: transform 0.3s;
}
@media (prefers-reduced-motion: no-preference) {
  .b-kachel:hover {
    transform: translateY(-4px);
  }
}
.b-band blockquote p {
  font-style: italic;
}
@media (max-width: 620px) {
  .buehne {
    --balken: 3rem;
    min-height: 0;
    padding-block: 10rem 1rem;
  }
  .buehne-tafel {
    padding: 1.5rem 1.25rem 1.6rem;
  }
}
.fuss {
  padding-block: 4rem 3rem;
  background: var(--dunkel);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--hell-leise);
}
.fuss-innen {
  display: grid;
  gap: 1.5rem;
  justify-items: center;
  text-align: center;
}
.fuss .marke {
  margin: 0;
  line-height: 0;
}
.fuss .marke img {
  height: 64px;
  width: auto;
}
.fuss-sozial {
  display: flex;
  gap: 0.75rem;
  margin: 0;
}
.fuss .fuss-sozial a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  color: var(--hell);
  transition: background-color 0.25s, border-color 0.25s;
}
.fuss .fuss-sozial a:hover {
  background: var(--gold);
  border-color: var(--gold);
}
.fuss .fuss-sozial a {
  line-height: 0;
}
.fuss-sozial svg {
  display: block;
  width: 22px;
  height: 22px;
}
.fuss-sozial .sozial-facebook svg {
  transform: translateX(-1px);
}
.fuss nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 1.75rem;
}
.fuss a {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--hell-leise);
  transition: color 0.25s;
}
.fuss a:hover {
  color: var(--gold-hell);
}
.fuss .hinweis {
  max-width: 60ch;
  margin: 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.85rem;
}
.fuss {
  position: relative;
}
.feld {
  position: absolute;
  inset: auto 0 100% 0;
  height: 96px;
  overflow: hidden;
  pointer-events: none;
}
.feld svg {
  display: block;
  width: 100%;
  height: 96px;
}
main:has(> :last-child.b-abschnitt-dunkel) + .fuss .feld,
main:has(> :last-child.b-band) + .fuss .feld {
  display: none;
}
.feld-koerper {
  fill: var(--dunkel);
}
.feld-koerper-linie {
  fill: none;
  stroke: var(--dunkel);
  stroke-linecap: round;
}
.feld-detail {
  fill: var(--gold);
}
.feld-reifen {
  fill: none;
  stroke: var(--dunkel);
}
.feld-rauch-wolke {
  fill: var(--text-leise);
}
.feld-schnitt use {
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.5;
  stroke-linecap: round;
}
.feld-schnitt .feld-halme-hinten {
  stroke-width: 1.3;
  opacity: 0.5;
}
.feld-aehre {
  fill: var(--gold);
  stroke: none;
}
.feld-furche {
  fill: var(--gold-text);
}
.feld-saat {
  fill: var(--gold-text);
}
.feld-traktor,
.feld-blick,
.feld-rad,
.feld-geraet,
.feld-wuchs,
.feld-schnitt,
.feld-furche,
.feld-saat {
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-fill-mode: both;
}
.feld-traktor {
  animation-name: feld-traktor;
}
.feld-blick {
  animation-name: feld-blick;
}
.feld-rad {
  transform-box: fill-box;
  transform-origin: center;
}
.feld-rad-hinten {
  animation-name: feld-rad-hinten;
}
.feld-rad-vorn {
  animation-name: feld-rad-vorn;
}
.feld-geraet {
  animation-timing-function: ease;
}
.feld-maeher {
  animation-name: feld-maeher;
}
.feld-pflug {
  animation-name: feld-pflug;
}
.feld-saemaschine {
  animation-name: feld-saemaschine;
}
.feld-wuchs,
.feld-schnitt {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation-timing-function: ease-in-out;
}
.feld-furche {
  animation-timing-function: ease;
}
.feld-saat {
  animation-timing-function: ease-in;
}
.feld-wuchs-a {
  animation-name: feld-wuchs-a;
  animation-delay: var(--tr);
}
.feld-schnitt-a {
  animation-name: feld-schnitt-a;
  animation-delay: var(--t);
}
.feld-wuchs-b {
  animation-name: feld-wuchs-b;
  animation-delay: var(--t);
}
.feld-schnitt-b {
  animation-name: feld-schnitt-b;
  animation-delay: var(--tr);
}
.feld-furche-a {
  animation-name: feld-furche-a;
  animation-delay: var(--tr);
}
.feld-furche-b {
  animation-name: feld-furche-b;
  animation-delay: var(--t);
}
.feld-saat-a {
  animation-name: feld-saat-a;
  animation-delay: var(--t);
}
.feld-saat-b {
  animation-name: feld-saat-b;
  animation-delay: var(--tr);
}
.feld-rauch-wolke {
  transform-box: fill-box;
  transform-origin: center;
  animation: feld-rauch 2.1s ease-out infinite;
}
.feld-rauch-wolke:nth-child(2) {
  animation-delay: 0.7s;
}
.feld-rauch-wolke:nth-child(3) {
  animation-delay: 1.4s;
}
@keyframes feld-rauch {
  0% {
    opacity: 0.5;
    transform: translate(0, 0) scale(0.5);
  }
  100% {
    opacity: 0;
    transform: translate(-7px, -16px) scale(1.9);
  }
}
.feld[data-anim]:not(.feld-laeuft) * {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  .feld * {
    animation: none;
  }
  .feld-traktor {
    transform: translateX(790px);
  }
  .feld-maeher {
    opacity: 1;
  }
  .feld-pflug,
  .feld-saemaschine,
  .feld-wuchs-b,
  .feld-furche,
  .feld-saat,
  .feld-rauch {
    display: none;
  }
}
@view-transition {
  navigation: auto;
}
@media (max-width: 860px) {
  .kopf-innen {
    justify-content: center;
    padding-block: 0.4rem;
  }
  .menue ul {
    justify-content: center;
    gap: 0 1.25rem;
  }
  html:not(.js) .hat-unterpunkte {
    flex-wrap: wrap;
    justify-content: center;
  }
  html:not(.js) .menue .unterpunkte {
    position: static;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1rem;
    width: 100%;
    min-width: 0;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
  }
}
@media (max-width: 620px) {
  body {
    font-size: 1rem;
  }
  .menue a {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .menue a,
  .menue-eintrag-knopf::after,
  .unterpunkte-knopf::after,
  .fuss a {
    transition: none;
  }
}
.b-galerie {
  background: var(--sand);
}
.b-galerie .b-rahmen > p:not(.b-dachzeile) {
  max-width: 62ch;
  color: var(--text-leise);
}
@media (max-width: 980px) {
  .b-galerie-raster .b-galerie-liste {
    grid-template-columns: repeat(3, 1fr);
  }
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(2):last-child) {
    grid-template-columns: repeat(2, 1fr);
  }
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(4):last-child) {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 620px) {
  .b-galerie-raster .b-galerie-liste,
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(2):last-child),
  .b-galerie-raster .b-galerie-liste:has(> li:nth-child(4):last-child) {
    grid-template-columns: repeat(2, 1fr);
  }
}
.feld-traktor,.feld-blick,.feld-rad,.feld-geraet,.feld-wuchs,.feld-schnitt,.feld-furche,.feld-saat{animation-duration:132s}
.feld-spalte:nth-child(1){--t:0.158s;--tr:11.842s}.feld-spalte:nth-child(2){--t:0.453s;--tr:11.547s}.feld-spalte:nth-child(3){--t:0.607s;--tr:11.393s}.feld-spalte:nth-child(4){--t:0.955s;--tr:11.045s}.feld-spalte:nth-child(5){--t:1.227s;--tr:10.773s}.feld-spalte:nth-child(6){--t:1.460s;--tr:10.540s}.feld-spalte:nth-child(7){--t:1.820s;--tr:10.180s}.feld-spalte:nth-child(8){--t:1.996s;--tr:10.004s}.feld-spalte:nth-child(9){--t:2.250s;--tr:9.750s}.feld-spalte:nth-child(10){--t:2.608s;--tr:9.392s}.feld-spalte:nth-child(11){--t:2.807s;--tr:9.193s}.feld-spalte:nth-child(12){--t:3.134s;--tr:8.866s}.feld-spalte:nth-child(13){--t:3.406s;--tr:8.593s}.feld-spalte:nth-child(14){--t:3.571s;--tr:8.428s}.feld-spalte:nth-child(15){--t:3.937s;--tr:8.062s}.feld-spalte:nth-child(16){--t:4.198s;--tr:7.801s}.feld-spalte:nth-child(17){--t:4.436s;--tr:7.564s}.feld-spalte:nth-child(18){--t:4.783s;--tr:7.216s}.feld-spalte:nth-child(19){--t:4.950s;--tr:7.050s}.feld-spalte:nth-child(20){--t:5.230s;--tr:6.769s}.feld-spalte:nth-child(21){--t:5.584s;--tr:6.415s}.feld-spalte:nth-child(22){--t:5.778s;--tr:6.222s}.feld-spalte:nth-child(23){--t:6.106s;--tr:5.893s}.feld-spalte:nth-child(24){--t:6.359s;--tr:5.641s}.feld-spalte:nth-child(25){--t:6.542s;--tr:5.458s}.feld-spalte:nth-child(26){--t:6.922s;--tr:5.078s}.feld-spalte:nth-child(27){--t:7.167s;--tr:4.833s}.feld-spalte:nth-child(28){--t:7.409s;--tr:4.591s}.feld-spalte:nth-child(29){--t:7.744s;--tr:4.256s}.feld-spalte:nth-child(30){--t:7.908s;--tr:4.092s}.feld-spalte:nth-child(31){--t:8.216s;--tr:3.784s}.feld-spalte:nth-child(32){--t:8.560s;--tr:3.440s}.feld-spalte:nth-child(33){--t:8.746s;--tr:3.254s}.feld-spalte:nth-child(34){--t:9.075s;--tr:2.925s}.feld-spalte:nth-child(35){--t:9.314s;--tr:2.686s}.feld-spalte:nth-child(36){--t:9.518s;--tr:2.482s}.feld-spalte:nth-child(37){--t:9.906s;--tr:2.094s}.feld-spalte:nth-child(38){--t:10.132s;--tr:1.867s}.feld-spalte:nth-child(39){--t:10.379s;--tr:1.621s}.feld-spalte:nth-child(40){--t:10.704s;--tr:1.296s}.feld-spalte:nth-child(41){--t:10.872s;--tr:1.128s}.feld-spalte:nth-child(42){--t:11.203s;--tr:0.797s}.feld-spalte:nth-child(43){--t:11.531s;--tr:0.469s}.feld-spalte:nth-child(44){--t:11.711s;--tr:0.289s}
@keyframes feld-traktor{0.000%{transform:translateX(-150.0px)}1.224%{transform:translateX(-150.0px)}11.792%{transform:translateX(1710.0px)}12.929%{transform:translateX(1710.0px)}23.497%{transform:translateX(-150.0px)}24.633%{transform:translateX(-150.0px)}35.201%{transform:translateX(1710.0px)}51.376%{transform:translateX(1710.0px)}61.944%{transform:translateX(-150.0px)}63.080%{transform:translateX(-150.0px)}73.648%{transform:translateX(1710.0px)}74.785%{transform:translateX(1710.0px)}85.353%{transform:translateX(-150.0px)}100.000%{transform:translateX(-150.0px)}}
@keyframes feld-blick{0.000%{transform:scaleX(1);animation-timing-function:step-end}11.792%{transform:scaleX(-1);animation-timing-function:step-end}23.497%{transform:scaleX(1);animation-timing-function:step-end}35.201%{transform:scaleX(-1);animation-timing-function:step-end}61.944%{transform:scaleX(1);animation-timing-function:step-end}73.648%{transform:scaleX(-1);animation-timing-function:step-end}85.353%{transform:scaleX(1);animation-timing-function:step-end}100%{transform:scaleX(1)}}
@keyframes feld-rad-hinten{0.000%{transform:rotate(0deg)}1.224%{transform:rotate(0deg)}11.792%{transform:rotate(6728deg)}12.929%{transform:rotate(6728deg)}23.497%{transform:rotate(13456deg)}24.633%{transform:rotate(13456deg)}35.201%{transform:rotate(20184deg)}51.376%{transform:rotate(20184deg)}61.944%{transform:rotate(26912deg)}63.080%{transform:rotate(26912deg)}73.648%{transform:rotate(33640deg)}74.785%{transform:rotate(33640deg)}85.353%{transform:rotate(40367deg)}100.000%{transform:rotate(40367deg)}}
@keyframes feld-rad-vorn{0.000%{transform:rotate(0deg)}1.224%{transform:rotate(0deg)}11.792%{transform:rotate(11386deg)}12.929%{transform:rotate(11386deg)}23.497%{transform:rotate(22771deg)}24.633%{transform:rotate(22771deg)}35.201%{transform:rotate(34157deg)}51.376%{transform:rotate(34157deg)}61.944%{transform:rotate(45543deg)}63.080%{transform:rotate(45543deg)}73.648%{transform:rotate(56928deg)}74.785%{transform:rotate(56928deg)}85.353%{transform:rotate(68314deg)}100.000%{transform:rotate(68314deg)}}
@keyframes feld-maeher{0%{opacity:0}1.209%{opacity:0}1.224%{opacity:1}11.792%{opacity:1}11.807%{opacity:0}51.360%{opacity:0}51.376%{opacity:1}61.944%{opacity:1}61.959%{opacity:0}100%{opacity:0}}
@keyframes feld-pflug{0%{opacity:0}12.913%{opacity:0}12.929%{opacity:1}23.497%{opacity:1}23.512%{opacity:0}63.065%{opacity:0}63.080%{opacity:1}73.648%{opacity:1}73.663%{opacity:0}100%{opacity:0}}
@keyframes feld-saemaschine{0%{opacity:0}24.618%{opacity:0}24.633%{opacity:1}35.201%{opacity:1}35.217%{opacity:0}74.770%{opacity:0}74.785%{opacity:1}85.353%{opacity:1}85.368%{opacity:0}100%{opacity:0}}
@keyframes feld-wuchs-a{0%,13.750%{opacity:1;transform:none}14.129%{opacity:0;transform:none}14.205%,81.667%{opacity:0;transform:scaleY(.02)}81.894%{opacity:1;transform:scaleY(.04)}86.212%{opacity:1;transform:scaleY(.3)}92.273%,100%{opacity:1;transform:none}}
@keyframes feld-schnitt-a{0%,2.273%{transform:none}2.803%,52.197%{transform:scaleY(.2)}52.273%,100%{transform:none}}
@keyframes feld-wuchs-b{0%,31.742%{opacity:0;transform:scaleY(.02)}31.970%{opacity:1;transform:scaleY(.04)}36.288%{opacity:1;transform:scaleY(.3)}42.348%,64.129%{opacity:1;transform:none}64.508%{opacity:0;transform:none}64.583%,100%{opacity:0;transform:scaleY(.02)}}
@keyframes feld-schnitt-b{0%,52.197%{transform:none}52.727%,77.121%{transform:scaleY(.2)}77.197%,100%{transform:none}}
@keyframes feld-furche-a{0%,13.750%{opacity:0}14.205%,20.379%{opacity:.55}22.652%,100%{opacity:0}}
@keyframes feld-furche-b{0%,64.129%{opacity:0}64.583%,70.303%{opacity:.55}72.576%,100%{opacity:0}}
@keyframes feld-saat-a{0%,25.682%{opacity:0;transform:translateY(-14px)}26.061%,30.985%{opacity:1;transform:none}31.742%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-14px)}}
@keyframes feld-saat-b{0%,75.606%{opacity:0;transform:translateY(-14px)}75.985%,80.909%{opacity:1;transform:none}81.667%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-14px)}}
