summary::-webkit-details-marker {
  display: none;
}

summary::marker {
  content: none;
}

details > summary {
  text-align: left;
}

html.cookie-gate-active,
html.cookie-gate-active body {
  overflow: hidden;
}

.hero[data-hero-static-vh] {
  min-height: var(--hero-static-height, 100svh);
}

.hero .hero-media {
  transform-origin: center center;
  animation: heroMediaDrift 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero .hero-veil {
  animation: heroVeilSettle 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero .hero-title {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  animation: heroTextReveal 0.78s cubic-bezier(0.22, 1, 0.36, 1) 120ms both;
}

.hero .hero-subtitle {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  animation: heroTextReveal 0.62s cubic-bezier(0.22, 1, 0.36, 1) 320ms both;
}

.hero .hero-actions {
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  animation: heroTextReveal 0.46s cubic-bezier(0.22, 1, 0.36, 1) 520ms both;
}

@keyframes heroMediaDrift {
  0% {
    transform: scale(1.02);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes heroVeilSettle {
  0% {
    opacity: 0.55;
  }
  100% {
    opacity: 1;
  }
}

@keyframes heroTextReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.menu-toggle-button {
  position: relative;
  width: var(--menu-button-size);
  height: var(--menu-button-size);
  border-radius: 999px;
  cursor: pointer;
  touch-action: manipulation;
  background: none;
  transition:
    color 0.2s ease,
    opacity 0.16s ease;
}

:root {
  --header-height: 5rem;
  --fixed-header-offset: var(--header-height);
  --hash-anchor-offset: calc(var(--fixed-header-offset) + 1rem);
  --layout-max-width: 80rem;
  --header-shell-edge: calc((100% - min(100%, var(--layout-max-width))) / 2);
  --header-inline-padding: 1.5rem;
  --menu-button-size: 3.25rem;
  --menu-icon-size: 2rem;
  --menu-line-end-offset: calc(
    ((var(--menu-button-size) - var(--menu-icon-size)) / 2) +
      (var(--menu-icon-size) * (4 / 24))
  );
}

html {
  scroll-padding-top: var(--hash-anchor-offset);
  scrollbar-gutter: stable;
}

html.menu-scroll-locked body::after {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  width: var(--menu-scrollbar-compensation, 0px);
  height: 100vh;
  pointer-events: none;
  z-index: 59;
  background:
    linear-gradient(
      to bottom,
      transparent calc(var(--header-height) - 1px),
      var(--darkbeigeline) calc(var(--header-height) - 1px),
      var(--darkbeigeline) var(--header-height),
      transparent var(--header-height)
    ),
    var(--mainbackground);
}

html.menu-scroll-locked body {
  background-color: var(--mainbackground);
}

@media (min-width: 48rem) {
  :root {
    --header-inline-padding: 3rem;
  }
}

@media (min-width: 64rem) {
  html.menu-scroll-locked,
  html.menu-scroll-locked body {
    overflow: auto !important;
    touch-action: auto !important;
    overscroll-behavior: auto !important;
  }

  html.menu-scroll-locked body {
    padding-right: 0 !important;
  }

  html.menu-scroll-locked .menu-dialog[open] {
    display: none;
  }
}

.menu-toggle-button--mobile {
  position: fixed;
  top: calc(var(--header-height) / 2);
  right: calc(
    max(
      0px,
      max(
          var(--header-shell-edge),
          var(--header-inline-padding),
          env(safe-area-inset-right)
        ) -
        var(--menu-line-end-offset)
    )
  );
  transform: translateY(-50%);
  z-index: 61;
}

.menu-toggle-button--in-dialog {
  z-index: 62;
}

.menu-toggle-button--mobile:not(
    .menu-toggle-button--in-dialog
  )[aria-expanded="true"] {
  opacity: 0;
  pointer-events: none;
}

.menu-dialog .menu-dialog-panel {
  opacity: 0;
  transition: opacity 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

@starting-style {
  .menu-dialog .menu-dialog-panel {
    opacity: 0;
  }
}

.menu-dialog:open,
.menu-dialog:open > .fixed,
.menu-dialog:open .menu-dialog-panel {
  width: 100vw;
  max-width: 100vw;
}

.menu-dialog:open > .fixed,
.menu-dialog:open .menu-dialog-panel {
  left: 0;
  right: auto;
}

.menu-dialog:open .menu-dialog-panel {
  opacity: 1;
}

.menu-dialog[data-menu-state="opening"] .menu-dialog-panel,
.menu-dialog[data-menu-state="open"] .menu-dialog-panel {
  opacity: 1;
}

.menu-dialog[data-menu-state="closing"] .menu-dialog-panel {
  opacity: 0;
}

.menu-toggle-icon {
  display: block;
  width: var(--menu-icon-size);
  height: var(--menu-icon-size);
  pointer-events: none;
  overflow: visible;
}

.menu-toggle-line {
  stroke: currentColor;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
  transform-origin: 12px 12px;
  transition:
    transform 0.14s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.14s cubic-bezier(0.16, 1, 0.3, 1);
}

.menu-toggle-button .menu-toggle-line--top {
  transform: translateY(0) rotate(0deg);
}

.menu-toggle-button .menu-toggle-line--middle {
  transform: scaleX(1);
  opacity: 1;
}

.menu-toggle-button .menu-toggle-line--bottom {
  transform: translateY(0) rotate(0deg);
}

.menu-toggle-button[aria-expanded="true"] .menu-toggle-line--top {
  transform: rotate(45deg) translateY(5px);
}

.menu-toggle-button[aria-expanded="true"] .menu-toggle-line--middle {
  transform: scaleX(0);
  opacity: 0;
}

.menu-toggle-button[aria-expanded="true"] .menu-toggle-line--bottom {
  transform: rotate(-45deg) translateY(-5px);
}

[data-reveal] {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-property: opacity, transform;
}

[data-reveal].reveal--visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

[data-reveal][data-reveal-type="heading"] {
  transform: translate3d(0, 20px, 0);
  transition-duration: 800ms;
}

[data-reveal][data-reveal-type="text"] {
  transform: translate3d(0, 14px, 0);
  transition-duration: 650ms;
}

[data-reveal][data-reveal-type="card"] {
  transition-duration: 760ms;
}

[data-reveal][data-reveal-type="media"] {
  transform: scale(1.02);
  transition-duration: 900ms;
}

[data-reveal][data-reveal-type="cta"] {
  transform: translate3d(0, 10px, 0);
  transition-duration: 450ms;
}

[data-reveal][data-reveal-type="subtext"] {
  transform: translate3d(0, 16px, 0);
  transition-duration: 700ms;
}

[data-reveal][data-reveal-type="divider"] {
  transform: scaleX(0);
  transform-origin: center center;
  transition-duration: 700ms;
  opacity: 1;
}

[data-reveal][data-reveal-type="divider"].reveal--visible {
  transform: scaleX(1);
}

[data-reveal] {
  transition-delay: var(--reveal-delay, 0ms);
}

@media (max-width: 48rem) {
  [data-reveal][data-reveal-type="heading"] {
    transition-duration: 600ms;
  }
  [data-reveal][data-reveal-type="text"] {
    transition-duration: 490ms;
  }
  [data-reveal][data-reveal-type="card"] {
    transition-duration: 570ms;
  }
  [data-reveal][data-reveal-type="media"] {
    transition-duration: 680ms;
  }
  [data-reveal][data-reveal-type="cta"] {
    transition-duration: 340ms;
  }
  [data-reveal][data-reveal-type="subtext"] {
    transition-duration: 525ms;
  }
  [data-reveal][data-reveal-type="divider"] {
    transition-duration: 525ms;
  }
}

.defines-us .defines-us-card {
  transition:
    opacity 0.96s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.96s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--defines-us-delay, 0ms);
}

@media (hover: hover) {
  .defines-us .defines-us-card:hover {
    transform: translate3d(0, -3px, 0);
    transition:
      opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .hero .hero-media,
  .hero .hero-veil,
  .hero .hero-title,
  .hero .hero-subtitle,
  .hero .hero-actions {
    animation: none;
    opacity: 1;
    transform: none;
  }

  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .menu-toggle-button,
  .menu-toggle-line,
  .menu-dialog:open .menu-dialog-panel {
    animation: none;
    transition: none;
  }

  .menu-dialog[data-menu-state="closing"] .menu-dialog-panel,
  .menu-dialog[data-menu-state="opening"] .menu-dialog-panel,
  .menu-dialog[data-menu-state="open"] .menu-dialog-panel {
    opacity: 1;
    transform: none;
  }

  .defines-us .defines-us-card:hover {
    transform: none !important;
  }

  .js-enabled .page-leistungen .services-accordion-panel,
  .js-enabled .page-leistungen .services-step-panel,
  .js-enabled .page-leistungen .services-accordion-icon,
  .js-enabled .page-leistungen .services-accordion-icon > span,
  .js-enabled .page-leistungen .services-step-trigger,
  .js-enabled .page-leistungen .services-step-number,
  .js-enabled .page-leistungen .services-step-label {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .journey-step,
  .journey-step-num,
  .journey-step-label {
    transform: none !important;
    transition: none;
  }

  .journey-track-fill,
  .journey-track-dot,
  .journey-panel {
    transition: none;
  }

  [data-kontakt-highlight-target]::before,
  [data-kontakt-highlight-target]::after,
  [data-kontakt-highlight-target].kontakt-sweep-active::before,
  [data-kontakt-highlight-target].kontakt-sweep-active::after,
  [data-kontakt-highlight-target].kontakt-sweep-active > h3 {
    animation: none;
    transform: none;
  }

  [data-kontakt-highlight-target].kontakt-sweep-active::after {
    opacity: 1;
  }
}

.js-enabled .page-leistungen .services-accordion-trigger,
.js-enabled .page-leistungen [data-faq-trigger] {
  --services-icon-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.js-enabled .page-leistungen [data-services-accordion] .services-accordion-icon,
.js-enabled .page-leistungen [data-faq-accordion] .services-accordion-icon {
  color: var(--brown-5);
  transform: translate3d(0, 0, 0) rotate(90deg);
   transition:
     transform 0.2s var(--services-icon-ease),
     color 0.4s var(--services-icon-ease);
}

.js-enabled
  .page-leistungen
  [data-services-accordion]
  .services-accordion-icon
  > span,
.js-enabled
  .page-leistungen
  [data-faq-accordion]
  .services-accordion-icon
  > span {
  transform-origin: center;
   transition:
     transform 0.2s var(--services-icon-ease),
     opacity 0.2s ease-out;
}

.js-enabled
  .page-leistungen
  [data-services-accordion]
  .services-accordion-icon
  [data-accordion-glyph-vertical].scale-y-100,
.js-enabled
  .page-leistungen
  [data-faq-accordion]
  .services-accordion-icon
  [data-accordion-glyph-vertical].scale-y-100 {
  transform: rotate(0deg);
}

.js-enabled
  .page-leistungen
  [data-services-accordion]
  .services-accordion-item.is-open
  .services-accordion-icon {
  transform: translate3d(0, 0, 0) rotate(180deg);
}

.js-enabled
  .page-leistungen
  [data-faq-accordion]
  details.is-open
  .services-accordion-icon {
  transform: translate3d(0, 0, 0) rotate(180deg);
}

.page-leistungen [data-accordion-item] {
  scroll-margin-top: var(--hash-anchor-offset);
}

.journey-step {
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.journey-step-num {
  transform-origin: center center;
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.journey-step-label {
  transform-origin: center bottom;
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.journey-step.is-active {
  transform: translateY(-9px);
}

.journey-step.is-active .journey-step-num {
  opacity: 1;
  transform: scale(1.22);
}

.journey-step.is-active .journey-step-label {
  opacity: 1;
  color: var(--brown-2);
  transform: scale(1.1);
}

.journey-steps:has(.journey-step.is-active) .journey-step:not(.is-active) {
  transform: translateY(5px);
}

.journey-steps:has(.journey-step.is-active)
  .journey-step:not(.is-active):hover {
  transform: translateY(-2px);
}

.journey-step:not(.is-active):hover .journey-step-num,
.journey-step:not(.is-active):hover .journey-step-label {
  opacity: 0.6;
}

.journey-step:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--brown-5);
  outline-offset: 4px;
}

.journey-track {
  background: color-mix(in srgb, var(--dividerline) 40%, transparent);
}

.journey-track-fill {
  width: 100%;
  transform-origin: left center;
  transform: scaleX(0);
}

.journey-track-dot {
  transform: translate(-50%, -50%);
  background: color-mix(in srgb, var(--dividerline) 70%, transparent);
  transition:
    background 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-journey-dot="0"] {
  left: 12.5%;
}
[data-journey-dot="1"] {
  left: 37.5%;
}
[data-journey-dot="2"] {
  left: 62.5%;
}
[data-journey-dot="3"] {
  left: 87.5%;
}

.journey-track-dot.is-done {
  background: color-mix(in srgb, var(--brown-5) 50%, transparent);
}

.journey-track-dot.is-active {
  background: var(--brown-5);
  transform: translate(-50%, -50%) scale(1.9);
}

.js-enabled .page-leistungen .journey-panel {
  transform: translate3d(0, 0.4rem, 0);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.js-enabled .page-leistungen .journey-panel.is-visible {
  transform: translate3d(0, 0, 0);
}

[data-kontakt-highlight-target] {
  position: relative;
  border-radius: 0.35rem;
  isolation: isolate;
  overflow: hidden;
}

[data-kontakt-highlight-target]::before,
[data-kontakt-highlight-target]::after {
  content: "";
  position: absolute;
  inset: -0.5rem;
  pointer-events: none;
  opacity: 0;
}

[data-kontakt-highlight-target]::before {
  background: linear-gradient(
    108deg,
    transparent 0%,
    color-mix(in srgb, var(--text-beige) 26%, transparent) 42%,
    color-mix(in srgb, var(--brown-9) 46%, transparent) 50%,
    color-mix(in srgb, var(--text-beige) 26%, transparent) 58%,
    transparent 100%
  );
  transform: translateX(-130%);
}

[data-kontakt-highlight-target]::after {
  border-radius: 0.7rem;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brown-7) 30%, transparent);
}

[data-kontakt-highlight-target].kontakt-sweep-active::before {
  animation: kontaktSweepPass 1.95s cubic-bezier(0.22, 1, 0.36, 1) both;
}

[data-kontakt-highlight-target].kontakt-sweep-active::after {
  animation: kontaktSweepFrame 1.95s cubic-bezier(0.22, 1, 0.36, 1) both;
}

[data-kontakt-highlight-target].kontakt-sweep-active > h3 {
  animation: kontaktSweepHeading 1.95s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes kontaktSweepPass {
  0% {
    opacity: 0;
    transform: translateX(-130%);
  }
  16% {
    opacity: 0.85;
  }
  100% {
    opacity: 0;
    transform: translateX(135%);
  }
}

@keyframes kontaktSweepFrame {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes kontaktSweepHeading {
  0% {
    color: inherit;
  }
  24% {
    color: color-mix(in srgb, var(--text-beige) 90%, var(--brown-8) 10%);
  }
  100% {
    color: inherit;
  }
}