/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/sass/_index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --c-red: #ea2b1f;
  --c-pink: #ff3c6f;
  --c-magenta: #ff4fdd;
  --c-violet: #7e56ff;
  --c-blue: #00b2ff;
  --c-primary: var(--c-red);
  --c-primary-dark: #d02a20;
  --c-primary-light: #f8612e;
  /* Gradient */
  --dbw-gradient: linear-gradient(
  	135deg,
  	var(--c-red),
  	var(--c-pink),
  	var(--c-magenta),
  	var(--c-violet),
  	var(--c-blue)
  );
  --primary-red: linear-gradient(
  	135deg,
  	var(--c-primary-dark),
  	var(--c-primary),
  	var(--c-primary-light)
  );
}
.buttonRegular {
  color: #fff;
  background: var(--c-red);
  border-color: var(--c-red);
}
.buttonInverted {
  color: var(--c-red);
  background: #fff;
  border-color: var(--c-red);
}
/* ==========================================================================
   DESIGN SYSTEM BASE
   ========================================================================== */
:root {
  /* 1. Fluide Basis-Schriftgröße (14px → 18px)
        Nur p, .p und UI-Elemente nutzen diese als 1rem-Basis.
        Headings haben eigene --fs-* Tokens → kein Multiplikations-Problem.
  */
  --base-size: clamp(14px, 0.5vw + 12px, 18px);
  /* 2. Fluid Font-Size Tokens (Design Tokens, wie Google Material Design 3)
        ----------------------------------------------------------------
        Viewport-Range: 375px (Mobile) → 1200px (Desktop)
        Mobile-Basis:   16px × Ratio 1.2^n  (Minor Third → sanft auf kleinen Screens)
        Desktop-Basis:  18px × Ratio 1.25^n (Major Third → dein Design-System)

        Formel: clamp(min, slope×vw + intercept, max)
        slope     = (max_px - min_px) / (1200 - 375)
        intercept = min_px - slope × 375

        h1: 32px → 69px  →  4.485vw + 0.954rem
        h2: 26px → 55px  →  3.515vw + 0.800rem
        h3: 22px → 44px  →  2.667vw + 0.750rem
        h4: 20px → 35px  →  1.818vw + 0.825rem
        h5: 18px → 28px  →  1.212vw + 0.844rem
  */
  --fs-h1: clamp(2rem, 4.485vw + 0.954rem, 3.815rem);
  --fs-h2: clamp(1.625rem, 3.515vw + 0.8rem, 3.052rem);
  --fs-h3: clamp(1.375rem, 2.667vw + 0.75rem, 2.441rem);
  --fs-h4: clamp(1.25rem, 1.818vw + 0.825rem, 1.953rem);
  --fs-h5: clamp(1.125rem, 1.212vw + 0.844rem, 1.45rem);
  /* 3. Ratio (Dokumentation) */
  --ratio: 1.25;
  /* 4. Line-Height System
        Fließtext: 1.5 (150% → maximale Lesbarkeit, Video-Prinzip)
        Headings:  je größer → desto enger (Wucht & Scannbarkeit)
  */
  --lh-body: 1.5;
  --lh-h5: 1.35;
  --lh-h4: 1.3;
  --lh-h3: 1.2;
  --lh-h2: 1.1;
  --lh-h1: 1;
  /* 5. Letter-Spacing System
        Body:     0      (nicht anfassen → Lesbarkeit, Video-Prinzip)
        Headings: negativ, je größer desto enger
  */
  --ls-body: 0;
  --ls-small: -0.01em;
  --ls-h5: -0.01em;
  --ls-h4: -0.01em;
  --ls-h3: -0.02em;
  --ls-h2: -0.02em;
  --ls-h1: -0.025em;
  /* 6. Fonts */
  --font-body: var(--gp-font--inter, "Inter", sans-serif);
  --font-heading: var(--gp-font--aspekta-variable, "Aspekta", sans-serif);
}
/* ==========================================================================
   SASS PLACEHOLDERS
   Müssen auf Top-Level stehen (nicht in html-Block).
   Wrap der Mixins → nutzbar mit @extend innerhalb dieser Datei.
   Cross-file → @include typo.mixin-name verwenden.
   ========================================================================== */
html p--small,
html .p--small {
  font-size: 0.875rem;
  line-height: var(--lh-body);
  letter-spacing: var(--ls-small);
  opacity: 0.85;
}
html p--medium,
html .p--medium {
  font-size: clamp(1.1rem, 1vw + 0.5rem, 1.25rem);
  line-height: var(--lh-body);
  font-weight: 400;
  letter-spacing: var(--ls-small);
}
html p--big,
html .p--big {
  font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}
html h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: var(--ls-h1);
  font-weight: 800;
  margin-bottom: var(--s-32);
}
.hero--subpage .content .content-inner h1, html h2,
html .h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  letter-spacing: var(--ls-h2);
  font-weight: 800;
  margin-bottom: var(--s-32);
  word-break: break-word;
}
html h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  letter-spacing: var(--ls-h3);
  margin-bottom: var(--s-24);
}
.content-card h2, html h4 {
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: var(--ls-h4);
  margin-bottom: var(--s-16);
}
.dbw-share-title, .gallery-container .gallery-slide .gallery-slide-card .content > h4, html h5 {
  font-size: var(--fs-h5);
  line-height: var(--lh-h5);
  letter-spacing: var(--ls-h5);
  margin-bottom: var(--s-16);
}
/* ==========================================================================
   GLOBAL HIGHLIGHTS & INTERACTION
   ========================================================================== */
mark,
.gb-highlight,
.highlight-text {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-weight: inherit;
}
@supports not (-webkit-background-clip: text) {
  mark,
  .gb-highlight,
  .highlight-text {
    background: none;
    color: #e91e63;
    font-weight: 700;
  }
}
@media (forced-colors: active) {
  mark,
  .gb-highlight,
  .highlight-text {
    background: none;
    -webkit-text-fill-color: Highlight;
    color: Highlight;
  }
}
/* Globale Transitionen – explizite Properties statt "all" (Performance) */
a,
button,
input,
select,
textarea {
  transition: color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
  text-decoration: none;
  cursor: pointer;
}
/* ==========================================================================
   HTML MAIN BLOCK
   Intentional nesting unter html{} zum Überschreiben von GeneratePress-Defaults.
   Erzeugt erhöhte Spezifität → GP-Styles werden zuverlässig überschrieben.
   ========================================================================== */
html {
  font-size: var(--base-size);
  font-family: var(--font-body);
  color: var(--c-body);
  font-kerning: normal;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* --- FLIEẞTEXT --- */
  /* --- ÜBERSCHRIFTEN ---
     Größen aus --fs-* Tokens → fluid & systemisch konsistent.
     Line-Height & Letter-Spacing: je größer, desto enger (Video-Prinzip).
     -------------------------------------------------------------------- */
  /* --- LINK-SYSTEM (GP Override) --- */
  /* Ausnahmen */
}
html p,
html .p {
  font-size: 1rem; /* skaliert mit --base-size (14→18px) */
  line-height: var(--lh-body); /* 1.5 → Video-Prinzip */
  letter-spacing: var(--ls-body); /* 0   → Video-Prinzip */
  margin-bottom: var(--s-24);
  color: var(--c-body);
  /* Paragraph Varianten */
  /* Tag Modul */
}
html p:last-child,
html .p:last-child {
  margin-bottom: 0;
}
html p:has(a) a,
html .p:has(a) a {
  color: #000;
  font-weight: 600;
  transition: opacity 0.2s ease;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
html p:has(a) a:hover,
html .p:has(a) a:hover {
  opacity: 0.8;
}
html p.tag,
html .p.tag {
  display: inline-flex;
  align-items: center;
  padding: 0.375em 0.875em;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
  align-self: flex-start;
  margin-bottom: var(--s-16);
}
html p.tag--dark,
html .p.tag--dark {
  border-color: rgba(0, 0, 0, 0.15);
  color: var(--c-body);
  background-color: rgba(0, 0, 0, 0.05);
  backdrop-filter: none;
}
html a.tag {
  display: inline-flex;
  align-items: center;
  padding: 0.375em 0.875em;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
  align-self: flex-start;
  margin-bottom: var(--s-16);
}
html a.tag--dark {
  border-color: rgba(0, 0, 0, 0.15);
  color: var(--c-body);
  background-color: rgba(0, 0, 0, 0.05);
  backdrop-filter: none;
}
html h1,
html h2,
html h3,
html h4,
html h5,
html h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  margin-top: 0;
  color: var(--c-body);
  font-synthesis: none;
}
html h1 {
  font-weight: 800;
}
html h2,
html .h2 {
  font-weight: 800;
}
html h2--highlighted mark.gb-highlight,
html .h2--highlighted mark.gb-highlight {
  position: relative;
  line-height: 1.3;
  -webkit-text-fill-color: currentColor;
  background: transparent;
  color: inherit;
}
html h2--highlighted mark.gb-highlight:after,
html .h2--highlighted mark.gb-highlight:after {
  content: "";
  position: absolute;
  bottom: 0.1em;
  left: 0;
  width: 100%;
  height: 0.4em;
  z-index: -1;
}
html h2--highlighted__primary mark.gb-highlight:after,
html .h2--highlighted__primary mark.gb-highlight:after {
  background-color: var(--c-primary);
}
html h2--highlighted__white mark.gb-highlight:after,
html .h2--highlighted__white mark.gb-highlight:after {
  background-color: var(--c-white);
}
html h2--highlighted__body mark.gb-highlight:after,
html .h2--highlighted__body mark.gb-highlight:after {
  background-color: var(--c-body);
}
html h2--highlighted__centered,
html .h2--highlighted__centered {
  margin-bottom: var(--s-24);
  text-align: center;
}
html h2--highlighted__centered mark.gb-highlight:after,
html .h2--highlighted__centered mark.gb-highlight:after {
  left: 50%;
  transform: translateX(-50%);
}
html h2--like-p,
html .h2--like-p {
  font-size: 1rem;
  font-family: var(--font-body);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--c-body);
}
html h2--like-h4,
html .h2--like-h4 {
  font-size: var(--fs-h4);
  font-weight: 600;
  color: var(--c-body);
}
html h2--small-margin,
html .h2--small-margin {
  margin-bottom: var(--s-8);
}
html h2--no-margin,
html .h2--no-margin {
  margin-bottom: 0;
}
html h6 {
  font-size: 1.25rem; /* Fix – nah an Body, Fluid nicht nötig */
  line-height: 1.4;
  letter-spacing: -0.005em;
  margin-bottom: var(--s-16);
}
html a:not([class*=button]):not([class*=dbw-share]):not(.cta-link a):not(.stretch-link):not(.tag):not(.taxonomy-post_tag a):not(.company a):not(.info-banner a):not(.wp-block-social-link-anchor) {
  display: inline-block;
  text-decoration: none !important;
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: #111111;
  -webkit-text-fill-color: #111111;
  transition: color 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
html a:not([class*=button]):not([class*=dbw-share]):not(.cta-link a):not(.stretch-link):not(.tag):not(.taxonomy-post_tag a):not(.company a):not(.info-banner a):not(.wp-block-social-link-anchor):hover {
  transform: translateY(-3px);
  color: transparent;
  -webkit-text-fill-color: transparent;
}
html a:not([class*=button]):not([class*=dbw-share]):not(.cta-link a):not(.stretch-link):not(.tag):not(.taxonomy-post_tag a):not(.company a):not(.info-banner a):not(.wp-block-social-link-anchor):active {
  transform: translateY(-1px);
}
html a:not([class*=button]):not([class*=dbw-share]):not(.cta-link a):not(.stretch-link):not(.tag):not(.taxonomy-post_tag a):not(.company a):not(.info-banner a):not(.wp-block-social-link-anchor):focus {
  outline: none;
}
html a:not([class*=button]):not([class*=dbw-share]):not(.cta-link a):not(.stretch-link):not(.tag):not(.taxonomy-post_tag a):not(.company a):not(.info-banner a):not(.wp-block-social-link-anchor):focus-visible {
  outline: 2px solid #111111;
  outline-offset: 3px;
  color: #111111;
  -webkit-text-fill-color: #111111;
  transform: none;
  border-radius: 2px;
}
html a:not([class*=button]):not([class*=dbw-share]):not(.cta-link a):not(.stretch-link):not(.tag):not(.taxonomy-post_tag a):not(.company a):not(.info-banner a):not(.wp-block-social-link-anchor):visited {
  color: #111111;
  -webkit-text-fill-color: #111111;
}
html .cta-link a,
html .stretch-link a {
  display: inline;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  transform: none;
}
html #wpadminbar a {
  display: inline;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  transform: none;
  transition: none;
}
html #wpadminbar a:hover,
html #wpadminbar a:active {
  transform: none;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}
html #wpadminbar a:focus,
html #wpadminbar a:focus-visible {
  outline: initial;
  outline-offset: initial;
  border-radius: 0;
}
/* ==========================================================================
   REDUCED MOTION (Barrierefreiheit – Vestibularis-Störungen)
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
  html a:not([class*=button]):not([class*=dbw-share]):hover, html a:not([class*=button]):not([class*=dbw-share]):active {
    transform: none;
  }
}
/* ==========================================================================
   SPACING SYSTEM (8-Point Grid)
   Basierend auf Vielfachen von 8 für Rhythmus und Vorhersehbarkeit.
   ========================================================================== */
:root {
  /* Die Basis für Berechnungen (entspricht 1rem) */
  --space-unit: 1rem;
  /* Systematische Abstände (basierend auf 16px Standard-Referenz) */
  --s-8: 0.5rem; /* 8px - Für kleinste Details & Labels */
  --s-16: 1rem; /* 16px - Standard Padding/Margin */
  --s-24: 1.5rem; /* 24px - Harmonischer Zwischenschritt */
  --s-32: 2rem; /* 32px - Für Sektionen-Abstände (Desktop) */
  --s-64: 4rem; /* 64px - Große Abstände zwischen Blöcken */
  --s-128: 8rem; /* 128px - Hero-Section Padding / Große Trennungen */
  --s-256: 16rem; /* 256px - Maximale Trennung für High-End Layouts */
}
/* Hilfsvariablen für SCSS-Funktionen */
#page {
  position: relative;
  overflow: unset;
  display: block;
  background: #fff;
}
#content .site-main {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#content .site-main .inside-article {
  padding: 0;
  background-color: #fff;
}
#content .site-main .inside-article .entry-content > *:not(.section--fullwidth):not(.fullwidth-shrink-spacer) {
  width: 80%;
  max-width: 1220px;
  margin-inline: auto;
}
#content .site-main article {
  margin-bottom: 0;
}
.container {
  position: relative;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  display: block;
}
.site {
  max-width: unset;
  padding: 0;
}
.site .inside-article {
  padding: 0;
}
.valign--center {
  align-items: center;
}
.offset--top__sm {
  margin-top: 50px;
}
.offset--top__md {
  margin-top: 100px;
}
.display-none {
  display: none !important;
}
.text-split {
  display: flex;
  align-items: flex-end;
  gap: 150px;
  width: 100%;
  text-align: left;
}
.text-split > :nth-child(1) {
  flex: 1.5;
  margin-bottom: 0;
}
.text-split > :nth-child(2) {
  flex: 1;
  margin-bottom: 0;
}
@media (max-width: 992px) {
  .text-split {
    flex-direction: column;
    align-items: flex-start;
    gap: 0px;
  }
  .text-split > :nth-child(2) {
    margin-bottom: 20px;
  }
  .text-split .button--black {
    margin-top: 30px;
  }
}
.text-narrow {
  width: 80%;
  max-width: 700px;
  margin-right: auto;
}
.text-narrow--center {
  margin: 0 auto;
}
@media (max-width: 768px) {
  .text-narrow {
    width: 100%;
  }
}
.icon {
  margin-bottom: 10px;
}
._cUP1np9gMvFQrcPftuf {
  margin: 0 !important;
}
.scroll-down-container {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .scroll-down-container {
    display: none;
  }
}
.dbw-partner-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 70px;
  margin-top: var(--outer-margin, 50px);
  margin-bottom: var(--outer-margin, 50px);
}
.dbw-slider-wrapper {
  width: 100%;
  min-height: 70px;
  overflow: hidden;
}
.dbw-slider-item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--slide-gap, 40px) / 2);
  min-height: var(--logo-height, 50px);
}
.dbw-slider-item img {
  display: block;
  min-height: var(--logo-height, 50px);
  max-height: var(--logo-height, 50px);
  max-width: 150px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: attr(width)/attr(height);
}
.badge a {
  position: relative;
}
.badge a::after {
  content: "neu";
  position: absolute;
  top: -17.5px;
  right: -5px;
  background: var(--dbw-gradient) !important;
  color: white !important;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: white !important;
  background-clip: border-box !important;
}
.stretch-link {
  position: relative;
}
.stretch-link a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.stretch-link a:is(:focus-visible)::after {
  outline: 2px solid;
}
.stretch-link a:is(:hover, :focus) {
  outline: none;
}
.icon-gradient svg path {
  fill: url(#dbw-icon-gradient);
}
.eyebrow {
  text-transform: uppercase;
  margin-bottom: 0 !important;
  font-weight: 500;
}
.eyebrown-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 16px;
  padding: 6px 16px;
  border: 1.5px solid transparent;
  background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)) padding-box, var(--dbw-gradient) border-box;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  color: #1d1d1d;
  box-shadow: 0 4px 12px rgba(126, 86, 255, 0.12);
  white-space: nowrap;
}
@media (max-width: 576px) {
  .eyebrown-pill {
    font-size: 10px;
    padding: 5px 13px;
    letter-spacing: 0.9px;
  }
}
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
body {
  background: transparent;
}
body.stop {
  overflow: hidden;
}
div {
  box-sizing: border-box;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}
blockquote,
q {
  quotes: "" "";
}
hr {
  background-color: #eee;
  border: 0;
  height: 1px;
  margin-bottom: 20px;
}
ul,
ol {
  margin: 0;
  padding-left: 20px;
}
.kc_text_block.smallcontainer {
  max-width: 70rem;
  margin: 0 auto;
}
ul {
  list-style: square;
}
ol {
  list-style: decimal;
}
li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}
dt {
  font-weight: bold;
}
dd {
  margin: 0 1.5em 1.5em;
}
img {
  height: auto;
  max-width: 100%;
}
table {
  margin: 0 0 1.5em;
  width: 100%;
}
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
.alignleft {
  display: inline;
  margin-right: 1.5em;
}
.alignright {
  display: inline;
  margin-left: 1.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
}
.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
embed,
iframe,
object {
  max-width: 100%;
}
/* ----------------------------------------------------------
   Buttons - Optimiert für Performance
---------------------------------------------------------- */
.btn.button--dbw:hover, .btn.button--dbw:focus, .btn.button--dbw:active,
a[class*=button].button--dbw:hover,
a[class*=button].button--dbw:focus,
a[class*=button].button--dbw:active, .btn.button--black:hover, .btn.button--black:focus, .btn.button--black:active,
a[class*=button].button--black:hover,
a[class*=button].button--black:focus,
a[class*=button].button--black:active, .btn.button--primary:hover, .btn.button--primary:focus, .btn.button--primary:active,
a[class*=button].button--primary:hover,
a[class*=button].button--primary:focus,
a[class*=button].button--primary:active {
  color: white !important;
  text-decoration: none;
}
.btn,
a[class*=button]:not([class*=icon]) {
  padding: var(--s-8) var(--s-16);
  border-radius: 100px;
  align-items: center;
  position: relative;
  color: inherit;
  font-weight: bold;
  max-width: -moz-fit-content;
  max-width: fit-content;
  transition: background-position 0.5s ease, filter 0.2s ease, transform 0.3s ease;
}
@media (max-width: 480px) {
  .btn,
  a[class*=button]:not([class*=icon]) {
    width: 100%;
    padding: 9px 18px;
  }
}
.btn:focus-visible,
a[class*=button]:not([class*=icon]):focus-visible {
  outline: 2px solid rgb(127.9, 127.9, 136.1);
  outline-offset: 3px;
}
.our-work,
.button-icon,
.gb-accordion__toggle {
  padding: initial;
  border-radius: initial;
  position: initial;
}
.btn.button--primary,
a[class*=button].button--primary {
  background: var(--gradient-primary) !important;
  background-size: 200% 200%;
  background-position: left center;
  color: white !important;
  border: none;
}
.btn.button--primary:hover, .btn.button--primary:focus, .btn.button--primary:active,
a[class*=button].button--primary:hover,
a[class*=button].button--primary:focus,
a[class*=button].button--primary:active {
  background-position: right center;
  filter: brightness(1.1);
  box-shadow: var(--btn-hover-shadow);
  transform: scale(1.03);
}
.btn.button--black,
a[class*=button].button--black {
  background: #1d1d1f;
  color: white;
  border: none;
}
.btn.button--black:hover, .btn.button--black:focus, .btn.button--black:active,
a[class*=button].button--black:hover,
a[class*=button].button--black:focus,
a[class*=button].button--black:active {
  background: #3a3a3d;
}
.btn.button--outline,
a[class*=button].button--outline {
  background: transparent;
  border: 2px solid #1d1d1f;
  color: #1d1d1f;
  box-sizing: border-box;
}
.btn.button--outline:hover, .btn.button--outline:focus, .btn.button--outline:active,
a[class*=button].button--outline:hover,
a[class*=button].button--outline:focus,
a[class*=button].button--outline:active {
  background: #1d1d1f !important;
  color: white !important;
  transform: translateY(-1px);
  text-decoration: none;
}
.btn.button--dbw,
a[class*=button].button--dbw {
  background: var(--dbw-gradient) !important;
  color: white !important;
  border: none;
  font-size: clamp(14px, 4vmin, 20px);
  z-index: 99;
}
.btn.button--dbw:hover, .btn.button--dbw:focus, .btn.button--dbw:active,
a[class*=button].button--dbw:hover,
a[class*=button].button--dbw:focus,
a[class*=button].button--dbw:active {
  filter: brightness(1.1);
  transform: scale(1.03);
}
.btn.button--dbw.button--pulse,
a[class*=button].button--dbw.button--pulse {
  padding: 21px 41px;
  position: fixed;
  right: 45px;
  bottom: 45px;
}
@media (max-width: 992px) {
  .btn.button--dbw.button--pulse,
  a[class*=button].button--dbw.button--pulse {
    padding: 15px 32px;
    font-size: 14px;
    right: 25px;
    bottom: 25px;
  }
}
.btn.button--pulse,
a[class*=button].button--pulse {
  animation: button-pulse 5.5s ease-in-out infinite;
}
.btn.button--pulse::before,
a[class*=button].button--pulse::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 100px;
  background: var(--gradient-primary);
  opacity: 0;
  z-index: -1;
  animation: pulse-glow 5.5s ease-out infinite;
}
.btn.button--pulse.button--dbw::before,
a[class*=button].button--pulse.button--dbw::before {
  background: var(--dbw-gradient);
}
.btn.button--pulse:hover, .btn.button--pulse:focus, .btn.button--pulse:active,
a[class*=button].button--pulse:hover,
a[class*=button].button--pulse:focus,
a[class*=button].button--pulse:active {
  animation: button-pulse-excited 0.75s ease-in-out infinite;
  transform: scale(1.03);
  filter: brightness(1.1);
}
.btn.button--pulse:hover::before, .btn.button--pulse:focus::before, .btn.button--pulse:active::before,
a[class*=button].button--pulse:hover::before,
a[class*=button].button--pulse:focus::before,
a[class*=button].button--pulse:active::before {
  animation: pulse-glow-excited 0.75s ease-out infinite;
  opacity: 0.2;
  transform: scale(1.1);
}
/* ----------------------------------------------------------
   Scroll Reveal Container
---------------------------------------------------------- */
.scroll-reveal-container {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.scroll-reveal-container.is-visible {
  opacity: 1;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .scroll-reveal-container {
    transform: none;
    transition: opacity 0.01s linear;
  }
}
/* ----------------------------------------------------------
   Animations - Kompakt
---------------------------------------------------------- */
@keyframes button-pulse {
  0%, 70%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  8% {
    transform: scale(0.94);
    filter: brightness(0.96);
  }
  18% {
    transform: scale(1.06);
    filter: brightness(1.1);
  }
  28% {
    transform: scale(0.98);
    filter: brightness(1.02);
  }
  35% {
    transform: scale(1);
    filter: brightness(1);
  }
}
@keyframes pulse-glow {
  0%, 100% {
    transform: scale(1);
    opacity: 0;
  }
  8% {
    transform: scale(1);
    opacity: 0;
  }
  12% {
    transform: scale(1.02);
    opacity: 0.5;
  }
  18% {
    transform: scale(1.15);
    opacity: 0.2;
  }
  25% {
    transform: scale(1.3);
    opacity: 0.05;
  }
  35% {
    transform: scale(1.4);
    opacity: 0;
  }
  70% {
    transform: scale(1);
    opacity: 0;
  }
}
@keyframes button-pulse-excited {
  0%, 100% {
    transform: scale(1.03);
    filter: brightness(1.1);
  }
  25% {
    transform: scale(0.99);
    filter: brightness(1.05);
  }
  50% {
    transform: scale(1.08);
    filter: brightness(1.15);
  }
  75% {
    transform: scale(1.01);
    filter: brightness(1.08);
  }
}
@keyframes pulse-glow-excited {
  0%, 100% {
    transform: scale(1.1);
    opacity: 0;
  }
  25% {
    transform: scale(1.1);
    opacity: 0.1;
  }
  35% {
    transform: scale(1.2);
    opacity: 0.4;
  }
  50% {
    transform: scale(1.3);
    opacity: 0.15;
  }
  75% {
    transform: scale(1.4);
    opacity: 0.02;
  }
  85% {
    transform: scale(1.45);
    opacity: 0;
  }
}
.custom-site-footer,
.site-footer,
.site-info {
  background-color: #f7f7f7;
}
.site-footer .footer-wrapper {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.site-footer .footer-wrapper .grid-four {
  gap: var(--s-24);
}
.site-footer .footer-wrapper .grid-four h5 {
  font-size: 14px;
}
.site-footer .footer-wrapper .grid-four p {
  margin-bottom: 0;
  font-size: 12px;
}
.site-footer .footer-wrapper .grid-four a {
  font-size: 12px;
  margin-bottom: 0.75em;
}
.site-footer .footer-wrapper .grid-four .box {
  margin-top: 20px;
}
.site-footer .footer-wrapper .grid-four .box a[class*=button] {
  font-size: 12px;
  padding: 8px 16px;
}
.site-footer .footer-wrapper .grid-four .button-wrapper {
  display: flex;
  align-items: end;
}
.site-footer .footer-wrapper .grid-four .wp-block-social-links .wp-social-link svg {
  height: 1.75em;
  width: 1.75em;
}
@media (max-width: 576px) {
  .site-footer .footer-wrapper .logo {
    display: none;
  }
  .site-footer .footer-wrapper .grid-four {
    grid-template-columns: repeat(2, 1fr);
  }
  .site-footer .footer-wrapper .grid-four h5 {
    font-size: 11px;
  }
  .site-footer .footer-wrapper .grid-four p,
  .site-footer .footer-wrapper .grid-four a {
    font-size: 9px;
  }
  .site-footer .footer-wrapper .box {
    margin-top: var(--s-16);
    flex-direction: column;
    gap: var(--s-16);
  }
  .site-footer .footer-wrapper .box .social {
    align-items: flex-start;
  }
}
div.custom-site-footer footer.site-info {
  font-size: 10px !important;
}
div.custom-site-footer footer.site-info a,
div.custom-site-footer footer.site-info p {
  font-size: 10px !important;
}
:root {
  --form-border-radius: 8px;
  --form-padding: 10px;
  --form-gap: 15px;
  --form-transition: all 0.3s ease;
  --error-color: #ef4444;
  --error-bg: #fef2f2;
  --error-border: #fecaca;
  --success-color: #22c55e;
  --success-bg: #f0fdf4;
  --warning-color: #f59e0b;
}
.form .form-wrapper {
  display: flex;
  align-items: flex-start;
  position: relative;
  gap: 50px;
}
.form .form-wrapper .left {
  position: sticky;
  top: 150px;
  flex: 1;
  background-color: rgb(245, 245, 247);
  border-radius: 16px;
  padding: 2em;
}
.form .form-wrapper .left .person img {
  width: 100px;
  height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 100px;
}
.form .form-wrapper .left .person .info p {
  margin-bottom: 0;
}
.form .form-wrapper .right {
  flex: 3;
}
@media (max-width: 768px) {
  .form .form-wrapper {
    flex-direction: column;
    gap: 30px;
  }
  .form .form-wrapper .left {
    position: unset;
    flex: 1;
    padding: 1.5em;
  }
  .form .form-wrapper .right {
    flex: 1;
    min-width: 100%;
  }
  .form .form-wrapper .right div[data-container=booking-container] {
    min-width: 100%;
  }
}
.wpcf7 .wpcf7-list-item {
  margin: 0 !important;
}
.wpcf7 .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: var(--form-gap);
}
.wpcf7 .wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
}
.wpcf7 .wpcf7-acceptance {
  display: block;
  position: relative;
  z-index: 2;
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin: 0;
  margin-right: 12px;
  margin-top: 0;
  cursor: pointer;
  position: relative;
  z-index: 3;
  flex-shrink: 0;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1.5px solid #d1d5db;
  border-radius: 4px;
  background: #ffffff;
  outline: none;
  transition: all 0.2s ease;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:hover {
  border-color: #9ca3af;
  background: #f9fafb;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:focus {
  border-color: #6b7280;
  box-shadow: 0 0 0 2px rgba(107, 114, 128, 0.1);
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:checked {
  background: #111827;
  border-color: #111827;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:checked:hover {
  background: #1f2937;
  border-color: #1f2937;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]:disabled:hover {
  background: #ffffff;
  border-color: #d1d5db;
}
@supports (-webkit-appearance: none) {
  .wpcf7 .wpcf7-acceptance input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    min-width: 18px;
    min-height: 18px;
  }
}
.wpcf7 .form-row {
  display: flex;
  flex-wrap: wrap;
}
.wpcf7 .form-row .half-width {
  width: 48%;
  margin-right: 4%;
}
.wpcf7 .form-row .half-width:last-child {
  margin-right: 0;
}
.wpcf7 .form-row .full-width {
  width: 100%;
}
.wpcf7 .form-row p {
  margin-bottom: 10px;
}
.wpcf7 .form-group {
  position: relative;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .wpcf7 .form-group {
    margin-bottom: 7.5px;
  }
}
.wpcf7 .form-group input,
.wpcf7 .form-group textarea,
.wpcf7 .form-group select {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border: 2px solid #ccc;
  border-radius: 8px;
  background-color: transparent;
  height: 56px;
  resize: none;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.wpcf7 .form-group input:hover,
.wpcf7 .form-group textarea:hover,
.wpcf7 .form-group select:hover {
  border: 2px solid;
  -o-border-image: var(--dbw-gradient) 1;
     border-image: var(--dbw-gradient) 1;
  border-radius: 8px;
}
.wpcf7 .form-group input:focus,
.wpcf7 .form-group textarea:focus,
.wpcf7 .form-group select:focus {
  background-color: transparent;
  border: 2px solid;
  -o-border-image: var(--dbw-gradient) 1;
     border-image: var(--dbw-gradient) 1;
  border-radius: 8px;
  outline: none;
}
.wpcf7 .form-group input:focus + label,
.wpcf7 .form-group textarea:focus + label,
.wpcf7 .form-group select:focus + label {
  top: -15px;
  font-size: 12px;
  background-color: white;
  padding: 0 5px;
  color: var(--c-red);
  z-index: 99;
}
.wpcf7 .form-group input.wpcf7-not-valid,
.wpcf7 .form-group textarea.wpcf7-not-valid,
.wpcf7 .form-group select.wpcf7-not-valid {
  border-color: var(--error-color);
}
.wpcf7 .form-group input.wpcf7-not-valid:hover, .wpcf7 .form-group input.wpcf7-not-valid:focus,
.wpcf7 .form-group textarea.wpcf7-not-valid:hover,
.wpcf7 .form-group textarea.wpcf7-not-valid:focus,
.wpcf7 .form-group select.wpcf7-not-valid:hover,
.wpcf7 .form-group select.wpcf7-not-valid:focus {
  border: 2px solid var(--error-color);
  -o-border-image: none;
     border-image: none;
}
.wpcf7 .form-group br {
  display: none;
}
.wpcf7 .form-group select.wpcf7-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 4 5%27><path fill=%27%23666%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/></svg>");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 12px;
  padding-right: 45px;
}
@media (max-width: 480px) {
  .wpcf7 .form-group select.wpcf7-select {
    padding: 12px;
    padding-right: 45px;
    font-size: 16px;
  }
}
.wpcf7 .form-group select.wpcf7-select option {
  padding: 8px;
  color: #333;
  background-color: white;
}
.wpcf7 .form-group label {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 16px;
  color: #6b7280;
  background: transparent;
  padding: 0 4px;
  pointer-events: none;
  transition: var(--form-transition);
  transform-origin: left top;
}
.wpcf7-form-control:not(:-moz-placeholder) + .wpcf7 .form-group label {
  transform: translateY(-28px) scale(0.85);
  color: #1d1d1d;
  background-color: white;
  padding: 2px 6px;
  font-weight: 500;
  z-index: 99;
}
.wpcf7 .form-group label.active, .wpcf7-form-control:focus + .wpcf7 .form-group label, .wpcf7-form-control:not(:placeholder-shown) + .wpcf7 .form-group label {
  transform: translateY(-28px) scale(0.85);
  color: #1d1d1d;
  background-color: white;
  padding: 2px 6px;
  font-weight: 500;
  z-index: 99;
}
.wpcf7 .form-group:has(select) label {
  position: static;
  display: block;
  margin-bottom: 8px;
  color: #374151;
  font-weight: 600;
  pointer-events: auto;
  transform: none;
  background: transparent;
  padding: 0;
}
.wpcf7 .form-group:has(select) label strong {
  font-weight: 600;
}
.wpcf7 .form-group:has(select.wpcf7-not-valid) label {
  color: var(--error-color);
}
.wpcf7 .form-group .dsgvo-text {
  font-size: 12px;
  line-height: 1.4;
}
.wpcf7 .form-group .dsgvo-text > * {
  font-size: 12px;
}
@media (max-width: 480px) {
  .wpcf7 .form-group .dsgvo-text {
    font-size: 13px;
  }
  .wpcf7 .form-group .dsgvo-text > * {
    font-size: 13px;
  }
}
.wpcf7 .form-group span.wpcf7-not-valid-tip {
  position: absolute;
  left: 10px;
  bottom: -30px;
  background-color: var(--error-color);
  color: white;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 6px;
  border-radius: 4px;
  margin: 0;
  z-index: 10;
  line-height: 1;
}
.wpcf7 .form-group span.wpcf7-not-valid-tip::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 8px;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-bottom: 3px solid var(--error-color);
}
.wpcf7 .form-group:has(input[type=text]) .wpcf7-not-valid-tip, .wpcf7 .form-group:has(input[type=email]) .wpcf7-not-valid-tip, .wpcf7 .form-group:has(input[type=tel]) .wpcf7-not-valid-tip {
  bottom: -30px;
}
.wpcf7 .form-group:has(textarea) .wpcf7-not-valid-tip {
  bottom: -30px;
}
.wpcf7 .form-group.full-width .wpcf7-not-valid-tip {
  bottom: -18px;
}
.wpcf7 .form-group .wpcf7-form-control-wrap[data-name=math-captcha] span.wpcf7-not-valid-tip {
  bottom: -25px;
  white-space: nowrap;
}
.wpcf7 .form-group.flex > p {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.wpcf7 .form-group.flex .wpcf7-acceptance {
  flex-shrink: 0;
  margin-top: 0;
  position: relative;
  z-index: 2;
}
.wpcf7 .form-group.flex .dsgvo-text {
  flex: 1;
  margin-top: 0;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=acceptance] {
  pointer-events: auto;
  position: relative;
  z-index: 2;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=acceptance] .wpcf7-acceptance {
  pointer-events: auto;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=acceptance] .wpcf7-acceptance input[type=checkbox] {
  pointer-events: auto;
}
.wpcf7 input[type=submit] {
  color: #ffffff;
  background: var(--dbw-gradient);
  border-radius: 8px;
  border: none;
  background-size: 200% 200%;
  background-position: center center;
  transition: background-position 0.5s ease, transform 0.3s ease, opacity 0.3s ease;
  padding: 10px 25px;
}
@media (max-width: 480px) {
  .wpcf7 input[type=submit] {
    width: 100%;
    padding: 12px 10px;
  }
}
.wpcf7 input[type=submit]:hover {
  background-position: right center;
  transform: scale(1.03);
}
.wpcf7 input[type=submit][disabled], .wpcf7 input[type=submit].disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  position: relative;
}
.wpcf7 input[type=submit][disabled]::after, .wpcf7 input[type=submit].disabled::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  pointer-events: none;
}
.wpcf7 .checkbox-group .wpcf7-checkbox label {
  display: block;
  font-size: 1rem;
  line-height: 1.4;
}
.wpcf7 .checkbox-group .wpcf7-checkbox .last {
  margin-bottom: 10px !important;
}
.wpcf7 .checkbox-group .wpcf7-not-valid-tip {
  position: static;
  margin-top: 8px;
  margin-left: 0;
  display: inline-block;
}
.wpcf7 .wpcf7-response-output {
  border: 2px dashed #d1d5db;
  background-color: #f9fafb;
  color: #6b7280;
  padding: 24px 20px;
  border-radius: 12px;
  margin: 20px 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  position: relative;
}
.wpcf7 .wpcf7-response-output::before {
  content: "ⓘ";
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #9ca3af;
  color: white;
  font-size: 16px;
  font-weight: bold;
  line-height: 32px;
  text-align: center;
  margin: 0 auto 12px auto;
}
@media (max-width: 480px) {
  .wpcf7 .wpcf7-response-output {
    padding: 20px 16px;
    margin: 16px 0;
  }
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border: 2px dashed #fca5a5;
  background-color: #fef2f2;
  color: #dc2626;
  border-color: #dc2626 !important;
  padding: 24px 20px;
  border-radius: 12px;
  margin: 20px 0;
  text-align: center;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  position: relative;
}
.wpcf7 form.invalid .wpcf7-response-output::before,
.wpcf7 form.unaccepted .wpcf7-response-output::before,
.wpcf7 form.payment-required .wpcf7-response-output::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 16px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23dc2626%27 viewBox=%270 0 20 20%27%3E%3Cpath fill-rule=%27evenodd%27 d=%27M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z%27 clip-rule=%27evenodd%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-color: transparent;
}
.wpcf7 form.sent .wpcf7-response-output {
  border: 2px dashed #86efac;
  background-color: #f0fdf4;
  color: #16a34a;
  padding: 24px 20px;
  border-radius: 12px;
  margin: 20px 0;
  text-align: center;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  position: relative;
}
.wpcf7 form.sent .wpcf7-response-output::before {
  content: "✓";
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #22c55e;
  color: white;
  font-size: 16px;
  font-weight: bold;
  line-height: 32px;
  text-align: center;
  margin: 0 auto 12px auto;
}
.wpcf7 .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 480px) {
  .wpcf7 .checkbox-group .wpcf7-checkbox {
    flex-direction: column;
    gap: 10px;
  }
  .wpcf7 .checkbox-group .wpcf7-checkbox .wpcf7-list-item {
    margin-bottom: 5px;
  }
  .wpcf7 .wpcf7-acceptance input[type=checkbox] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
  }
}
@keyframes spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .wpcf7 .wpcf7-acceptance input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    width: 18px;
    height: 18px;
    border: 1.5px solid #d1d5db;
    border-radius: 4px;
    background: #ffffff;
    position: relative;
    cursor: pointer;
  }
  .wpcf7 .wpcf7-acceptance input[type=checkbox]:checked {
    background: #111827;
    border-color: #111827;
  }
}
/* Flexbox */
.flex-two {
  display: flex;
  gap: 75px;
  margin: 50px auto;
  /* Breakpoint Settings */
}
.flex-two > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 1200px) {
  .flex-two {
    flex-direction: column;
  }
  .flex-two > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .flex-two > div p {
    text-align: left;
  }
}
.flex-two-content-width {
  /* Breakpoint Settings */
}
.flex-two-content-width .content {
  display: flex;
  gap: 75px;
  margin: 50px auto;
}
.flex-two-content-width .content > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 1200px) {
  .flex-two-content-width .content {
    flex-direction: column;
  }
  .flex-two-content-width .content > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .flex-two-content-width .content > div p {
    text-align: left;
  }
}
.flex-three {
  display: flex;
  gap: 20px;
  margin: 50px auto;
  /* Breakpoint Settings */
}
.flex-three > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1024px) {
  .flex-three {
    flex-direction: column;
  }
  .flex-three > div {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .flex-three > div p {
    text-align: center;
  }
}
.d-flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.d-flex-wrap-justify-spacearound {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-around;
}
/* Grid */
.grid-two {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  /* Breakpoint Settings */
}
.grid-two > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (max-width: 576px) {
  .grid-two {
    grid-template-columns: repeat(1, 1fr);
  }
}
.grid-three {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  /* Breakpoint Settings */
}
.grid-three .item {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (max-width: 1200px) {
  .grid-three {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .grid-three {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-three > div {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-grow: 1;
  }
  .grid-three > div p {
    text-align: center;
  }
}
.grid-three-auto {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(376px, 100%), 1fr));
  gap: 20px;
  /* Breakpoint Settings */
}
.grid-three-auto > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.grid-dev {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(390px, 100%), 1fr));
  gap: 16px; /* Abstand zwischen den Elementen */
}
.grid-four {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  /* Breakpoint Settings */
}
.grid-four .item {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (max-width: 1200px) {
  .grid-four {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .grid-four {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-four > div {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-grow: 1;
  }
}
.grid-eight-four {
  display: grid;
  grid-template-columns: 8fr 4fr;
  gap: 40px;
}
.grid-eight-four > div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .grid-eight-four {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .grid-eight-four > div {
    align-items: flex-start;
  }
}
@media (max-width: 576px) {
  .grid-eight-four {
    gap: 16px;
  }
}
.grid-six-six {
  display: grid;
  grid-template-columns: 6fr 6fr;
  gap: 40px;
  margin: 50px auto;
}
.grid-six-six > div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .grid-six-six {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media (max-width: 576px) {
  .grid-six-six {
    gap: 16px;
  }
}
.grid-nine-three {
  display: grid;
  grid-template-columns: 9fr 3fr;
  gap: 40px;
  margin: 50px auto;
}
.grid-nine-three > div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .grid-nine-three {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media (max-width: 576px) {
  .grid-nine-three {
    gap: 16px;
  }
}
.grid-four-eight {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: 40px;
  margin: 50px auto;
}
.grid-four-eight > div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .grid-four-eight {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media (max-width: 576px) {
  .grid-four-eight {
    gap: 16px;
  }
}
.grid-three-three-six {
  display: grid;
  grid-template-columns: 3fr 3fr 6fr;
  gap: 40px;
  margin: 50px auto;
}
.grid-three-three-six > div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .grid-three-three-six {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media (max-width: 576px) {
  .grid-three-three-six {
    gap: 16px;
  }
}
.grid-two-ten {
  display: grid;
  grid-template-columns: 2fr 10fr;
  gap: 40px;
  margin: 50px auto;
}
.grid-two-ten > div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .grid-two-ten {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media (max-width: 576px) {
  .grid-two-ten {
    gap: 16px;
  }
}
.services .grid--triptych {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr minmax(0, 200px) 1fr !important;
}
@media (min-width: 992px) {
  .services .grid--triptych .card {
    padding: var(--s-64) var(--s-32);
  }
}
@media (max-width: 992px) {
  .services .grid--triptych {
    grid-template-columns: 1fr !important;
  }
}
/* LAYOUT SKILL: Systematisches Container-Spacing
   Alle harten Pixelwerte wurden durch eine Stufe kleinere System-Variablen ersetzt.
*/
.section--regular {
  width: 80%;
  max-width: 1220px;
  margin-inline: auto;
  padding-block: var(--s-32);
}
.section--fullwidth {
  width: 100%;
  /* Vertikales Spacing: Eine Stufe reduziert für einen kompakteren Look */
  padding: var(--s-64) 10%;
}
@media (max-width: 1200px) {
  .section--fullwidth {
    padding: var(--s-32) 5%;
  }
}
@media (max-width: 576px) {
  .section--fullwidth {
    padding: var(--s-24) var(--s-16);
  }
}
.section--fullwidth > * {
  width: 80%;
  max-width: 1220px;
  margin-inline: auto;
  width: 100%;
}
.section--fullwidth .inner-wrapper {
  width: 80%;
  max-width: 1220px;
  margin-inline: auto;
  width: 100%;
}
.section--fullwidth .breakout-wrapper {
  width: 100vw;
  max-width: 100vw;
  margin-inline: unset;
}
.section--content__fullwidthmax {
  min-width: 100%;
}
.section--content__centered {
  text-align: center;
}
.section--content__centered * {
  margin-inline: auto;
}
/* Accent Background mit systematischer Innenpolsterung */
.bg-dbwm-gradient {
  min-height: 100vh;
  width: 100%;
  background: var(--dbw-gradient);
  background-attachment: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-32) var(--s-16);
}
.four-zero-four {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.four-zero-four h1 {
  font-size: 32px;
}
.section--grey {
  background-color: rgb(245, 245, 247);
}
.cta-section {
  gap: 40px;
  /* Breakpoints Settings */
}
.cta-section h2 {
  margin-bottom: 10px;
}
@media (max-width: 992px) {
  .cta-section {
    flex-direction: column;
  }
  .cta-section .gb-container {
    text-align: left;
  }
}
.seo-section {
  color: #cccccc;
  /* Breakpoints Settings */
}
.seo-section .flex-three > div {
  text-align: left;
  align-items: flex-start;
}
.seo-section .flex-three > div p {
  text-align: left;
}
@media (max-width: 992px) {
  .seo-section {
    flex-direction: column;
  }
  .seo-section .gb-container {
    text-align: left;
  }
}
section.dsgvo h2,
section.dsgvo h3,
section.dsgvo h4 {
  font-size: clamp(22px, 5vmin, 28px);
  margin-bottom: 0;
}
section.dsgvo h2 {
  font-weight: 700;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
}
section.dsgvo h2:first-of-type {
  margin-top: 0em;
}
section.dsgvo h3 {
  font-size: clamp(18px, 5vmin, 22px);
  margin-top: 1em;
  margin-bottom: 0.8em;
  font-weight: 600;
}
section.dsgvo h4 {
  font-size: clamp(18px, 5vmin, 22px);
  margin-top: 1em;
  margin-bottom: 0.8em;
  font-weight: 500;
}
section.dsgvo p {
  margin-bottom: 0.5em;
}
.page-id-2055 .content-area .gb-container--content__fullwidth > *,
.page-id-596 .content-area .gb-container--content__fullwidth > * {
  max-width: 448px;
}
.page-id-2055 img,
.page-id-596 img {
  background-color: #1d1d1f;
  border-radius: 1000px;
}
.page-id-2055 .custom-site-footer,
.page-id-596 .custom-site-footer {
  background-color: #1d1d1f;
}
.page-id-2055 .custom-site-footer .site-info,
.page-id-596 .custom-site-footer .site-info {
  color: #fff;
}
.page-id-2055 .card-container,
.page-id-596 .card-container {
  gap: 10px;
}
.page-id-2055 .card-container .card,
.page-id-596 .card-container .card {
  padding: 20px;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: background-color 0.3s ease;
  cursor: pointer;
}
.page-id-2055 .card-container .card:before,
.page-id-596 .card-container .card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 100px;
  padding: 2px;
  background: var(--dbw-gradient);
  background-size: 100% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 1;
  z-index: 1;
}
.page-id-2055 .card-container .card h4,
.page-id-596 .card-container .card h4 {
  margin: 0;
  color: #1d1d1d;
  font-size: clamp(15px, 3vmin, 17px);
  font-weight: bolder;
}
.page-id-2055 .card-container .card:hover, .page-id-2055 .card-container .card:active,
.page-id-596 .card-container .card:hover,
.page-id-596 .card-container .card:active {
  background: var(--dbw-gradient);
}
.page-id-2055 .card-container .card:hover h4, .page-id-2055 .card-container .card:active h4,
.page-id-596 .card-container .card:hover h4,
.page-id-596 .card-container .card:active h4 {
  color: #fff;
}
.page-id-2055 .card-container .card:hover h4 mark, .page-id-2055 .card-container .card:active h4 mark,
.page-id-596 .card-container .card:hover h4 mark,
.page-id-596 .card-container .card:active h4 mark {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}
.page-id-2055 .card-container .card.is-active,
.page-id-596 .card-container .card.is-active {
  background: var(--dbw-gradient);
  transform: translateY(0);
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  min-height: 72px;
}
.page-id-2055 .card-container .card.is-active h4,
.page-id-596 .card-container .card.is-active h4 {
  color: #fff;
}
.page-id-2055 .card-container .card.is-active h4 mark,
.page-id-596 .card-container .card.is-active h4 mark {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}
.page-id-2055 .card-container .card.is-active:hover,
.page-id-596 .card-container .card.is-active:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 15px rgba(234, 43, 31, 0.4), 0 0 25px rgba(59, 130, 246, 0.3);
}
.page-id-2055 .legal p,
.page-id-596 .legal p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.page-id-2055 .custom-site-footer,
.page-id-596 .custom-site-footer {
  display: none;
}
.hero--blog {
  margin-top: 100px;
}
.hero--blog .content .grid {
  gap: 40px;
  align-items: anchor-center;
}
.hero--blog .content .grid .top-bar-info {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.hero--blog .content .grid img {
  border-radius: 24px;
}
.hero--blog .content .grid .taxonomy-post_tag.with-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hero--blog .content .grid .taxonomy-post_tag.with-tag > a {
  display: inline-flex;
  color: #1d1d1f !important;
  align-items: center;
  padding: 4px 12px;
  border-radius: 10rem;
  border: 0.1rem solid #1d1d1f;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 500;
  will-change: color, background-color;
  transition: all 0.2s ease;
  text-decoration: none;
  pointer-events: none;
  cursor: default;
}
.hero--blog .content .grid .taxonomy-post_tag.with-tag > a:hover {
  background-color: #1d1d1f;
  color: white;
  transform: translateY(-1px);
}
.hero--blog .content .grid .taxonomy-post_tag.with-tag > .wp-block-post-terms__separator {
  display: none;
}
.taxonomy-post_tag a {
  color: #fff !important;
}
.taxonomy-post_tag > .wp-block-post-terms__separator {
  display: none;
}
.blog .blog-wrapper {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 50px;
}
.blog .blog-wrapper .left {
  position: sticky;
  top: 150px;
  flex: 2.125;
}
.blog .blog-wrapper .right {
  position: sticky;
  top: 150px;
  flex: 1;
  background-color: rgb(245, 245, 247);
  border-radius: 16px;
  padding: 1.5em;
}
@media (max-width: 1024px) {
  .blog .blog-wrapper .left {
    position: sticky;
    width: 100%;
  }
  .blog .blog-wrapper .right {
    display: none;
  }
}
.blog-looper .grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-16);
}
.blog-looper .grid .card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 2/3;
  overflow: hidden;
  border-radius: var(--s-24);
  padding: 1.5em;
  color: #fff;
  background-color: black;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(0);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
.blog-looper .grid .card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  opacity: 0.6;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale(1);
}
.blog-looper .grid .card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.7) 100%);
  z-index: 1;
  transition: opacity 0.4s ease;
}
.blog-looper .grid .card > *:not(img) {
  position: relative;
  z-index: 2;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.blog-looper .grid .card .taxonomy-post_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 1em;
  transform: translateY(0);
  opacity: 1;
  transition: all 0.3s ease 0.1s;
}
.blog-looper .grid .card .taxonomy-post_tag a {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 10rem;
  padding: 6px 14px;
  font-size: 0.8rem;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  text-decoration: none;
  pointer-events: none;
  cursor: default;
  transition: all 0.3s ease;
}
@media (min-width: 576px) and (max-width: 992px) {
  .blog-looper .grid .card .taxonomy-post_tag {
    gap: 4px;
  }
  .blog-looper .grid .card .taxonomy-post_tag a {
    padding: 4px 8px;
    font-size: 0.6rem;
  }
}
.blog-looper .grid .card .content {
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  position: relative;
}
.blog-looper .grid .card .content h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 3.5vmin, 24px);
}
@media (min-width: 576px) and (max-width: 992px) {
  .blog-looper .grid .card .content h3 {
    font-size: clamp(14px, 3.5vmin, 20px);
  }
}
.blog-looper .grid .card .card--footer {
  margin-top: 1em;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
  transform: translateY(0);
  transition: all 0.3s ease 0.05s;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.blog-looper .grid .card .card--footer p {
  color: #fff;
  margin: 0;
  font-weight: 500;
}
.blog-looper .grid .card .card--footer .button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  background: var(--dbw-gradient);
  border: none;
}
.blog-looper .grid .card .card--footer .button-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #fff !important;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease;
  transform: rotate(-45deg);
}
.blog-looper .grid .card .card--footer .button-icon svg:hover {
  transform: rotate(0deg);
}
@media (max-width: 992px) {
  .blog-looper .grid .card .card--footer p {
    color: #fff;
    margin: 0;
    font-weight: 500;
  }
}
.blog-looper .grid .card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
}
.blog-looper .grid .card:hover::before {
  opacity: 0;
}
@media (max-width: 768px) {
  .blog-looper .grid .card {
    aspect-ratio: 1/1;
    padding: 1.25em;
  }
  .blog-looper .grid .card:hover {
    transform: translateY(-6px);
  }
  .blog-looper .grid .card .content h3 a {
    font-size: clamp(16px, 4vmin, 20px);
  }
}
@media (max-width: 992px) {
  .blog-looper .grid {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .blog-looper .grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
  }
}
@media (max-width: 576px) {
  .blog-looper .grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .blog-looper .grid .card {
    aspect-ratio: 1.1/1;
  }
}
.single-post .site h1 {
  font-size: clamp(32px, 7vmin, 52px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: 2rem;
  color: #1d1d1d;
}
@media (max-width: 768px) {
  .single-post .site h1 {
    font-size: clamp(28px, 6vmin, 38px);
    margin-bottom: 1.5rem;
  }
}
.single-post .site .blog .blog-wrapper .left h2 {
  font-size: clamp(26px, 5.5vmin, 38px);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 2.5rem 0 1.25rem 0;
  color: rgb(0, 5, 1);
}
h1 + .single-post .site .blog .blog-wrapper .left h2 {
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  .single-post .site .blog .blog-wrapper .left h2 {
    font-size: clamp(22px, 5vmin, 28px);
    margin: 2rem 0 1rem 0;
  }
}
@media (max-width: 576px) {
  .single-post .site .blog .blog-wrapper .left h2 {
    font-size: clamp(22px, 5vmin, 28px);
    padding: 2.5rem 0 1rem 0;
  }
}
.single-post .site .blog .blog-wrapper .left h3 {
  font-size: clamp(20px, 4.5vmin, 28px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
  margin: 2rem 0 1rem 0;
  color: rgb(0, 5, 1);
}
@media (max-width: 768px) {
  .single-post .site .blog .blog-wrapper .left h3 {
    font-size: clamp(18px, 4vmin, 22px);
    margin: 1.5rem 0 0.75rem 0;
  }
}
.single-post .site .blog .blog-wrapper .left h4 {
  font-size: clamp(18px, 4vmin, 22px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 1.5rem 0 0.75rem 0;
  color: rgba(0, 5, 1, 0.7);
}
@media (max-width: 768px) {
  .single-post .site .blog .blog-wrapper .left h4 {
    font-size: clamp(16px, 3.5vmin, 19px);
    margin: 1.25rem 0 0.5rem 0;
  }
}
.single-post .site .blog .blog-wrapper .left h5 {
  font-size: clamp(16px, 3.5vmin, 18px);
  font-weight: 600;
  line-height: 1.35;
  margin: 1.25rem 0 0.5rem 0;
  color: rgba(0, 5, 1, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.8rem;
}
.single-post .site .blog .blog-wrapper .left h6 {
  font-size: clamp(14px, 3vmin, 16px);
  font-weight: 600;
  line-height: 1.4;
  margin: 1rem 0 0.5rem 0;
  color: rgba(0, 5, 1, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.single-post .site .blog .blog-wrapper .left p {
  font-size: clamp(16px, 2.5vmin, 18px);
  line-height: 1.65;
  margin-bottom: 1.25rem;
  color: rgba(0, 5, 1, 0.7);
  font-weight: 400;
  font-feature-settings: "liga", "kern";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1 + .single-post .site .blog .blog-wrapper .left p, h2 + .single-post .site .blog .blog-wrapper .left p, h3 + .single-post .site .blog .blog-wrapper .left p, h4 + .single-post .site .blog .blog-wrapper .left p {
  margin-top: 0;
}
.single-post .site .blog .blog-wrapper .left p:first-of-type {
  font-size: clamp(17px, 2.8vmin, 20px);
  font-weight: 450;
  line-height: 1.6;
  color: rgb(0, 5, 1);
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .single-post .site .blog .blog-wrapper .left p {
    font-size: clamp(15px, 2.5vmin, 16px);
    line-height: 1.6;
    margin-bottom: 1rem;
  }
  .single-post .site .blog .blog-wrapper .left p:first-of-type {
    font-size: clamp(16px, 2.8vmin, 18px);
    margin-bottom: 1.25rem;
  }
}
.single-post .site .blog .blog-wrapper .left p.intro {
  font-size: clamp(18px, 3vmin, 21px);
  font-weight: 450;
  line-height: 1.55;
  color: rgb(0, 5, 1);
  margin-bottom: 2rem;
}
.single-post .site .blog .blog-wrapper .left p.highlight {
  background: linear-gradient(135deg, rgba(233, 30, 99, 0.08), rgba(103, 58, 183, 0.08));
  padding: 1.25rem;
  border-radius: 16px;
  border-left: 3px solid;
  -o-border-image: var(--dbw-gradient) 1;
     border-image: var(--dbw-gradient) 1;
  font-weight: 450;
  margin: 1.5rem 0;
}
.single-post .site .blog .blog-wrapper .left a:not(.taxonomy-post_tag *):not([class*=button]) {
  color: rgb(0, 5, 1);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(233, 30, 99, 0.4);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: all 0.25s ease;
}
.single-post .site .blog .blog-wrapper .left a:not(.taxonomy-post_tag *):not([class*=button]):hover {
  text-decoration-color: #e91e63;
  color: #e91e63;
  transform: translateY(-1px);
}
.single-post .site .blog .blog-wrapper .left ul,
.single-post .site .blog .blog-wrapper .left ol {
  margin: 1.25rem 0;
  padding-left: 1.75rem;
  font-size: clamp(15px, 2.5vmin, 17px);
  line-height: 1.6;
}
.single-post .site .blog .blog-wrapper .left ul li,
.single-post .site .blog .blog-wrapper .left ol li {
  margin-bottom: 0.5rem;
  color: rgba(0, 5, 1, 0.7);
}
.single-post .site .blog .blog-wrapper .left ul li::marker,
.single-post .site .blog .blog-wrapper .left ol li::marker {
  color: #e91e63;
  font-weight: 600;
}
.single-post .site .blog .blog-wrapper .left ul ul,
.single-post .site .blog .blog-wrapper .left ul ol,
.single-post .site .blog .blog-wrapper .left ol ul,
.single-post .site .blog .blog-wrapper .left ol ol {
  margin: 0.5rem 0;
  font-size: 0.95em;
}
.single-post .site .blog .blog-wrapper .left blockquote {
  margin: 2rem 0;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(233, 30, 99, 0.04), rgba(103, 58, 183, 0.04));
  border-radius: 16px;
  border-left: 3px solid;
  -o-border-image: var(--dbw-gradient) 1;
     border-image: var(--dbw-gradient) 1;
  font-size: clamp(16px, 2.8vmin, 19px);
  font-style: italic;
  line-height: 1.55;
  color: rgb(0, 5, 1);
  font-weight: 450;
}
.single-post .site .blog .blog-wrapper .left blockquote p {
  margin-bottom: 0;
  font-size: inherit;
}
.single-post .site .blog .blog-wrapper .left blockquote cite {
  display: block;
  margin-top: 1rem;
  font-size: 0.875em;
  font-style: normal;
  font-weight: 600;
  color: rgba(0, 5, 1, 0.7);
}
.single-post .site .blog .blog-wrapper .left blockquote cite:before {
  content: "— ";
}
.single-post .site .blog .blog-wrapper .left code {
  font-family: "SF Mono", Monaco, monospace;
  font-size: 0.85em;
  background: rgba(0, 0, 0, 0.05);
  padding: 0.2em 0.4em;
  border-radius: 3px;
  color: #e91e63;
  font-weight: 500;
}
.single-post .site .blog .blog-wrapper .left pre {
  background: #1a1a1a;
  color: #fff;
  padding: 1.25rem;
  border-radius: 16px;
  overflow-x: auto;
  margin: 1.5rem 0;
  font-size: 0.825rem;
  line-height: 1.45;
}
.single-post .site .blog .blog-wrapper .left pre code {
  background: none;
  padding: 0;
  color: inherit;
}
.single-post .site .blog .blog-wrapper .left img {
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}
.single-post .site .blog .blog-wrapper .left img:hover {
  transform: translateY(-2px);
}
.single-post .site .blog .blog-wrapper .left hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 30, 99, 0.25), transparent);
  margin: 2.5rem 0;
}
.blog-article-section {
  position: relative;
  border-radius: 16px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(34, 35, 38, 0.1);
}
.blog-article-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 36px;
  background: rgba(248, 249, 250, 0.8);
  border-bottom: 1px solid rgba(34, 35, 38, 0.05);
  border-radius: 12px 12px 0 0;
  z-index: 1;
}
.blog-article-section .header {
  position: absolute;
  top: 50px;
  right: 20px;
  z-index: 10;
}
.blog-article-section .header svg {
  width: 300px;
  height: 36px;
  display: block;
}
.blog-article-section .dynamic-entry-content {
  position: relative;
  padding: 120px 2rem 2rem 2rem;
  z-index: 2;
}
.blog-article-section .dot {
  position: absolute;
  width: 6px;
  height: 6px;
  background: rgba(202, 203, 206, 0.4);
  border-radius: 50%;
  z-index: 15;
}
.blog-article-section .dot--top-left {
  top: 12px;
  left: 12px;
}
.blog-article-section .dot--top-right {
  top: 12px;
  right: 12px;
}
.blog-article-section .dot--bottom-left {
  bottom: 12px;
  left: 12px;
}
.blog-article-section .dot--bottom-right {
  bottom: 12px;
  right: 12px;
}
@media (max-width: 768px) {
  .blog-article-section {
    margin: 1rem;
  }
  .blog-article-section .header {
    right: 15px;
  }
  .blog-article-section .header svg {
    width: 250px;
  }
  .blog-article-section .dynamic-entry-content {
    padding: 110px 1.5rem 1.5rem 1.5rem;
  }
}
@media (max-width: 400px) {
  .blog-article-section .header {
    right: 10px;
  }
  .blog-article-section .header svg {
    width: 200px;
  }
  .blog-article-section .dynamic-entry-content {
    padding: 100px 1rem 1.5rem 1rem;
  }
}
.blog-article-section.left {
  margin-left: 0;
  margin-right: auto;
}
.author-box {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.5rem;
  margin: 3rem 0 1.5rem;
  background-color: rgb(245, 245, 247);
  border-radius: 12px;
}
.author-box__avatar.author-box__avatar {
  flex-shrink: 0;
  width: 96px;
  height: 96px;
  border-radius: 50% !important;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.author-box__body {
  flex: 1;
  min-width: 0;
}
.author-box__text {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  line-height: 1.55;
}
.author-box__link.author-box__link {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 500;
}
.author-box__link.author-box__link:hover {
  text-decoration: none;
}
@media (max-width: 600px) {
  .author-box {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }
}
/* ==========================================================================
   LOKALE TOKENS
   ========================================================================== */
/* ==========================================================================
   SINGLE ARBEIT – HERO
   ========================================================================== */
.single-arbeit {
  /* ==========================================================================
     WORK CONTENT (Editorial Body)
     ========================================================================== */
}
.single-arbeit .hero--work {
  padding-top: var(--s-128);
  /* Hero Media */
}
@media (min-width: 992px) {
  .single-arbeit .hero--work {
    padding-top: var(--s-256);
  }
}
.single-arbeit .hero--work .content {
  margin: 0 auto;
  /* Key Facts Grid */
}
.single-arbeit .hero--work .content h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 0.5em;
}
.single-arbeit .hero--work .content h2 {
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  max-width: 60ch;
  margin: 0 auto 3.5rem;
}
.single-arbeit .hero--work .content .key-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-16);
  margin-bottom: var(--s-64);
}
@media (max-width: 992px) {
  .single-arbeit .hero--work .content .key-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-32);
  }
}
.single-arbeit .hero--work .content .key-grid > div {
  max-width: 77%;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.single-arbeit .hero--work .content .key-grid > div h3 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.25rem;
}
.single-arbeit .hero--work .content .key-grid > div p {
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}
.single-arbeit .hero--work .media {
  margin: 0 auto;
}
.single-arbeit .hero--work .media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--s-32);
}
.single-arbeit .work--content {
  margin: 0 auto;
}
.single-arbeit .work--content > * {
  margin-top: 0;
  margin-bottom: var(--s-24);
}
.single-arbeit .work--content p {
  font-size: 1.125rem;
  line-height: 1.7;
  color: #333333;
}
.single-arbeit .work--content p.p--big {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  line-height: 1.5;
  font-weight: 500;
  color: #111111;
  margin-bottom: 2.5rem;
}
.single-arbeit .work--content h2,
.single-arbeit .work--content h3,
.single-arbeit .work--content h4 {
  color: #111111;
  margin-top: var(--s-64);
  margin-bottom: 0.25rem;
  line-height: 1.3;
}
.single-arbeit .work--content .media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--s-32);
  margin-top: var(--s-64);
  margin-bottom: var(--s-16);
}
.single-arbeit .work--content .media .image-description {
  font-size: 0.9rem;
  font-weight: 400;
  color: #666666;
  margin: 0 0 4rem;
  text-align: center;
  display: block;
}
/* ==========================================================================
   QUOTE CARD
   ========================================================================== */
.quote-wrapper {
  /* Card ausblenden wenn kein Inhalt vorhanden */
}
.quote-wrapper:not(:has(.quote-text)), .quote-wrapper:has(.quote-text:empty) {
  display: none !important;
}
.quote-wrapper .quote-card {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  padding: 48px;
  background: #ffffff;
  border: 1px solid #e8e8ed;
  border-radius: 24px;
  /* Dekoratives Anführungszeichen */
}
.quote-wrapper .quote-card::after {
  content: "“";
  position: absolute;
  top: -20px;
  right: 30px;
  z-index: 0;
  font-family: Georgia, serif;
  font-size: 400px;
  line-height: 1;
  color: var(--current-brand-color);
  opacity: 0.06;
  pointer-events: none;
}
.quote-wrapper .quote-card .quote-content {
  position: relative;
  z-index: 1;
}
.quote-wrapper .quote-card .quote-text {
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 35px;
}
.quote-wrapper .quote-card .quote-footer {
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 1;
  padding-top: 25px;
  border-top: 1px solid #e8e8ed;
}
.quote-wrapper .quote-card .quote-avatar {
  flex-shrink: 0;
  width: 68px;
  height: 68px;
  overflow: hidden;
  border: 2px solid var(--current-brand-color);
  border-radius: 50%;
  background: #ffffff;
}
.quote-wrapper .quote-card .quote-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.quote-wrapper .quote-card .quote-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.quote-wrapper .quote-card .quote-meta .quote-author {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: normal;
  color: #111111;
  margin: 0 0 4px;
}
.quote-wrapper .quote-card .quote-meta .quote-position {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--current-brand-color);
  opacity: 0.9;
  margin: 0;
}
@media (max-width: 768px) {
  .quote-wrapper .quote-card {
    padding: 35px 25px;
    margin: 3rem 0;
  }
  .quote-wrapper .quote-card::after {
    top: -10px;
    right: 10px;
  }
  .quote-wrapper .quote-card .quote-text {
    margin-bottom: 15px;
  }
  .quote-wrapper .quote-card .quote-footer {
    gap: 15px;
  }
}
/* ==========================================================================
   CTA SECTION
   ========================================================================== */
.cta-section {
  margin: 2em auto 2rem;
}
.cta-section .cta-box {
  max-width: 1000px;
  margin: 0 auto;
  padding: 4rem 3rem;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.cta-section .cta-question {
  position: relative;
  z-index: 1;
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #111111;
  max-width: 14ch;
  margin: 0 auto 3.5rem;
}
.cta-section .cta-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 24px 64px;
  font-size: 1.125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background-color: var(--current-brand-color);
  border-radius: 100px;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.cta-section .cta-link a {
  color: white;
}
.cta-section .cta-link:hover {
  transform: scale(1.05);
}
.cta-section .cta-link:hover a {
  color: white;
}
.cta-section .cta-link:active {
  transform: scale(0.97);
}
@media (max-width: 768px) {
  .cta-section .cta-box {
    padding: 5rem 1.5rem;
  }
  .cta-section .cta-question {
    margin-bottom: 2.5rem;
  }
  .cta-section .cta-link {
    padding: 20px 48px;
    font-size: 1rem;
  }
}
/* ==========================================================================
   OUR WORK – GRID & CARDS (SEO Optimized with <img> Tags)
   ========================================================================== */
#main .our-work {
  /* ── LOOPER GRID ─────────────────────────────────────────── */
  /* ── CARD ────────────────────────────────────────────────── */
}
#main .our-work .inner-wrapper .cta {
  margin-top: var(--s-64);
}
#main .our-work .inner-wrapper .cta a {
  text-transform: uppercase;
  padding: var(--s-16) var(--s-32);
}
#main .our-work--looper {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--s-16);
}
#main .our-work--looper.our-work--looper--compact {
  grid-template-columns: repeat(3, 1fr);
}
#main .our-work--looper.our-work--looper--compact .our-work--looper__card {
  grid-column: span 1;
  aspect-ratio: 3/4;
}
@media (max-width: 900px) {
  #main .our-work--looper.our-work--looper--compact {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--s-8);
  }
  #main .our-work--looper.our-work--looper--compact .our-work--looper__card {
    aspect-ratio: 1;
  }
}
@media (max-width: 480px) {
  #main .our-work--looper.our-work--looper--compact {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  #main .our-work--looper {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--s-8);
  }
  #main .our-work--looper .our-work--looper__card {
    grid-column: span 1 !important;
    aspect-ratio: 1 !important;
  }
}
@media (max-width: 480px) {
  #main .our-work--looper {
    grid-template-columns: 1fr;
  }
}
#main .our-work--looper__card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden; /* Wichtig für die abgerundeten Ecken & Zoom-Begrenzung */
  border-radius: var(--s-24);
  cursor: pointer;
  /* Das neue Herzstück: Das echte Bild statt Background-Image */
  /* Hover: Jetzt wird direkt das Bild skaliert */
  /* Desktop Grid-Logik */
  /* HINWEIS: &::before (altes Hintergrundbild) wurde entfernt */
  /* Gradient Overlay bleibt für Lesbarkeit der Texte */
  /* Alle Texte nach vorne schieben */
  /* Stretch-Link: Ganze Card klickbar machen */
}
#main .our-work--looper__card img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  pointer-events: none;
  /* Hover-Vorbereitung */
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s ease;
  will-change: transform;
}
#main .our-work--looper__card:hover img {
  transform: scale(1.07);
}
#main .our-work--looper__card:nth-child(1), #main .our-work--looper__card:nth-child(2) {
  grid-column: span 3;
  aspect-ratio: 3/4;
}
#main .our-work--looper__card:nth-child(n+3) {
  grid-column: span 2;
  aspect-ratio: 1/1.2;
}
#main .our-work--looper__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.68) 100%);
  pointer-events: none;
}
#main .our-work--looper__card > * {
  z-index: 2;
}
#main .our-work--looper__card > p.tag {
  margin: var(--s-24) 0 0 var(--s-24);
}
#main .our-work--looper__card > p.company {
  margin: auto 0 0;
  padding: 0 var(--s-24) var(--s-8);
}
#main .our-work--looper__card > p.company a {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.58);
  text-decoration: none;
  transition: color 0.25s ease;
}
#main .our-work--looper__card > p.company a:hover {
  color: rgba(255, 255, 255, 0.9);
}
#main .our-work--looper__card > h2.gb-text {
  margin: 0;
  padding: 0 var(--s-24) var(--s-24);
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: #ffffff;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.25);
}
#main .our-work--looper__card.stretch-link > p.gb-text a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
}
.generate-back-to-top {
  border-radius: 100%;
  background-color: var(--c-red) !important;
  border: 1px solid #fff;
}
/* Generall WP Swiper Setting */
.swiper-container {
  max-width: 90%;
}
.swiper-button-next,
.swiper-button-prev {
  color: var(--c-red);
}
.swiper-pagination-bullet-active {
  background-color: var(--c-red);
}
.swiper-pagination {
  bottom: -50px !important;
}
/* Custom WP Swiper Setting */
.slider-partner {
  margin-top: 75px;
  margin-bottom: 75px;
}
.slider-partner .wp-swiper__slide {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.slider-partner .wp-swiper__slide .gb-block-image img {
  max-height: 1cpx;
  width: auto;
}
:root {
  --banner-height: 0px;
}
.sub-hero-banner {
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #1d1d1f;
  color: #fff;
}
.sub-hero-banner h3 {
  margin-bottom: 0;
}
.full-with-banner {
  position: relative;
  min-height: 70vh;
  display: flex;
  gap: 0;
  flex-direction: column;
  align-items: unset;
  justify-content: center;
  /* Breakpoint Settings */
}
.full-with-banner .content {
  color: #fff;
  position: relative;
}
.full-with-banner .content h2 {
  color: #fff;
}
.full-with-banner .content > * {
  max-width: 50%;
}
.full-with-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0) 15%, black 65%);
  z-index: 0;
}
@media (max-width: 1024px) {
  .full-with-banner .content > * {
    max-width: 100%;
  }
  .full-with-banner::before {
    content: "";
    background: linear-gradient(to left, rgba(0, 0, 0, 0) 15%, black 45%);
  }
}
.info-banner {
  background-color: #1d1d1f;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 998;
  padding: 10px 20px;
  display: none;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.info-banner.is-visible {
  display: block;
}
.info-banner.is-closing {
  transform: translateY(-100%);
  opacity: 0;
}
.info-banner .content-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.info-banner .content-wrapper .content--desktop {
  display: flex;
  align-items: center;
  gap: 15px;
}
.info-banner .content-wrapper .content--mobile {
  display: none;
  align-items: center;
  gap: 10px;
}
@media (max-width: 992px) {
  .info-banner .content-wrapper {
    padding-right: 35px;
  }
  .info-banner .content-wrapper .content--desktop {
    display: none;
  }
  .info-banner .content-wrapper .content--mobile {
    display: flex;
  }
}
.info-banner .badge {
  background: var(--dbw-gradient);
  color: white !important;
  padding: 4px 12px;
  border-radius: 6px;
  font-weight: 800 !important;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 !important;
  display: inline-block;
  position: relative;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  flex-shrink: 0;
}
.info-banner .badge::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
  border-radius: 6px 6px 0 0;
  pointer-events: none;
}
@media (max-width: 576px) {
  .info-banner .badge {
    font-size: 11px;
    padding: 4px 10px;
  }
}
.info-banner p {
  color: #fff;
  margin: 0 !important;
}
.info-banner p.has-text-align-left {
  flex: 1;
  line-height: 1.4;
}
@media (max-width: 576px) {
  .info-banner p.has-text-align-left {
    line-height: 1.3;
  }
}
.info-banner p strong {
  font-weight: 700;
}
.info-banner p a {
  transition: none;
  cursor: pointer;
  color: #fff !important;
  font-weight: 700;
  text-decoration: underline !important;
  margin-left: 5px;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.info-banner p a:hover {
  text-decoration: none;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .info-banner p {
    font-size: 14px;
  }
  .info-banner p a {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  .info-banner p {
    font-size: 11px;
  }
  .info-banner p a {
    font-size: 11px;
  }
}
.info-banner .icon-container {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  z-index: 10;
}
.info-banner .icon-container .close-btn {
  background: transparent !important;
  border: none !important;
  padding: 8px !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
.info-banner .icon-container .close-btn:hover {
  transform: scale(1.1);
  opacity: 0.8;
}
.info-banner .icon-container .close-btn .gb-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.info-banner .icon-container .close-btn .gb-icon svg {
  width: 14px !important;
  height: 14px !important;
  fill: #fff;
}
@media (max-width: 576px) {
  .info-banner .icon-container {
    right: 10px;
  }
}
@media (max-width: 576px) {
  .info-banner {
    padding: 8px 15px;
  }
}
body.banner-closed .site-header {
  top: 0;
}
body.banner-closed main,
body.banner-closed .site-content {
  padding-top: 0;
}
.key-navigation {
  /* Breakpoint Settings */
}
.key-navigation .card {
  min-height: 500px;
  position: relative;
  background-size: cover;
  transition: background-size 0.5s ease;
  width: 100%;
  display: flex;
  gap: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
}
.key-navigation .card h2 {
  color: #fff;
  z-index: 2;
  transition: transform 0.5s ease;
}
.key-navigation .card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 100%);
  opacity: 0.7;
  transition: opacity 0.5s ease;
  z-index: 1;
}
.key-navigation .card:hover::after {
  opacity: 1;
}
.key-navigation .card:hover h2 {
  transform: translateY(-10px);
}
@media (max-width: 768px) {
  .key-navigation .card {
    min-height: 400px;
  }
}
.text-image {
  /* Breakpoints Settings */
}
.text-image .content {
  display: flex;
  align-items: center;
  gap: 60px;
}
.text-image .content .image {
  flex: 1;
}
.text-image .content .text {
  flex: 1;
}
@media (max-width: 1024px) {
  .text-image .content {
    flex-direction: column;
  }
  .text-image .content .text {
    order: 1;
  }
  .text-image .content .image {
    order: 2;
  }
}
.services {
  display: flex;
  gap: 24px;
}
.services .top {
  margin-bottom: 40px;
}
.services .top h2 {
  margin-bottom: 12px;
}
.services .card {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: var(--s-32) var(--s-24);
  border-radius: var(--s-32);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.services .card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: var(--s-32);
  padding: 2px;
  background: var(--dbw-gradient);
  background-size: 100% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 1;
  z-index: 1;
}
.services .card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 24px;
  z-index: 0;
  background: linear-gradient(135deg, rgba(234, 43, 31, 0.03), rgba(255, 60, 111, 0.03), rgba(255, 79, 221, 0.03), rgba(126, 86, 255, 0.03), rgba(0, 178, 255, 0.03));
  pointer-events: none;
}
.services .card:hover {
  transform: scale(1.01);
}
.services .card h3 {
  font-size: var(--fs-h5);
  line-height: var(--lh-h5);
  letter-spacing: var(--ls-h5);
  margin-bottom: var(--s-16);
}
.services .card .icon,
.services .card h3,
.services .card p,
.services .card a {
  position: relative;
  z-index: 2;
}
.services .card p {
  margin-bottom: 20px;
}
.services .card p:last-child {
  margin-bottom: 0;
}
.services .card a {
  margin-top: auto;
  align-self: flex-start;
}
@media (max-width: 576px) {
  .services .card {
    padding: var(--s-24) var(--s-16);
  }
}
.services--white .card {
  background: #fff;
}
.services--dark .card {
  background: rgb(29, 29, 31);
}
.services--dark .card h3,
.services--dark .card a,
.services--dark .card p {
  color: #fff;
}
.services--dark .card a[class*=button] {
  border: 1px solid white !important;
}
.services--dark .card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.gb-accordion {
  border-bottom: 1px solid rgb(245, 245, 247);
}
.testimonial-slider-container {
  width: 100%;
  position: relative;
}
.testimonial-slider-container .inner-wrapper h2 {
  margin-bottom: var(--s-32);
}
.testimonial-slider-container .inner-wrapper h2 .has-accent-color {
  color: #ff4d00;
  background-color: transparent;
}
.testimonial-slider-container .testimonial-wrapper.breakout-wrapper {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.testimonial-slider-container .testimonial-wrapper.breakout-wrapper::-webkit-scrollbar {
  display: none;
}
.testimonial-slider-container .additional-container {
  position: relative;
  overflow: visible;
  width: 100%;
}
.testimonial-slider-container .testimonial-slider {
  display: flex;
  gap: var(--s-16);
  padding: var(--s-24);
  width: -moz-max-content;
  width: max-content;
  padding-right: calc(50vw - 1220px / 2);
  padding-left: calc(50vw - 1220px / 2);
}
.testimonial-slider-container .card.testimonial-slide {
  flex: 0 0 auto;
  width: 744px;
  scroll-snap-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: rgb(245, 245, 247);
  border-radius: var(--s-32);
  overflow: hidden;
  position: relative;
}
.testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner {
  height: 100%;
  transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
  position: relative;
  padding: var(--s-64) var(--s-32);
  display: flex;
  flex-direction: column;
}
@media (max-width: 576px) {
  .testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner {
    padding: var(--s-24) var(--s-16);
  }
}
.testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner .content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner .content h4 {
  font-size: 20px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.022em;
  margin-bottom: 1.5rem;
}
.testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner .content .p--medium {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 2rem;
  flex-grow: 1;
}
.testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner .content .p--small {
  font-size: 14px;
  opacity: 0.7;
  margin-top: 0.25rem;
}
.testimonial-slider-container .card.testimonial-slide .testimonial-slide-inner .content > :nth-child(3) {
  margin-bottom: 0;
}
.testimonial-slider-container .card.testimonial-slide:hover {
  transform: scale(1.01);
}
.testimonial-slider-container .quote-card {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  padding: 48px;
  background: #ffffff;
  border: 1px solid #e8e8ed;
  border-radius: 24px;
  /* Dekoratives Anführungszeichen */
  width: 744px;
  --current-brand-color: var(--brand-color);
  display: flex;
  flex-direction: column;
}
.testimonial-slider-container .quote-card::after {
  content: "“";
  position: absolute;
  top: -20px;
  right: 30px;
  z-index: 0;
  font-family: Georgia, serif;
  font-size: 400px;
  line-height: 1;
  color: var(--current-brand-color);
  opacity: 0.06;
  pointer-events: none;
}
.testimonial-slider-container .quote-card .quote-content {
  position: relative;
  z-index: 1;
}
.testimonial-slider-container .quote-card .quote-text {
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 35px;
}
.testimonial-slider-container .quote-card .quote-footer {
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 1;
  padding-top: 25px;
  border-top: 1px solid #e8e8ed;
}
.testimonial-slider-container .quote-card .quote-avatar {
  flex-shrink: 0;
  width: 68px;
  height: 68px;
  overflow: hidden;
  border: 2px solid var(--current-brand-color);
  border-radius: 50%;
  background: #ffffff;
}
.testimonial-slider-container .quote-card .quote-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.testimonial-slider-container .quote-card .quote-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.testimonial-slider-container .quote-card .quote-meta .quote-author {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: normal;
  color: #111111;
  margin: 0 0 4px;
}
.testimonial-slider-container .quote-card .quote-meta .quote-position {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--current-brand-color);
  opacity: 0.9;
  margin: 0;
}
@media (max-width: 768px) {
  .testimonial-slider-container .quote-card {
    padding: 35px 25px;
    margin: 3rem 0;
  }
  .testimonial-slider-container .quote-card::after {
    top: -10px;
    right: 10px;
  }
  .testimonial-slider-container .quote-card .quote-text {
    margin-bottom: 15px;
  }
  .testimonial-slider-container .quote-card .quote-footer {
    gap: 15px;
  }
}
.testimonial-slider-container .quote-card > div {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
}
.testimonial-slider-container .quote-card .quote-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.testimonial-slider-container .quote-card .quote-footer {
  margin-top: auto;
}
@media (max-width: 768px) {
  .testimonial-slider-container .quote-card {
    width: 400px;
  }
  .testimonial-slider-container .quote-card .quote-text {
    font-size: 0.95rem;
  }
}
@media (max-width: 480px) {
  .testimonial-slider-container .quote-card {
    width: 300px;
  }
  .testimonial-slider-container .quote-card .quote-text {
    font-size: 1rem;
  }
}
.testimonial-slider-container .slider-arrows {
  display: flex;
  justify-content: right;
  gap: 8px;
  margin: 20px auto 0;
  z-index: 10;
}
.testimonial-slider-container .slider-arrows button {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  border: none;
  background-color: rgba(210, 210, 215, 0.8);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.testimonial-slider-container .slider-arrows button:hover {
  background-color: rgba(190, 190, 195, 0.9);
}
.testimonial-slider-container .slider-arrows button:focus {
  outline: none;
  box-shadow: 0 0 0 2px #06c;
}
.testimonial-slider-container .slider-arrows button svg {
  width: 24px;
  height: 24px;
}
.testimonial-slider-container .slider-arrows button svg path {
  fill: #1d1d1f;
}
.testimonial-slider-container .slider-arrows button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
@media (max-width: 1535px) {
  .testimonial-slider-container .testimonial-slider {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media (max-width: 1200px) {
  .testimonial-slider-container .testimonial-slider {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media (max-width: 768px) {
  .testimonial-slider-container .card.testimonial-slide {
    width: 400px;
  }
  .testimonial-slider-container .inner-wrapper h2 {
    font-size: 32px;
  }
}
@media (max-width: 480px) {
  .testimonial-slider-container .card.testimonial-slide {
    width: 300px;
  }
  .testimonial-slider-container .inner-wrapper h2 {
    font-size: 28px;
  }
  .testimonial-slider-container .testimonial-slide-inner {
    padding: 1.5rem;
  }
}
.our-work {
  width: 100%;
  position: relative;
}
.our-work .inner-wrapper h2 {
  margin-bottom: 40px;
}
.our-work .inner-wrapper h2 .has-accent-color {
  color: #ff4d00;
  background-color: transparent;
}
.our-work .our-work-wrapper.breakout-wrapper {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: visible;
}
.our-work .additional-container {
  position: relative;
  overflow: visible;
  width: 100%;
}
.our-work .our-work-slider-wrapper {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.our-work .our-work-slider-wrapper::-webkit-scrollbar {
  display: none;
}
.our-work .our-work-slider {
  display: flex;
  gap: var(--s-16);
  padding: var(--s-16);
  width: -moz-max-content;
  width: max-content;
  padding-right: calc(50vw - 1220px / 2);
  padding-left: calc(50vw - 1220px / 2);
}
.our-work .our-work-slide {
  flex: 0 0 auto;
  width: 344px;
  height: 628px;
  scroll-snap-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 576px) {
  .our-work .our-work-slide {
    height: 480px;
  }
}
.our-work .our-work-slide .our-work-slide-card {
  border-radius: var(--s-32);
  overflow: hidden;
  background-color: #fff;
  height: 100%;
  transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
  position: relative;
}
.our-work .our-work-slide .our-work-slide-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0));
  z-index: 1;
  pointer-events: none;
}
.our-work .our-work-slide .our-work-slide-card .background {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.our-work .our-work-slide .our-work-slide-card .background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: var(--s-32);
}
.our-work .our-work-slide .our-work-slide-card .content {
  position: relative;
  z-index: 1;
  padding: var(--s-24);
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media (max-width: 576px) {
  .our-work .our-work-slide .our-work-slide-card .content {
    padding: var(--s-24) var(--s-16);
  }
}
.our-work .our-work-slide .our-work-slide-card .content > h4 {
  font-size: clamp(1rem, 2vmin, 1.125rem);
  color: #fff;
}
.our-work .our-work-slide .our-work-slide-card .content .link {
  margin-top: auto;
  text-align: end;
}
.our-work .our-work-slide .our-work-slide-card .content .link .button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  background: var(--dbw-gradient);
  border: none;
}
.our-work .our-work-slide .our-work-slide-card .content .link .button-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #fff !important;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease;
  transform: rotate(-45deg);
}
.our-work .our-work-slide .our-work-slide-card .content .link .button-icon svg:hover {
  transform: rotate(0deg);
}
.our-work .our-work-slide .our-work-slide-card .logo img {
  filter: brightness(0) invert(1);
  width: auto;
  max-height: 60px;
  -o-object-fit: contain;
     object-fit: contain;
}
.our-work .our-work-slide .our-work-slide-card:hover {
  transform: scale(1.01);
}
.our-work .slider-arrows {
  display: flex;
  justify-content: right;
  gap: var(--s-8);
  margin: var(--s-16) auto 0;
  z-index: 10;
}
.our-work .slider-arrows button {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  border: none;
  background-color: rgba(210, 210, 215, 0.8);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.our-work .slider-arrows button:hover {
  background-color: rgba(190, 190, 195, 0.9);
}
.our-work .slider-arrows button:focus {
  outline: none;
  box-shadow: 0 0 0 2px #06c;
}
.our-work .slider-arrows button svg {
  width: 24px;
  height: 24px;
}
.our-work .slider-arrows button svg path {
  fill: #1d1d1f;
}
.our-work .slider-arrows button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
@media (max-width: 1535px) {
  .our-work .our-work-slider {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media (max-width: 1200px) {
  .our-work .our-work-slider {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media (max-width: 768px) {
  .our-work .our-work-slide {
    width: 300px;
  }
  .our-work .inner-wrapper h2 {
    font-size: 32px;
  }
}
@media (max-width: 480px) {
  .our-work .our-work-slide {
    width: 260px;
  }
  .our-work .our-work-slide .our-work-slide-card .logo img {
    max-height: 40px;
  }
  .our-work .inner-wrapper h2 {
    font-size: 28px;
  }
}
.content-card {
  border-radius: var(--s-32);
  padding: var(--s-64) var(--s-32);
}
.content-card--text_media {
  display: flex;
  gap: var(--s-32);
}
.content-card--text_media .text {
  flex: 2;
}
.content-card--text_media .img {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.content-card--text_media .img img {
  max-height: 500px;
}
.content-card--bg {
  background-color: rgb(245, 245, 247);
}
@media (max-width: 1024px) {
  .content-card--text_media {
    flex-direction: column-reverse;
    gap: 50px;
  }
}
@media (max-width: 768px) {
  .content-card {
    padding: var(--s-32) var(--s-24);
  }
}
@media (max-width: 576px) {
  .content-card {
    padding: var(--s-24) var(--s-16);
  }
}
.faq .faq-wrapper {
  display: flex;
  align-items: flex-start;
  position: relative;
  gap: 50px;
}
.faq .faq-wrapper .left {
  position: sticky;
  top: 150px;
  flex: 1;
}
.faq .faq-wrapper .right {
  flex: 3;
}
.faq .faq-wrapper .right .accordion-wrapper .gb-accordion .gb-accordion__item button {
  font-size: 20px;
  font-weight: 500;
}
.faq .faq-wrapper .right .accordion-wrapper .gb-accordion .gb-accordion__item.gb-accordion__item-open .gb-accordion__toggle {
  background-color: transparent;
}
.faq .faq-wrapper .right .accordion-wrapper .gb-accordion .gb-accordion__item.gb-accordion__item-open .gb-accordion__toggle .gb-button-text {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
@media (max-width: 768px) {
  .faq .faq-wrapper {
    flex-direction: column;
  }
  .faq .faq-wrapper .left {
    position: unset;
  }
}
.gallery-container {
  width: 100%;
  position: relative;
}
.gallery-container .inner-wrapper {
  margin-bottom: 40px;
}
.gallery-container .gallery-wrapper.breakout-wrapper {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: visible;
}
.gallery-container .additional-container {
  position: relative;
  overflow: visible;
  width: 100%;
}
.gallery-container .gallery-slider-wrapper {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.gallery-container .gallery-slider-wrapper::-webkit-scrollbar {
  display: none;
}
.gallery-container .gallery-slider {
  display: flex;
  gap: var(--s-24);
  padding: 20px;
  width: -moz-max-content;
  width: max-content;
  padding-right: calc(50vw - 1220px / 2);
  padding-left: calc(50vw - 1220px / 2);
  /* Höhe angleichen */
  align-items: stretch;
}
.gallery-container .gallery-slide {
  flex: 0 0 auto;
  width: 372px;
  /* Höhe dynamisch */
  height: auto;
  scroll-snap-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.gallery-container .gallery-slide .gallery-slide-card {
  border-radius: var(--s-16);
  overflow: hidden;
  background-color: rgb(245, 245, 247);
  /* Höhe füllen */
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
  position: relative;
}
.gallery-container .gallery-slide .gallery-slide-card .background {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.gallery-container .gallery-slide .gallery-slide-card .background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: var(--s-16);
}
.gallery-container .gallery-slide .gallery-slide-card .content {
  position: relative;
  z-index: 1;
  padding: var(--s-32);
  display: flex;
  flex-direction: column;
  flex: 1;
}
@media (max-width: 576px) {
  .gallery-container .gallery-slide .gallery-slide-card .content {
    padding: var(--s-24) var(--s-16);
  }
}
.gallery-container .gallery-slide .gallery-slide-card .content .link {
  margin-top: auto;
  text-align: end;
}
.gallery-container .gallery-slide .gallery-slide-card .content .link .button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  border: none;
}
.gallery-container .gallery-slide .gallery-slide-card .content .link .button-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease;
  transform: rotate(-45deg);
}
.gallery-container .gallery-slide .gallery-slide-card .content .link .button-icon svg:hover {
  transform: rotate(0deg);
}
.gallery-container .gallery-slide .gallery-slide-card .logo img {
  width: auto;
  max-height: 60px;
}
.gallery-container .gallery-slide .gallery-slide-card:hover {
  transform: scale(1.01);
}
.gallery-container .slider-arrows {
  display: flex;
  justify-content: right;
  gap: 8px;
  margin: 20px auto 0;
  z-index: 10;
}
.gallery-container .slider-arrows button {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  border: none;
  background-color: rgba(210, 210, 215, 0.8);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.gallery-container .slider-arrows button:hover {
  background-color: rgba(190, 190, 195, 0.9);
}
.gallery-container .slider-arrows button:focus {
  outline: none;
  box-shadow: 0 0 0 2px #06c;
}
.gallery-container .slider-arrows button svg {
  width: 24px;
  height: 24px;
}
.gallery-container .slider-arrows button svg path {
  fill: #1d1d1f;
}
.gallery-container .slider-arrows button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
@media (max-width: 1535px) {
  .gallery-container .gallery-slider {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media (max-width: 1200px) {
  .gallery-container .gallery-slider {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media (max-width: 768px) {
  .gallery-container .gallery-slide {
    width: 300px;
  }
  .gallery-container .inner-wrapper h2 {
    font-size: 32px;
  }
}
@media (max-width: 480px) {
  .gallery-container .gallery-slide {
    width: 260px;
  }
  .gallery-container .inner-wrapper h2 {
    font-size: 28px;
  }
}
.site-main .inside-article,
.entry-content > .alignfull.section-- .fullwidth,
.wp-site-blocks .entry-content .alignfull {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
:root {
  --fullwidth-shrink-duration: 250ms;
}
.fullwidth-shrink-spacer {
  position: relative;
  z-index: 1;
  padding: 100px 0;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
  display: block;
}
.fullwidth-shrink-spacer.impact--landingpage {
  padding-top: 0;
}
.fullwidth-shrink-spacer.dark .fullwidth-shrink-container {
  background-color: #1d1d1f;
  position: relative;
}
.fullwidth-shrink-spacer.dark .fullwidth-shrink-container .shrink-container-inner .text h2 {
  color: #fff;
  font-size: clamp(24px, 6vmin, 42px);
}
.fullwidth-shrink-spacer.dark .fullwidth-shrink-container .shrink-container-inner .text p {
  color: #fff;
}
.fullwidth-shrink-spacer.dark .fullwidth-shrink-container .shrink-container-inner .text a[class*=button]:not(.button--dbw) {
  border: 1px solid #fff !important;
}
@media (max-width: 576px) {
  .fullwidth-shrink-spacer.dark .fullwidth-shrink-container .shrink-container-inner .content-card {
    gap: 10px;
  }
}
.fullwidth-shrink-spacer.impact--landingpage .scroll-down-icon {
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 576px) {
  .fullwidth-shrink-spacer.impact--landingpage .scroll-down-icon {
    position: relative;
    order: 1;
    top: 0;
    left: 0;
    transform: none;
  }
}
.fullwidth-shrink-container {
  position: relative;
  width: 100%;
  background-color: rgb(245, 245, 247);
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-64) var(--s-32);
  box-sizing: border-box;
  overflow: hidden;
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  transition: all var(--fullwidth-shrink-duration) ease-out;
}
@media (max-width: 768px) {
  .fullwidth-shrink-container {
    padding: var(--s-32) var(--s-24);
  }
}
@media (max-width: 576px) {
  .fullwidth-shrink-container {
    padding: 0 2rem 1.5rem 2rem;
  }
}
.fullwidth-shrink-container.shrink-active {
  width: 80%;
  max-width: 1220px;
  border-radius: 20px;
}
.fullwidth-shrink-container.fixed-position.shrink-active {
  width: calc(100% * (1 - var(--shrink-progress)) + 80% * var(--shrink-progress));
  max-width: calc(100vw * (1 - var(--shrink-progress)) + 1220px * var(--shrink-progress));
  border-radius: calc(20px * var(--shrink-progress));
}
.fullwidth-shrink-container.absolute-position {
  width: 80%;
  max-width: 1220px;
  border-radius: 20px;
}
.fullwidth-shrink-container .shrink-container-inner {
  width: 100%;
  max-width: 1124px;
  margin: 0 auto;
}
.fullwidth-shrink-container .shrink-container-inner .content-card {
  padding: 0;
}
.fullwidth-shrink-container .shrink-container-inner .text h2 {
  margin-bottom: 1rem;
  color: #1d1d1d;
}
.fullwidth-shrink-container .shrink-container-inner .text p {
  color: rgba(0, 5, 1, 0.7);
}
.fullwidth-shrink-container .shrink-container-inner .shrink-container-description {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  max-width: 36em;
  color: #fff;
}
.fullwidth-shrink-container .shrink-container-inner .shrink-container-media {
  margin-top: 2rem;
}
.fullwidth-shrink-container .shrink-container-inner .shrink-container-media img,
.fullwidth-shrink-container .shrink-container-inner .shrink-container-media video {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.content-section {
  width: 80%;
  max-width: 1220px;
  margin: 4rem auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .fullwidth-shrink-container.shrink-active {
    width: 95%;
  }
  .fullwidth-shrink-container.fixed-position.shrink-active {
    width: calc(100% * (1 - var(--shrink-progress)) + 95% * var(--shrink-progress));
  }
  .content-section {
    width: 95%;
  }
}
.contact-person .card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background-color: #fafafc;
  padding: 1em 1em 0 3em;
}
@media (max-width: 576px) {
  .contact-person .card {
    padding: 1em 1em 0 6em;
  }
}
.contact-person .card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
}
.contact-person .card .content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact-person .card .content .p--big {
  margin-bottom: 0;
}
.contact-person .card .content .button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  background: var(--dbw-gradient);
  border: none;
}
.contact-person .card .content .button-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #fff !important;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease;
  transform: rotate(-45deg);
}
.contact-person .card .content .button-icon svg:hover {
  transform: rotate(0deg);
}
.section--fullwidth.process-steps .process-steps__container > h2.gb-text {
  margin-bottom: 60px;
}
.section--fullwidth.process-steps .grid {
  align-items: stretch;
  gap: var(--s-16);
}
.section--fullwidth.process-steps .grid > div {
  background: #fff;
  border-radius: var(--s-32);
  padding: var(--s-32) var(--s-24);
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  position: relative;
  border: 2px solid transparent;
  counter-increment: step-counter;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 280px;
}
.section--fullwidth.process-steps .grid > div:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  background: linear-gradient(white, white) padding-box, var(--dbw-gradient) border-box;
  border: 2px solid transparent;
}
.section--fullwidth.process-steps .grid > div::before {
  content: counter(step-counter);
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--dbw-gradient);
  color: white;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.1rem;
  box-shadow: 0 5px 15px rgba(233, 30, 99, 0.3);
}
.section--fullwidth.process-steps .grid > div > p.gb-text:first-child {
  font-size: 3rem;
  margin: 20px 0 15px 0;
  display: block;
  line-height: 1;
}
@media (max-width: 768px) {
  .section--fullwidth.process-steps .grid > div > p.gb-text:first-child {
    font-size: 2.5rem;
    margin: 15px 0 10px 0;
  }
}
.section--fullwidth.process-steps .grid > div > h4.gb-text {
  font-size: 1.3rem;
  margin: 0 0 15px 0;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .section--fullwidth.process-steps .grid > div > h4.gb-text {
    font-size: 1.2rem;
    margin: 0 0 10px 0;
  }
}
.section--fullwidth.process-steps .grid > div > p:not(.gb-text) {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .section--fullwidth.process-steps .grid > div > p:not(.gb-text) {
    font-size: 0.95rem;
  }
}
.section--fullwidth.process-steps .gb-element-dc57dbe4 > div:hover::before {
  box-shadow: 0 8px 25px rgba(233, 30, 99, 0.4);
  transform: translateX(-50%) scale(1.05);
}
/**
 * Table of Contents Component
 * Backstage Content-Archiv - dbw media
 * 
 * Verwendung: [dbw_toc] oder [dbw_toc sticky="true"]
 */
.dbw-toc {
  margin: 0;
  line-height: 1.5;
}
.dbw-toc--sticky {
  position: sticky;
  top: 40px;
  align-self: start;
}
@media (max-width: 1024px) {
  .dbw-toc--sticky {
    position: static;
  }
}
.dbw-toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dbw-toc-sublist {
  margin: 8px 0 0 20px;
  padding: 0;
  list-style: none;
}
.dbw-toc-item {
  margin: 0 0 6px 0;
}
.dbw-toc-link {
  color: rgba(0, 5, 1, 0.7);
  text-decoration: none;
  display: block;
  transition: 0.3s ease all;
  border-left: 2px solid transparent;
  padding-left: 0;
  position: relative;
}
.dbw-toc-link:hover {
  color: #1d1d1d;
}
.dbw-toc-link.is-active {
  font-weight: 600;
  padding-left: 8px;
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@supports not (-webkit-background-clip: text) {
  .dbw-toc-link.is-active {
    color: var(--c-red);
  }
}
.dbw-toc-level-3 .dbw-toc-link {
  font-size: clamp(13px, 2.5vw, 15px);
  color: rgb(0, 5, 1);
}
.dbw-toc-level-3 .dbw-toc-link.is-active {
  font-weight: 600;
  padding-left: 6px;
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@supports not (-webkit-background-clip: text) {
  .dbw-toc-level-3 .dbw-toc-link.is-active {
    color: var(--c-red);
  }
}
@media (max-width: 768px) {
  .dbw-toc {
    padding: 25px;
  }
  .dbw-toc-title {
    margin-bottom: 25px;
  }
  .dbw-toc-sublist {
    margin-left: 25px;
  }
}
.dbw-share-container {
  padding: 1em 0 0 0;
}
.dbw-share-title {
  margin-bottom: 12px;
}
.dbw-share-buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 768px) {
  .dbw-share-buttons {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.dbw-share-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: transparent;
  border: 1px solid rgba(0, 5, 1, 0.2);
  border-radius: 8px;
  color: rgba(0, 5, 1, 0.7);
  text-decoration: none;
  font-size: 13px;
  font-family: "Arial";
  transition: 0.3s ease all;
  cursor: pointer;
  flex: 1;
  min-width: 0;
}
@media (min-width: 768px) {
  .dbw-share-btn {
    flex: 0 1 auto;
    min-width: 120px;
  }
}
.dbw-share-btn:hover {
  border-color: rgba(var(--c-red), 0.3);
  color: #1d1d1d;
  background: rgba(var(--c-red), 0.05);
  text-decoration: none;
}
.dbw-share-btn:hover svg {
  color: var(--c-red);
}
.dbw-share-btn svg {
  flex-shrink: 0;
  transition: 0.3s ease all;
}
.dbw-share-btn span {
  font-size: 12px;
}
.dbw-share-btn.dbw-share-copied {
  border-color: var(--c-red);
  background: rgba(var(--c-red), 0.1);
  color: var(--c-red);
}
.dbw-share-btn.dbw-share-copied svg {
  color: var(--c-red);
}
.dbw-share-btn.dbw-share-copied span {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 500;
}
.dbw-share-btn.dbw-share-linkedin:hover {
  border-color: rgba(0, 119, 181, 0.3);
  background: rgba(0, 119, 181, 0.05);
}
.dbw-share-btn.dbw-share-linkedin:hover svg {
  color: #0077b5;
}
.dbw-share-btn.dbw-share-whatsapp:hover {
  border-color: rgba(37, 211, 102, 0.3);
  background: rgba(37, 211, 102, 0.05);
}
.dbw-share-btn.dbw-share-whatsapp:hover svg {
  color: #25d366;
}
.dbw-share-btn.dbw-share-rss:hover {
  border-color: rgba(255, 102, 0, 0.3);
  background: rgba(255, 102, 0, 0.05);
}
.dbw-share-btn.dbw-share-rss:hover svg {
  color: #ff6600;
}
.analyse-wrapper .section-card {
  background: #fff;
  border-radius: 32px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  padding: 2em 1em;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.analyse-wrapper .section-card .analyse-inner {
  max-width: 576px;
}
.analyse-wrapper .section-card .analyse-inner h3 {
  margin-bottom: 30px;
}
.analyse-wrapper .section-card .analyse-inner .form .wpcf7 .dbw-actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.analyse-wrapper .section-card .analyse-inner .form .wpcf7 .dbw-actions > p {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.analyse-wrapper .section-card .analyse-inner .form .wpcf7 .dbw-actions > p input[type=submit] {
  font-weight: 600;
  padding: 20px;
  border-radius: 64px;
}
.analyse-wrapper.spotify .form iframe {
  min-height: 600px;
}
.analyse-footer {
  background: #1d1d1f;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.analyse-footer img {
  max-width: 100px;
}
.analyse-footer p,
.analyse-footer a {
  text-align: center;
  color: white !important;
}
/* Container */
.dbw-form {
  width: min(720px, 100%);
  margin: 0 auto;
  padding: clamp(12px, 3vw, 24px);
}
/* Titel */
.dbw-form__title {
  text-align: center;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.15;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 clamp(20px, 3vw, 32px);
}
/* Form-Stack */
.dbw-form__body {
  display: grid;
  gap: clamp(8px, 2.2vw, 12px);
}
/* Feld */
.dbw-field {
  display: grid;
  gap: 8px;
}
.dbw-field label {
  font-weight: 600;
  color: #0f172a;
  font-size: 0.95rem;
}
.dbw-field input,
.dbw-field textarea {
  width: 100%;
  font: inherit;
  color: #0b1220;
  background: #fff;
  border: 1px solid rgba(2, 6, 23, 0.1);
  border-radius: 12px;
  padding: 14px 14px;
  line-height: 1.4;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.dbw-field input::-moz-placeholder, .dbw-field textarea::-moz-placeholder {
  color: #a0a6b0;
}
.dbw-field input::placeholder,
.dbw-field textarea::placeholder {
  color: #a0a6b0;
}
/* Fokus in Markenfarbe */
.dbw-field input:focus,
.dbw-field textarea:focus {
  outline: none;
  border-color: var(--c-violet);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-violet) 18%, transparent);
}
/* Hinweistext */
.dbw-form__hint {
  margin: 4px 0 0;
  text-align: center;
  font-size: 0.95rem;
  color: #1f2937;
}
/* Submit */
.dbw-actions {
  margin-top: clamp(8px, 2vw, 16px);
  display: flex;
  justify-content: center;
}
.dbw-actions input[type=submit] {
  font-weight: 600;
  padding: 20px;
  border-radius: 64px;
}
/* CF7 Response minimal */
.wpcf7 form .wpcf7-response-output {
  margin: 16px 0 0;
  border: 0;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 0.95rem;
}
.wpcf7 form.sent .wpcf7-response-output {
  background: #f4fff7;
  color: #0c7a3e;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  background: #fff6f6;
  color: #9b1c1c;
}
/* Feldfehler */
.wpcf7-not-valid {
  border-color: #e53e3e !important;
}
.wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  font-size: 0.85rem;
  color: #b42318;
}
.page-id-1795 .custom-site-footer {
  display: none;
}
.troubleshoot-box {
  padding: 12px 18px;
  margin: 20px auto;
  max-width: 480px;
  background-color: #fffbeb;
  border: 1.5px dashed #f59e0b;
  border-radius: 12px;
  color: #92400e;
  line-height: 1.4;
  text-align: left;
}
@media (max-width: 768px) {
  .troubleshoot-box p {
    font-size: 13px;
  }
}
.upgrade-availability {
  text-align: center;
  padding: 0 0 1.5rem 0;
  width: 100%;
}
.upgrade-availability__label {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}
.upgrade-availability__bar {
  width: 100%;
  height: 2rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin: 0.5rem auto;
  max-width: 100%;
}
.upgrade-availability__bar-fill {
  width: 80%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff4b9f, #7c3aed);
  box-shadow: 0 0 18px rgba(124, 58, 237, 0.6), 0 0 40px rgba(255, 75, 159, 0.5);
  transform-origin: left center;
  transform: scaleX(0);
  animation: upgrade-fill 1s ease-out forwards, upgrade-uncertain 3.5s ease-in-out infinite 1.4s, upgrade-glow 3s ease-in-out infinite 1.4s;
}
.upgrade-availability__count {
  font-size: 1rem;
  font-weight: 600;
  margin-top: 0.35rem;
  opacity: 0.9;
}
@keyframes upgrade-fill {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes upgrade-uncertain {
  0% {
    transform: scaleX(1);
  }
  40% {
    transform: scaleX(0.94);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes upgrade-glow {
  0% {
    box-shadow: 0 0 18px rgba(124, 58, 237, 0.5), 0 0 40px rgba(255, 75, 159, 0.4);
  }
  50% {
    box-shadow: 0 0 28px rgba(124, 58, 237, 0.8), 0 0 70px rgba(255, 75, 159, 0.8);
  }
  100% {
    box-shadow: 0 0 18px rgba(124, 58, 237, 0.5), 0 0 40px rgba(255, 75, 159, 0.4);
  }
}
:root {
  --lead-popup-bg: #fff;
  --lead-popup-fg: #1d1d1d;
  --lead-popup-muted: rgba(0, 5, 1, 0.7);
  --lead-popup-radius: 32px;
  --lead-popup-shadow: 0 30px 80px rgba(15, 23, 42, 0.25);
}
.lead-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 40px);
  background: rgba(15, 23, 42, 0);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: background-color 0.4s ease, backdrop-filter 0.4s ease;
}
.lead-popup.is-mounted {
  display: flex;
}
.lead-popup.is-visible {
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.lead-popup.is-visible .lead-popup__card {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.lead-popup.is-closing {
  background: rgba(15, 23, 42, 0);
  backdrop-filter: blur(0px);
}
.lead-popup.is-closing .lead-popup__card {
  opacity: 0;
  transform: translateY(20px) scale(0.96);
}
.lead-popup__card {
  position: relative;
  width: min(560px, 100%);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  background: var(--lead-popup-bg);
  border-radius: var(--lead-popup-radius);
  box-shadow: var(--lead-popup-shadow);
  padding: clamp(24px, 4vw, 40px);
  opacity: 0;
  transform: translateY(20px) scale(0.96);
  transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1), transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.lead-popup__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: var(--dbw-gradient);
  border-radius: var(--lead-popup-radius) var(--lead-popup-radius) 0 0;
}
@media (max-width: 768px) {
  .lead-popup__card {
    padding: clamp(16px, 4vw, 24px);
    border-radius: 16px;
    max-height: calc(100dvh - 16px);
  }
}
.lead-popup__close {
  position: absolute;
  padding: 0;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  background: rgba(15, 23, 42, 0.07);
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1d1d1d;
  transition: background-color 0.2s ease, transform 0.2s ease;
  z-index: 2;
}
.lead-popup__close:hover {
  background: rgba(15, 23, 42, 0.13);
  transform: scale(1.08);
}
.lead-popup__close:focus-visible {
  outline: 2px solid var(--c-violet);
  outline-offset: 2px;
}
.lead-popup__close svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.lead-popup__live {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 16px;
  padding: 6px 16px;
  border: 1.5px solid transparent;
  background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)) padding-box, var(--dbw-gradient) border-box;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  color: #1d1d1d;
  box-shadow: 0 4px 12px rgba(126, 86, 255, 0.12);
  white-space: nowrap;
}
@media (max-width: 576px) {
  .lead-popup__live {
    font-size: 10px;
    padding: 5px 13px;
    letter-spacing: 0.9px;
  }
}
.lead-popup__avatar-wrap {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lead-popup__avatar-wrap::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: var(--dbw-gradient);
  filter: blur(12px);
  opacity: 0.4;
  z-index: 0;
  animation: lead-popup-pulse 3s ease-in-out infinite;
}
@media (max-width: 768px) {
  .lead-popup__avatar-wrap {
    width: 72px;
    height: 72px;
  }
}
@media (max-width: 576px) {
  .lead-popup__avatar-wrap {
    width: 64px;
    height: 64px;
  }
}
.lead-popup__avatar {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  z-index: 1;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.18);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: pointer;
}
.lead-popup__avatar:hover {
  transform: scale(1.06) rotate(-3deg);
}
.lead-popup__avatar-wrap:hover::before {
  opacity: 0.7;
  animation-duration: 1.5s;
}
.lead-popup__avatar-dot {
  display: none;
}
.lead-popup__caption {
  text-align: center;
  font-size: 13px;
  color: var(--lead-popup-muted);
  margin: 0 0 4px;
  font-weight: 500;
}
.lead-popup__caption strong {
  color: #1d1d1d;
  font-weight: 700;
}
.lead-popup__trust-line {
  text-align: center;
  font-size: 12px;
  color: var(--lead-popup-muted);
  margin: 0 0 16px;
  opacity: 0.85;
  font-weight: 400;
  letter-spacing: 0.01em;
}
@media (max-width: 576px) {
  .lead-popup__trust-line {
    font-size: 11px;
    margin-bottom: 14px;
  }
}
.lead-popup__timer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 12px 18px;
  background: linear-gradient(135deg, rgba(234, 43, 31, 0.06), rgba(126, 86, 255, 0.08), rgba(0, 178, 255, 0.06));
  border: 1px solid rgba(126, 86, 255, 0.22);
  border-radius: 16px;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
}
.lead-popup__timer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.4) 50%, transparent 70%);
  animation: lead-popup-timer-sweep 4s ease-in-out infinite;
  pointer-events: none;
}
.lead-popup__timer-icon {
  font-size: 14px;
  color: var(--c-violet);
  display: inline-flex;
  align-items: center;
  position: relative;
}
.lead-popup__timer-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}
.lead-popup__timer-label {
  font-size: 13px;
  font-weight: 600;
  color: #1d1d1d;
  position: relative;
}
@media (max-width: 576px) {
  .lead-popup__timer-label {
    font-size: 12px;
  }
}
.lead-popup__timer-countdown {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-variant-numeric: tabular-nums;
  position: relative;
}
@media (max-width: 576px) {
  .lead-popup__timer-countdown {
    gap: 4px;
  }
}
.lead-popup__timer-unit {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  font-size: 12px;
  color: var(--lead-popup-muted);
  font-weight: 500;
}
.lead-popup__timer-unit strong {
  font-weight: 800;
  color: var(--c-violet);
  font-size: 15px;
  min-width: 1.4em;
  display: inline-block;
  text-align: right;
  letter-spacing: -0.02em;
}
.lead-popup__header {
  text-align: center;
  margin-bottom: clamp(18px, 3vw, 26px);
}
.lead-popup__title {
  font-size: clamp(22px, 2.8vw, 30px);
  line-height: 1.18;
  font-weight: 800;
  color: #1d1d1d;
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.lead-popup__title .lead-popup__title-accent {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.lead-popup__title-free {
  display: block;
  margin-top: 4px;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.01em;
  color: #16a34a;
  text-transform: uppercase;
}
@media (max-width: 576px) {
  .lead-popup__title-free {
    font-size: clamp(20px, 5.5vw, 26px);
  }
}
.lead-popup__subtitle {
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.55;
  color: var(--lead-popup-muted);
  margin: 0 auto;
  max-width: 460px;
}
.lead-popup__subtitle strong {
  color: #1d1d1d;
  font-weight: 700;
}
.lead-popup__microcopy {
  margin-top: 10px;
  text-align: center;
  font-size: 12px;
  color: var(--lead-popup-muted);
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.lead-popup__microcopy span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.lead-popup__microcopy span::before {
  content: "✓";
  color: var(--c-violet);
  font-weight: 700;
}
@media (max-width: 576px) {
  .lead-popup__microcopy {
    gap: 6px 10px;
    font-size: 11px;
  }
}
.lead-popup__body .dbw-form {
  padding: 0;
  margin: 0;
  width: 100%;
}
.lead-popup__body .wpcf7 {
  margin: 0;
}
.lead-popup__body .dbw-actions {
  margin-top: 0;
}
.lead-popup__body .form-group {
  margin-bottom: 0px;
}
.lead-popup__body .dbw-actions input[type=submit],
.lead-popup__body input[type=submit] {
  width: 100%;
  background: var(--dbw-gradient) !important;
  color: #fff !important;
  border: 0;
  padding: 16px 28px;
  border-radius: 64px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  position: relative;
  letter-spacing: 0.01em;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
  box-shadow: 0 8px 24px rgba(126, 86, 255, 0.28);
}
.lead-popup__body .dbw-actions input[type=submit]:hover,
.lead-popup__body input[type=submit]:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 18px 40px rgba(126, 86, 255, 0.42);
}
.lead-popup__body .dbw-actions input[type=submit]:active,
.lead-popup__body input[type=submit]:active {
  transform: translateY(0) scale(1);
}
.lead-popup__trust {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  font-size: 13px;
  color: var(--lead-popup-muted);
}
.lead-popup__trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lead-popup__trust span::before {
  content: "✓";
  color: var(--c-violet);
  font-weight: 700;
}
@media (max-width: 576px) {
  .lead-popup__trust {
    gap: 6px 12px;
    font-size: 12px;
  }
}
.lead-popup__loading {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 16px;
  min-height: 280px;
}
.lead-popup__spinner {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, var(--c-red), var(--c-pink), var(--c-magenta), var(--c-violet), var(--c-blue), var(--c-red));
  mask: radial-gradient(circle at center, transparent 55%, black 56%);
  -webkit-mask: radial-gradient(circle at center, transparent 55%, black 56%);
  animation: lead-popup-spin 1.2s linear infinite;
  margin-bottom: 24px;
}
.lead-popup__loading-step {
  font-size: 15px;
  color: #1d1d1d;
  font-weight: 600;
  min-height: 1.5em;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.lead-popup__loading-step.is-active {
  opacity: 1;
  transform: translateY(0);
}
.lead-popup__success {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 16px;
  min-height: 280px;
  position: relative;
  overflow: visible;
}
.lead-popup__check {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--dbw-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  box-shadow: 0 12px 30px rgba(126, 86, 255, 0.35);
  animation: lead-popup-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  position: relative;
  z-index: 2;
}
.lead-popup__check svg {
  width: 36px;
  height: 36px;
  fill: #fff;
}
.lead-popup__confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: visible;
  z-index: 1;
}
.lead-popup__confetti-piece {
  position: absolute;
  left: 50%;
  top: 30%;
  width: 10px;
  height: 14px;
  border-radius: 2px;
  opacity: 0;
  transform-origin: center;
  animation: lead-popup-confetti-burst 1.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.lead-popup__success-title {
  font-size: clamp(20px, 2.6vw, 24px);
  font-weight: 800;
  color: #1d1d1d;
  margin: 0 0 8px;
}
.lead-popup__success-text {
  font-size: 15px;
  line-height: 1.5;
  color: var(--lead-popup-muted);
  margin: 0;
  max-width: 380px;
}
.lead-popup__field-error {
  animation: lead-popup-shake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}
.lead-popup__field-error.form-group, .lead-popup__field-error.form-row {
  border-radius: 16px;
  background: rgba(234, 43, 31, 0.08);
  padding: 8px 10px;
  margin: -8px -10px;
  border: 1px solid rgba(234, 43, 31, 0.4);
}
.lead-popup__field-error.form-group .dsgvo-text, .lead-popup__field-error.form-row .dsgvo-text {
  color: var(--c-red);
  font-weight: 500;
}
.lead-popup__field-error.form-group input[type=checkbox], .lead-popup__field-error.form-row input[type=checkbox] {
  outline: 2px solid var(--c-red);
  outline-offset: 2px;
}
.lead-popup__field-error.dbw-field input[type=text],
.lead-popup__field-error.dbw-field input[type=email],
.lead-popup__field-error.dbw-field input[type=url] {
  border-color: var(--c-red) !important;
  box-shadow: 0 0 0 3px rgba(234, 43, 31, 0.12);
}
.lead-popup[data-step=loading] .lead-popup__header,
.lead-popup[data-step=loading] .lead-popup__body,
.lead-popup[data-step=loading] .lead-popup__trust {
  display: none;
}
.lead-popup[data-step=loading] .lead-popup__loading {
  display: flex;
}
.lead-popup[data-step=success] .lead-popup__header,
.lead-popup[data-step=success] .lead-popup__body,
.lead-popup[data-step=success] .lead-popup__trust,
.lead-popup[data-step=success] .lead-popup__loading {
  display: none;
}
.lead-popup[data-step=success] .lead-popup__success {
  display: flex;
}
body.lead-popup-open {
  overflow: hidden;
}
.lead-popup-reopen {
  position: fixed;
  bottom: 136px;
  right: 45px;
  width: 60px;
  height: 60px;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  z-index: 9998;
  display: none;
  align-items: center;
  justify-content: center;
}
.lead-popup-reopen[hidden] {
  display: none !important;
}
.lead-popup-reopen.is-visible {
  display: flex;
  opacity: 1;
  transform: scale(1) translateY(0);
  animation: lead-popup-reopen-in 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  background-color: transparent !important;
}
.lead-popup-reopen::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: var(--dbw-gradient);
  filter: blur(12px);
  opacity: 0.5;
  z-index: 0;
  animation: lead-popup-pulse 3s ease-in-out infinite;
  pointer-events: none;
}
.lead-popup-reopen__avatar {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  z-index: 1;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.28);
  transition: transform 0.2s ease;
}
.lead-popup-reopen__badge {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: #ef4444;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  font-family: inherit;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
  animation: lead-popup-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s both;
}
.lead-popup-reopen:hover .lead-popup-reopen__avatar {
  transform: scale(1.08);
}
.lead-popup-reopen:focus-visible {
  outline: 2px solid var(--c-violet);
  outline-offset: 4px;
  border-radius: 50%;
}
.lead-popup-reopen--attention {
  animation: lead-popup-reopen-bounce 0.9s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s 2;
}
.lead-popup-reopen__tooltip {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: #fff;
  color: #1d1d1d;
  font-size: 13px;
  font-weight: 500;
  padding: 9px 14px;
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.25);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.lead-popup-reopen__tooltip::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: #fff;
}
.lead-popup-reopen__tooltip.is-visible {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
@media (max-width: 576px) {
  .lead-popup-reopen {
    width: 52px;
    height: 52px;
    bottom: 100px;
    right: 20px;
  }
  .lead-popup-reopen__badge {
    min-width: 18px;
    height: 18px;
    font-size: 10px;
    border-width: 2px;
  }
  .lead-popup-reopen__tooltip {
    font-size: 12px;
    padding: 7px 11px;
    right: calc(100% + 10px);
  }
}
@keyframes lead-popup-reopen-in {
  0% {
    opacity: 0;
    transform: scale(0) translateY(20px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes lead-popup-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes lead-popup-pop {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes lead-popup-pulse {
  0%, 100% {
    opacity: 0.35;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.06);
  }
}
@keyframes lead-popup-ping {
  75%, 100% {
    transform: scale(1.8);
    opacity: 0;
  }
}
@keyframes lead-popup-timer-sweep {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes lead-popup-gradient-shift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes lead-popup-submit-breathe {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(126, 86, 255, 0.25);
    background-position: 0% 50%;
  }
  50% {
    box-shadow: 0 14px 34px rgba(126, 86, 255, 0.4);
    background-position: 100% 50%;
  }
}
@keyframes lead-popup-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 50%, 90% {
    transform: translateX(-6px);
  }
  30%, 70% {
    transform: translateX(6px);
  }
}
@keyframes lead-popup-reopen-bounce {
  0%, 100% {
    transform: scale(1) translateY(0);
  }
  25% {
    transform: scale(1.18) translateY(-6px);
  }
  50% {
    transform: scale(1.05) translateY(-2px);
  }
  75% {
    transform: scale(1.12) translateY(-4px);
  }
}
@keyframes lead-popup-confetti-burst {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg) scale(0.4);
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--cf-x, 0px)), calc(-50% + var(--cf-y, 0px))) rotate(var(--cf-rot, 360deg)) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .lead-popup,
  .lead-popup__card,
  .lead-popup__loading-step,
  .lead-popup__check,
  .lead-popup__field-error,
  .lead-popup-reopen,
  .lead-popup-reopen--attention,
  .lead-popup-reopen__tooltip {
    transition: opacity 0.2s ease;
    animation: none !important;
  }
  .lead-popup__spinner {
    animation: lead-popup-spin 2.4s linear infinite;
  }
}
.hero--mainpage {
  position: relative;
  width: 100%;
  height: 98vh;
  height: 98dvh;
  padding: 2rem 2rem 0 2rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.hero--mainpage .background {
  min-width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 0;
  max-height: 50vh;
}
.hero--mainpage .background video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero--mainpage .content {
  position: relative;
  z-index: 3;
  min-height: 350px;
  display: flex;
  align-items: end;
}
.hero--mainpage .content .content-inner {
  display: flex;
  align-items: flex-end;
  gap: 150px;
  width: 100%;
  text-align: left;
}
.hero--mainpage .content .content-inner h1 {
  flex: 1.5;
  margin-bottom: 0;
  hyphens: none;
}
.hero--mainpage .content .content-inner h1 mark {
  hyphens: none;
}
.hero--mainpage .content .content-inner p {
  flex: 1;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 500;
}
@media (max-width: 576px) {
  .hero--mainpage .content {
    min-height: 30vh;
  }
}
.hero--subpage .content {
  position: relative;
  z-index: 3;
  height: 20vh;
  min-height: 350px;
  display: flex;
  align-items: end;
}
.hero--subpage .content .content-inner {
  display: flex;
  align-items: flex-end;
  gap: 150px;
  width: 100%;
  text-align: left;
}
.hero--subpage .content .content-inner h1 {
  flex: 1.5;
  margin-bottom: 0;
}
.hero--subpage .content .content-inner p {
  flex: 1;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 500;
}
@media (max-width: 576px) {
  .hero--subpage .content .content-inner p {
    font-size: 18px;
  }
}
@media (max-width: 576px) {
  .hero--subpage .content {
    height: auto;
    min-height: auto;
    margin-top: 100px;
  }
  .hero--subpage .content div.content-inner {
    gap: 20px;
  }
}
.hero--blog .content {
  position: relative;
  z-index: 3;
  min-height: 350px;
  display: flex;
  align-items: end;
}
.hero--blog .content .content-inner {
  display: flex;
  align-items: flex-end;
  gap: 150px;
  width: 100%;
  text-align: left;
}
.hero--blog .content .content-inner h1 {
  flex: 1.5;
  margin-bottom: 0;
}
.hero--blog .content .content-inner p {
  flex: 1;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 500;
}
.hero--landingpage .content {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 60lvh;
}
.hero--landingpage .content .content-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5em;
}
.hero--landingpage .content .content-inner h1 {
  flex: 1.5;
  margin-bottom: 0;
}
.hero--landingpage .content .content-inner h3 {
  margin-bottom: 0;
}
.hero--landingpage .content .content-inner p {
  flex: 1;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 500;
}
.hero--landingpage-max {
  position: relative;
  width: 100%;
  height: 88lvh;
  padding: var(--s-32);
  padding-bottom: 0 !important;
  overflow: hidden;
}
.hero--landingpage-max .background {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 40lvh;
  max-height: 40lvh;
  z-index: 0;
}
.hero--landingpage-max .background video {
  height: 40lvh;
  width: auto;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.hero--landingpage-max .background figure {
  margin: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.hero--landingpage-max .content {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 48lvh;
  margin-top: 2rem;
  padding-bottom: 2rem;
}
.hero--landingpage-max .content .content-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
}
.hero--landingpage-max .content .content-inner h1,
.hero--landingpage-max .content .content-inner h3 {
  margin-bottom: 0;
}
.hero--landingpage-max .content .content-inner h2 {
  margin-bottom: 0;
}
.hero--landingpage-max .content .content-inner p {
  margin-bottom: 0;
}
@media (max-width: 576px) {
  .hero--landingpage-max {
    max-height: 80vh;
  }
  .hero--landingpage-max .content {
    padding-bottom: 1rem;
  }
  .hero--landingpage-max .content .content-inner {
    gap: 1em;
  }
  .hero--landingpage-max .content .content-inner h1 {
    margin-bottom: 0;
    text-align: center;
  }
  .hero--landingpage-max .content .content-inner h2,
  .hero--landingpage-max .content .content-inner h3 {
    margin-bottom: 0;
    text-align: center;
    font-size: 18px;
  }
  .hero--landingpage-max .content .content-inner p {
    font-size: 17px;
    display: none;
  }
  .hero--landingpage-max .content .content-inner .button--dbw {
    margin: 0 auto;
  }
  .hero--landingpage-max .background {
    position: relative;
  }
}
@media (max-width: 1200px) {
  .hero--mainpage, .hero--subpage {
    height: -moz-fit-content;
    height: fit-content;
    padding: 2rem 3% 64px 3%;
  }
  .hero--mainpage .content .content-inner, .hero--subpage .content .content-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
  .hero--landingpage {
    padding: 2rem 3% 64px 3%;
  }
  .hero--landingpage .content .content-inner {
    gap: 1em;
  }
  .hero--landingpage-max .background {
    height: 32lvh;
    max-height: 32lvh;
  }
  .hero--landingpage-max .background video {
    height: 32lvh;
  }
}
@media (max-width: 576px) {
  .hero--mainpage .background {
    width: 100%;
    height: auto;
  }
  .hero--mainpage .background video {
    aspect-ratio: 1.6/1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .hero--landingpage-max {
    height: 84lvh;
  }
  .hero--landingpage-max .background {
    height: 32lvh;
    max-height: 32lvh;
  }
  .hero--landingpage-max .background video {
    height: 32lvh;
  }
  .hero--landingpage-max .content {
    min-height: 40lvh;
  }
}
.sub-hero {
  background-color: rgb(245, 245, 247);
  padding-top: 15px;
  padding-bottom: 15px;
}
.sub-hero .content {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.sub-hero .content p {
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 600;
}
@media (max-width: 992px) {
  .sub-hero {
    display: none;
  }
}
.hero-overlay.hero-color-red {
  background: linear-gradient(#ffe5e3 0%, #fff 100%);
}
.hero-overlay.hero-color-red.hero-overlay--video {
  background: linear-gradient(#ffe5e3 0%, #ffe5e3 10%, #fff 30%, #fff 100%);
}
.hero-overlay.hero-color-pink {
  background: linear-gradient(#ffe1eb 0%, #fff 100%);
}
.hero-overlay.hero-color-pink.hero-overlay--video {
  background: linear-gradient(#ffe1eb 0%, #ffe1eb 10%, #fff 30%, #fff 100%);
}
.hero-overlay.hero-color-magenta {
  background: linear-gradient(#ffe0f8 0%, #fff 100%);
}
.hero-overlay.hero-color-magenta.hero-overlay--video {
  background: linear-gradient(#ffe0f8 0%, #ffe0f8 10%, #fff 30%, #fff 100%);
}
.hero-overlay.hero-color-violet {
  background: linear-gradient(#eee9ff 0%, #fff 100%);
}
.hero-overlay.hero-color-violet.hero-overlay--video {
  background: linear-gradient(#eee9ff 0%, #eee9ff 10%, #fff 30%, #fff 100%);
}
.hero-overlay.hero-color-blue {
  background: linear-gradient(#e1f3ff 0%, #fff 100%);
}
.hero-overlay.hero-color-blue.hero-overlay--video {
  background: linear-gradient(#e1f3ff 0%, #e1f3ff 10%, #fff 30%, #fff 100%);
}
.hero-overlay.hero-color-custom {
  --dynamic-brand-light: color-mix(
  	in srgb,
  	var(--current-brand-color),
  	white 85%
  );
  background: linear-gradient(var(--dynamic-brand-light) 0%, #fff 100%);
}
.hero-overlay.hero-color-custom.hero-overlay--video {
  background: linear-gradient(var(--dynamic-brand-light) 0%, var(--dynamic-brand-light) 10%, #fff 30%, #fff 100%);
}
.site-header {
  backdrop-filter: blur(8px);
  background-color: transparent;
  border-bottom: 1px solid #eaecef;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  background-color: transparent;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 10px 10%;
}
.site-header .header-image {
  width: 80px;
}
@media (max-width: 576px) {
  .site-header .header-image {
    width: 60px;
  }
}
.site-header.banner-pushed {
  transform: translateY(var(--banner-height));
}
@media (max-width: 1200px) {
  .site-header {
    padding: 5px 3%;
  }
}
@media (max-width: 992px) {
  .site-header .menu-buttons {
    display: none;
  }
}
.site-header .inside-header .menu-toggle .gp-icon svg {
  fill: #1d1d1f;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header .inside-header .menu-toggle {
  background-color: transparent;
  color: #fff;
}
.site-header .inside-header .menu-toggle:hover .gp-icon svg {
  transform: scale(1.1);
}
.site-header .inside-header {
  color: #fff;
  max-width: 1220px;
  padding: 0;
}
@media (max-width: 768px) {
  .site-header .inside-header .gb-button.project {
    display: none;
  }
}
.site-header .main-navigation {
  background-color: transparent;
}
.site-header .main-navigation ul li {
  background-color: transparent;
}
.site-header .main-navigation ul li a {
  font-size: clamp(14px, 4vmin, 20px);
  color: #1d1d1d;
  transition: 0.3s ease all;
  font-weight: 500;
  outline: none;
}
.site-header .main-navigation ul li a:hover {
  text-decoration: underline;
  color: rgba(0, 5, 1, 0.7) !important;
}
.site-header .main-navigation ul li a:focus, .site-header .main-navigation ul li a:active {
  outline: none;
}
.site-header .main-navigation ul li.current-menu-item a {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 600;
}
.site-header .main-navigation ul li.current-menu-item a:hover {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-decoration: underline;
}
.site-header .main-navigation .menu-item-has-children > a .gp-icon.icon-arrow {
  transition: transform 0.25s ease;
}
.site-header .main-navigation .menu-item-has-children:hover > a .gp-icon.icon-arrow, .site-header .main-navigation .menu-item-has-children:focus-within > a .gp-icon.icon-arrow {
  transform: rotate(180deg);
}
.site-header .main-navigation .menu-item-has-children:hover > .sub-menu, .site-header .main-navigation .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.site-header .main-navigation .sub-menu {
  padding: 0.5rem;
  margin-top: -8px;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border: 1px solid #eaecef;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.site-header .main-navigation .sub-menu li {
  background-color: transparent;
}
.site-header .main-navigation .sub-menu li a {
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 0.95em;
  font-weight: 500;
  color: #1d1d1d;
  transition: 0.3s ease all;
}
.site-header .main-navigation .sub-menu li a:hover, .site-header .main-navigation .sub-menu li a:focus {
  background-color: rgba(0, 0, 0, 0.04);
  color: #1d1d1d !important;
  text-decoration: none !important;
}
.site-header .main-navigation .sub-menu li.current-menu-item > a, .site-header .main-navigation .sub-menu li.current_page_item > a {
  background-image: var(--dbw-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .site-header {
    margin-top: 0px;
  }
}
#generate-slideout-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  transform: translateY(-100%);
  opacity: 0;
  right: auto !important;
  left: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  transition: transform 0.6s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.4s cubic-bezier(0.32, 0.72, 0, 1);
}
#generate-slideout-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(248, 248, 248, 0.95);
  background-color: rgba(255, 255, 255, 0.75);
  height: 0;
  transition: height 0.8s cubic-bezier(0.32, 0.72, 0, 1);
  transform-origin: top;
  z-index: -1;
}
@supports (backdrop-filter: blur(0)) {
  #generate-slideout-menu::before {
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: saturate(180%) blur(20px);
  }
}
#generate-slideout-menu.is-open {
  transform: translateY(0) !important;
  opacity: 1;
}
#generate-slideout-menu.is-open::before {
  height: 100%;
}
#generate-slideout-menu .inside-navigation {
  max-width: 100%;
  padding: 120px 8% 60px;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
  z-index: 2;
}
@media (max-width: 1200px) {
  #generate-slideout-menu .inside-navigation {
    padding: 120px 5% 60px;
  }
}
@media (max-width: 768px) {
  #generate-slideout-menu .inside-navigation {
    padding: 100px 8% 40px;
  }
}
#generate-slideout-menu .slideout-exit {
  position: absolute;
  top: 30px;
  right: 8%;
  background: none;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 1001;
}
@media (max-width: 1200px) {
  #generate-slideout-menu .slideout-exit {
    right: 5%;
  }
}
@media (max-width: 768px) {
  #generate-slideout-menu .slideout-exit {
    right: 8%;
    top: 25px;
  }
}
#generate-slideout-menu .slideout-exit svg {
  width: 24px;
  height: 24px;
  color: #1d1d1f;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#generate-slideout-menu .slideout-exit:hover svg {
  transform: scale(1.1);
  color: #0066cc;
}
#generate-slideout-menu .main-nav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
}
#generate-slideout-menu .main-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
#generate-slideout-menu .main-nav .menu-item {
  border: none;
  margin: 0;
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1s cubic-bezier(0.32, 0.72, 0, 1) forwards;
  display: flex;
  align-items: center;
  justify-content: center;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(1) {
  animation-delay: 0.4s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(2) {
  animation-delay: 0.5s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(3) {
  animation-delay: 0.6s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(4) {
  animation-delay: 0.7s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(5) {
  animation-delay: 0.8s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(6) {
  animation-delay: 0.9s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(7) {
  animation-delay: 1s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(8) {
  animation-delay: 1.1s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(9) {
  animation-delay: 1.2s;
}
#generate-slideout-menu .main-nav .menu-item:nth-child(10) {
  animation-delay: 1.3s;
}
#generate-slideout-menu .main-nav .menu-item a {
  display: block;
  padding: 20px 0;
  color: #1d1d1f;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
  letter-spacing: -0.02em;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
#generate-slideout-menu .main-nav .menu-item a:hover {
  color: #0066cc;
  transform: translateX(10px);
}
#generate-slideout-menu .main-nav .menu-item a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 102, 204, 0.05), transparent);
  transition: left 0.6s ease;
}
#generate-slideout-menu .main-nav .menu-item a:hover::before {
  left: 100%;
}
#generate-slideout-menu .main-nav .menu-item:last-child a {
  border-bottom: none;
}
#generate-slideout-menu .main-nav .menu-item.current-menu-item a {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#generate-slideout-menu .main-nav .menu-item.current-menu-item a:hover {
  background: var(--dbw-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#generate-slideout-menu .menu-buttons {
  margin-top: 0;
  text-align: left;
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1s cubic-bezier(0.32, 0.72, 0, 1) forwards;
  animation-delay: 1s;
  display: flex;
  align-items: center;
  justify-content: center;
}
#generate-slideout-menu .menu-buttons .gb-text {
  display: inline-block;
  padding: 20px 0;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
  letter-spacing: -0.02em;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  max-width: -moz-fit-content;
  max-width: fit-content;
  color: #1d1d1f;
  border-radius: 0;
  box-shadow: none;
  background: none;
}
#generate-slideout-menu .menu-buttons .gb-text:hover {
  color: #0066cc;
  transform: translateX(10px);
}
#generate-slideout-menu .menu-buttons .gb-text::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 102, 204, 0.05), transparent);
  transition: left 0.6s ease;
}
#generate-slideout-menu .menu-buttons .gb-text:hover::before {
  left: 100%;
}
@media (max-width: 768px) {
  #generate-slideout-menu .main-nav .menu-item a {
    padding: 16px 0;
    font-size: clamp(24px, 7vw, 36px);
  }
  #generate-slideout-menu .menu-buttons .gb-text {
    padding: 16px 0;
    font-size: clamp(24px, 7vw, 36px);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
body.slideout-open #generate-slideout-menu {
  z-index: 1000;
}
.offside-js--interact .offside,
.offside-js--interact .offside-sliding-element {
  transition-timing-function: cubic-bezier(0.32, 0.72, 0, 1) !important;
  transition-duration: 0.6s !important;
}
nav.offside--right {
  left: 0 !important;
  right: auto !important;
  width: 100vw !important;
  transform: translateY(-100%) !important;
}
nav.offside--right.is-open:not(.slideout-transition) {
  transform: translateY(0) !important;
}
body .top-bar {
  padding: 10px;
  background-color: #1d1d1f;
}
@media (max-width: 768px) {
  body .top-bar {
    display: none;
  }
}
main,
.site-content {
  transition: padding-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.gb-button {
  cursor: pointer;
  transition: 0.3s ease all;
}
.intro .content {
  position: relative;
  z-index: 1;
}
.intro .content > * {
  max-width: 66%;
}

/*# sourceMappingURL=index.css.map*/