.elementor-163 .elementor-element.elementor-element-2ca31a0{--display:flex;}.elementor-163 .elementor-element.elementor-element-ef78268{--display:flex;}/* Start custom CSS for container, class: .elementor-element-ef78268 */.elementor-163 .elementor-element.elementor-element-ef78268.elementor-163 .elementor-element.elementor-element-ef78268 {
  position: relative;
  z-index: 5;

  display: flex;
  align-items: center;

  width: min(
    var(--brz-content-max),
    calc(100% - clamp(2rem, 6vw, 4rem))
  );

  min-height: clamp(4.75rem, 7vw, 5.5rem);
  margin-inline: auto;
  padding: 0;
  overflow: visible;
}

.elementor-163 .elementor-element.elementor-element-ef78268,
.elementor-163 .elementor-element.elementor-element-ef78268 * {
  box-sizing: border-box;
}

.elementor-163 .elementor-element.elementor-element-ef78268 > .elementor-element,
.elementor-163 .elementor-element.elementor-element-ef78268 .elementor-widget-html,
.elementor-163 .elementor-element.elementor-element-ef78268 .elementor-widget-container {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar {
  position: relative;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.75rem);

  width: 100%;
}

/* Marke */

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;

  min-width: max-content;
  color: var(--brz-c-primary);
  text-decoration: none !important;
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand-text {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand-name {
  font-family: var(--brz-font-heading);
  font-size: clamp(1.25rem, 1rem + 0.65vw, 1.65rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand-name::after {
  content: "";
  position: absolute;
  top: -0.22em;
  right: -0.32em;

  width: 0.38em;
  aspect-ratio: 1;
  border-radius: 50%;

  background: var(--brz-c-highlight);
  box-shadow:
    0 0 0 0.18em
    color-mix(
      in srgb,
      var(--brz-c-highlight) 17%,
      transparent
    );
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand-description {
  color: var(--brz-c-muted);
  font-family: var(--brz-font-body);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.16em;
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand:hover,
.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand:focus-visible {
  color: var(--brz-c-brand-green);
}

/* Navigation */

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 2vw, 1.8rem);
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link {
  position: relative;
  display: inline-flex;
  align-items: center;

  padding-block: 0.7rem;

  color: var(--brz-c-primary);
  font-family: var(--brz-font-body);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.35rem;
  left: 0;

  height: 0.125rem;
  border-radius: var(--brz-radius-pill);

  background: var(--brz-c-accent);

  transform: scaleX(0);
  transform-origin: center;

  transition:
    transform var(--brz-speed-2) var(--brz-ease);
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link:hover,
.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link:focus-visible,
.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link[aria-current="page"] {
  color: var(--brz-c-brand-green);
}

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link:hover::after,
.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link:focus-visible::after,
.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link[aria-current="page"]::after {
  transform: scaleX(1);
}

/* Desktop-Kontakt */

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Mobil zunächst ausblenden */

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__toggle,
.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__mobile-contact {
  display: none;
}

/* Nur für Screenreader */

.elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__sr-text {
  position: absolute;

  width: 0.0625rem;
  height: 0.0625rem;
  padding: 0;
  margin: -0.0625rem;

  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Tablet und Mobil */

@media (max-width: 60rem) {
  .elementor-163 .elementor-element.elementor-element-ef78268 {
    width: min(
      100% - clamp(2rem, 5vw, 3rem),
      var(--brz-content-max)
    );

    min-height: 4.75rem;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__actions {
    display: none;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;

    width: 2.875rem;
    aspect-ratio: 1;
    padding: 0;

    color: var(--brz-c-primary);
    background: var(--brz-c-bg);
    border: 0.0625rem solid var(--brz-c-border);
    border-radius: 50%;

    cursor: pointer;

    transition:
      color var(--brz-speed-2) var(--brz-ease),
      background-color var(--brz-speed-2) var(--brz-ease),
      border-color var(--brz-speed-2) var(--brz-ease);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__toggle:hover,
  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__toggle:focus-visible {
    color: var(--brz-c-brand-green);
    background: var(--brz-c-bg-soft);
    border-color: var(--brz-c-secondary);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__toggle:focus-visible {
    outline: 0.1875rem solid
      color-mix(
        in srgb,
        var(--brz-c-accent) 38%,
        transparent
      );

    outline-offset: 0.1875rem;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__toggle-line {
    display: block;

    width: 1.15rem;
    height: 0.125rem;
    border-radius: var(--brz-radius-pill);

    background: currentColor;

    transition:
      transform var(--brz-speed-2) var(--brz-ease),
      opacity var(--brz-speed-1) var(--brz-ease);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268
    .brz-navbar__toggle[aria-expanded="true"]
    .brz-navbar__toggle-line:nth-child(1) {
    transform: translateY(0.375rem) rotate(45deg);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268
    .brz-navbar__toggle[aria-expanded="true"]
    .brz-navbar__toggle-line:nth-child(2) {
    opacity: 0;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268
    .brz-navbar__toggle[aria-expanded="true"]
    .brz-navbar__toggle-line:nth-child(3) {
    transform: translateY(-0.375rem) rotate(-45deg);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    left: 0;
    z-index: 20;

    display: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.25rem;

    padding: 0.75rem;

    background: var(--brz-c-bg);
    border: 0.0625rem solid var(--brz-c-border);
    border-radius: var(--brz-radius-lg);
    box-shadow: var(--brz-shadow-medium);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar[data-menu-open="true"]
    .brz-navbar__menu {
    display: flex;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link {
    display: flex;
    width: 100%;
    padding: 0.9rem;
    border-radius: var(--brz-radius-sm);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link::after {
    display: none;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link:hover,
  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link:focus-visible,
  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__menu-link[aria-current="page"] {
    color: var(--brz-c-primary);
    background: var(--brz-c-bg-soft);
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__mobile-contact {
    display: inline-flex;
    width: 100%;
    margin-top: 0.5rem;
  }
}

@media (max-width: 35rem) {
  .elementor-163 .elementor-element.elementor-element-ef78268 {
    width: calc(100% - 2rem);
    min-height: 4.5rem;
  }

  .elementor-163 .elementor-element.elementor-element-ef78268 .brz-navbar__brand-description {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-163 .elementor-element.elementor-element-ef78268 *,
  .elementor-163 .elementor-element.elementor-element-ef78268 *::before,
  .elementor-163 .elementor-element.elementor-element-ef78268 *::after {
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ca31a0 */.elementor-163 .elementor-element.elementor-element-2ca31a0 {
  position: relative;
  z-index: 100;
  isolation: isolate;

  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;

  color: var(--brz-c-text);
  background:
    radial-gradient(
      circle at 88% -80%,
      color-mix(
        in srgb,
        var(--brz-c-highlight) 16%,
        transparent
      ) 0%,
      transparent 46%
    ),
    linear-gradient(
      90deg,
      var(--brz-c-bg) 0%,
      var(--brz-c-bg-soft) 52%,
      var(--brz-c-bg) 100%
    );

  border-bottom: 0.0625rem solid var(--brz-c-border);
}

.elementor-163 .elementor-element.elementor-element-2ca31a0::after {
  content: "";
  position: absolute;
  right: clamp(1.5rem, 6vw, 6rem);
  bottom: -0.0625rem;

  width: clamp(3rem, 8vw, 7rem);
  height: 0.125rem;
  border-radius: var(--brz-radius-pill);

  background: linear-gradient(
    90deg,
    transparent,
    var(--brz-c-accent),
    var(--brz-c-highlight)
  );

  pointer-events: none;
  z-index: 1;
}

.elementor-163 .elementor-element.elementor-element-2ca31a0 > .elementor-element,
.elementor-163 .elementor-element.elementor-element-2ca31a0 > .e-con {
  position: relative;
  z-index: 2;
}/* End custom CSS */