.elementor-kit-3064{--e-global-color-primary:#1D8DA3;--e-global-color-secondary:#4A616C;--e-global-color-text:#4A616C;--e-global-color-accent:#156D7E;--e-global-color-30675e8:#3A4D56;--e-global-color-7a6ed5e:#2C3A42;--e-global-color-f70d185:#1D272D;--e-global-color-d3869e4:#5FB6C8;--e-global-color-e5b66cd:#7C8A93;--e-global-color-5b71cc6:#F3F5F6;--e-global-color-5d071e9:#FAFBFC;--e-global-color-a03e17a:#FFFFFF;--e-global-color-f1056bb:#FBBC04;--e-global-color-whitemut:rgba(255,255,255,0.75);--e-global-color-anthr75:rgba(74, 97, 108, 0.75);--e-global-color-anthr85:rgba(74, 97, 108, 0.85);--e-global-color-white85:rgba(255,255,255,0.85);--e-global-color-white70:rgba(255,255,255,0.70);--e-global-color-hscrim94:rgba(20,30,35,0.94);--e-global-color-hscrim50:rgba(20,30,35,0.50);--e-global-color-anthr80:rgba(74, 97, 108, 0.8);--e-global-color-white80:rgba(255,255,255,0.8);--e-global-color-anthr50:rgba(74, 97, 108, 0.5);--e-global-color-white90:rgba(255,255,255,0.9);--e-global-color-borderlt:#E5EAEC;--e-global-color-anthr90:rgba(74, 97, 108, 0.9);--e-global-color-turq10:rgba(29, 141, 163, 0.1);--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-size:clamp(2.5rem, 5.5vw, 4.5rem);--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.04em;--e-global-typography-secondary-font-family:"Sora";--e-global-typography-secondary-font-size:clamp(1.875rem, 4.69vw, 3rem);--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:-0.015em;--e-global-typography-text-font-family:"Sora";--e-global-typography-text-font-size:clamp(1rem, 1.76vw, 1.125rem);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Sora";--e-global-typography-accent-font-size:0.8125rem;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.5em;--e-global-typography-accent-letter-spacing:0.08em;--e-global-typography-ae9c70e-font-family:"Sora";--e-global-typography-ae9c70e-font-size:1.5rem;--e-global-typography-ae9c70e-font-weight:700;--e-global-typography-ae9c70e-line-height:32px;--e-global-typography-f879a6a-font-family:"Sora";--e-global-typography-f879a6a-font-size:0.875rem;--e-global-typography-f879a6a-font-weight:600;--e-global-typography-f879a6a-letter-spacing:0.3px;--e-global-typography-909fea4-font-family:"Sora";--e-global-typography-909fea4-font-size:clamp(2.25rem, 4.69vw, 3rem);--e-global-typography-909fea4-font-weight:800;--e-global-typography-909fea4-line-height:0.9em;--e-global-typography-909fea4-letter-spacing:-0.04em;--e-global-typography-5094c07-font-family:"Sora";--e-global-typography-5094c07-font-size:clamp(6rem, 16vw, 14rem);--e-global-typography-5094c07-font-weight:700;--e-global-typography-5094c07-line-height:0.7em;--e-global-typography-f238935-font-family:"Sora";--e-global-typography-f238935-font-size:1rem;--e-global-typography-f238935-font-weight:600;--e-global-typography-f238935-text-transform:none;--e-global-typography-8e061a4-font-family:"Sora";--e-global-typography-8e061a4-font-size:0.875rem;--e-global-typography-8e061a4-font-weight:600;--e-global-typography-b3hero01-font-family:"Sora";--e-global-typography-b3hero01-font-size:2.25rem;--e-global-typography-b3hero01-font-weight:700;--e-global-typography-b3hero01-line-height:40px;--e-global-typography-dnum0001-font-family:"Sora";--e-global-typography-dnum0001-font-size:clamp(4.5rem, 11vw, 9rem);--e-global-typography-dnum0001-font-weight:800;--e-global-typography-dnum0001-line-height:0.85em;--e-global-typography-dnum0001-letter-spacing:-0.04em;--e-global-typography-hlead001-font-family:"Sora";--e-global-typography-hlead001-font-size:1.25rem;--e-global-typography-hlead001-font-weight:400;--e-global-typography-hlead001-line-height:1.4em;--e-global-typography-matovr01-font-family:"Sora";--e-global-typography-matovr01-font-size:4.5rem;--e-global-typography-matovr01-font-weight:800;--e-global-typography-matovr01-line-height:1em;--e-global-typography-matovr01-letter-spacing:-0.04em;--e-global-typography-qovr0001-font-family:"Sora";--e-global-typography-qovr0001-font-size:clamp(1.5rem, 3.8vw, 3rem);--e-global-typography-qovr0001-font-weight:800;--e-global-typography-qovr0001-line-height:1em;--e-global-typography-qovr0001-letter-spacing:-0.025em;--e-global-typography-dphr0001-font-family:"Sora";--e-global-typography-dphr0001-font-size:3rem;--e-global-typography-dphr0001-font-weight:800;--e-global-typography-dphr0001-line-height:1em;--e-global-typography-dphr0001-letter-spacing:-0.04em;--e-global-typography-shlg0001-font-family:"Sora";--e-global-typography-shlg0001-font-size:3.75rem;--e-global-typography-shlg0001-font-weight:800;--e-global-typography-shlg0001-line-height:1em;--e-global-typography-shlg0001-letter-spacing:-0.04em;--e-global-typography-hdsm0001-font-family:"Sora";--e-global-typography-hdsm0001-font-size:1.125rem;--e-global-typography-hdsm0001-font-weight:700;--e-global-typography-hdsm0001-line-height:28px;--e-global-typography-bdsm0001-font-size:0.875rem;--e-global-typography-bdsm0001-font-weight:400;--e-global-typography-bdsm0001-line-height:1.6em;--e-global-typography-lfl18-font-family:"Sora";--e-global-typography-lfl18-font-size:18px;--e-global-typography-lfl18-font-weight:400;--e-global-typography-lfl18-line-height:1.625em;--e-global-typography-lfl16-font-family:"Sora";--e-global-typography-lfl16-font-size:16px;--e-global-typography-lfl16-font-weight:400;--e-global-typography-lfl16-line-height:1.625em;--e-global-typography-h2sec001-font-family:"Sora";--e-global-typography-h2sec001-font-size:3rem;--e-global-typography-h2sec001-font-weight:700;--e-global-typography-h2sec001-line-height:1em;--e-global-typography-h2sec001-letter-spacing:-0.025em;--e-global-typography-bst1618-font-family:"Sora";--e-global-typography-bst1618-font-size:1.125rem;--e-global-typography-bst1618-font-weight:400;--e-global-typography-bst1618-line-height:28px;--e-global-typography-h2nt0001-font-family:"Sora";--e-global-typography-h2nt0001-font-size:3rem;--e-global-typography-h2nt0001-font-weight:700;--e-global-typography-h2nt0001-line-height:1em;--e-global-typography-bnum0001-font-family:"Sora";--e-global-typography-bnum0001-font-size:4.5rem;--e-global-typography-bnum0001-font-weight:700;--e-global-typography-bnum0001-line-height:1em;--e-global-typography-h3st0001-font-family:"Sora";--e-global-typography-h3st0001-font-size:2.25rem;--e-global-typography-h3st0001-font-weight:700;--e-global-typography-h3st0001-line-height:40px;--e-global-typography-dmus0001-font-family:"Sora";--e-global-typography-dmus0001-font-size:3rem;--e-global-typography-dmus0001-font-weight:800;--e-global-typography-dmus0001-line-height:1em;--e-global-typography-btnsm001-font-family:"Sora";--e-global-typography-btnsm001-font-size:0.875rem;--e-global-typography-btnsm001-font-weight:600;--e-global-typography-btnsm001-text-transform:none;--e-global-typography-h2ovr01-font-family:"Sora";--e-global-typography-h2ovr01-font-size:48px;--e-global-typography-h2ovr01-font-weight:800;--e-global-typography-h2ovr01-line-height:48px;--e-global-typography-h2ovr01-letter-spacing:-0.04em;--e-global-typography-h3kt001-font-family:"Sora";--e-global-typography-h3kt001-font-size:36px;--e-global-typography-h3kt001-font-weight:700;--e-global-typography-h3kt001-line-height:40px;--e-global-typography-qt1618-font-family:"Sora";--e-global-typography-qt1618-font-size:18px;--e-global-typography-qt1618-font-weight:400;--e-global-typography-qt1618-line-height:28px;--e-global-typography-lblup01-font-family:"Sora";--e-global-typography-lblup01-font-size:14px;--e-global-typography-lblup01-font-weight:400;--e-global-typography-lblup01-text-transform:uppercase;--e-global-typography-lblup01-letter-spacing:0.05em;--e-global-typography-vlk18sb-font-family:"Sora";--e-global-typography-vlk18sb-font-size:18px;--e-global-typography-vlk18sb-font-weight:600;--e-global-typography-vlk18sb-line-height:28px;color:#4A616C;font-family:"Sora", Sans-serif;font-weight:400;}.elementor-kit-3064 e-page-transition{background-color:#FFBC7D;}.elementor-kit-3064 button,.elementor-kit-3064 input[type="button"],.elementor-kit-3064 input[type="submit"],.elementor-kit-3064 .elementor-button{font-family:var( --e-global-typography-f238935-font-family ), Sans-serif;font-size:var( --e-global-typography-f238935-font-size );font-weight:var( --e-global-typography-f238935-font-weight );text-transform:var( --e-global-typography-f238935-text-transform );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-3064 button,.elementor-kit-3064 input[type="button"],.elementor-kit-3064 input[type="submit"],.elementor-kit-3064 .elementor-button{font-size:var( --e-global-typography-f238935-font-size );}}@media(max-width:1024px){.elementor-kit-3064{--e-global-typography-ae9c70e-font-size:1.25rem;--e-global-typography-ae9c70e-line-height:28px;--e-global-typography-b3hero01-font-size:1.875rem;--e-global-typography-b3hero01-line-height:1.25em;--e-global-typography-hlead001-font-size:1.125rem;--e-global-typography-hlead001-line-height:1.375em;--e-global-typography-matovr01-font-size:3rem;--e-global-typography-matovr01-line-height:1em;--e-global-typography-qovr0001-font-size:1.875rem;--e-global-typography-qovr0001-line-height:36px;--e-global-typography-dphr0001-font-size:1.875rem;--e-global-typography-dphr0001-line-height:1.05em;--e-global-typography-shlg0001-font-size:3rem;--e-global-typography-shlg0001-line-height:1em;--e-global-typography-h2sec001-font-size:2.25rem;--e-global-typography-h2sec001-line-height:40px;--e-global-typography-bst1618-font-size:1rem;--e-global-typography-bst1618-line-height:1.625em;--e-global-typography-h2nt0001-font-size:2.25rem;--e-global-typography-h2nt0001-line-height:40px;--e-global-typography-bnum0001-font-size:3.75rem;--e-global-typography-bnum0001-line-height:1em;--e-global-typography-h3st0001-font-size:1.875rem;--e-global-typography-h3st0001-line-height:36px;--e-global-typography-dmus0001-font-size:1.875rem;--e-global-typography-dmus0001-line-height:1em;--e-global-typography-h2ovr01-font-size:36px;--e-global-typography-h2ovr01-line-height:40px;--e-global-typography-h3kt001-font-size:24px;--e-global-typography-h3kt001-line-height:30px;--e-global-typography-qt1618-font-size:16px;--e-global-typography-qt1618-line-height:26px;}.elementor-kit-3064 button,.elementor-kit-3064 input[type="button"],.elementor-kit-3064 input[type="submit"],.elementor-kit-3064 .elementor-button{font-size:var( --e-global-typography-f238935-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-3064{--e-global-typography-primary-font-size:2.125rem;--e-global-typography-ae9c70e-font-size:1.25rem;--e-global-typography-ae9c70e-line-height:28px;--e-global-typography-909fea4-font-size:1.375rem;--e-global-typography-f238935-font-size:0.875rem;--e-global-typography-b3hero01-font-size:1.875rem;--e-global-typography-b3hero01-line-height:1.25em;--e-global-typography-hlead001-font-size:1.125rem;--e-global-typography-hlead001-line-height:1.375em;--e-global-typography-matovr01-font-size:3rem;--e-global-typography-matovr01-line-height:1em;--e-global-typography-qovr0001-font-size:1.5rem;--e-global-typography-qovr0001-line-height:1.15em;--e-global-typography-dphr0001-font-size:1.875rem;--e-global-typography-dphr0001-line-height:1.05em;--e-global-typography-shlg0001-font-size:2.25rem;--e-global-typography-shlg0001-line-height:40px;--e-global-typography-h2sec001-font-size:1.875rem;--e-global-typography-h2sec001-line-height:1.05em;--e-global-typography-bst1618-font-size:1rem;--e-global-typography-bst1618-line-height:1.625em;--e-global-typography-h2nt0001-font-size:1.875rem;--e-global-typography-h2nt0001-line-height:1.25em;--e-global-typography-bnum0001-font-size:3.75rem;--e-global-typography-bnum0001-line-height:1em;--e-global-typography-h3st0001-font-size:1.5rem;--e-global-typography-h3st0001-line-height:30px;--e-global-typography-dmus0001-font-size:1.875rem;--e-global-typography-dmus0001-line-height:1em;--e-global-typography-btnsm001-font-size:0.8125rem;--e-global-typography-h2ovr01-font-size:30px;--e-global-typography-h2ovr01-line-height:36px;--e-global-typography-h3kt001-font-size:24px;--e-global-typography-h3kt001-line-height:30px;--e-global-typography-qt1618-font-size:16px;--e-global-typography-qt1618-line-height:26px;}.elementor-kit-3064 button,.elementor-kit-3064 input[type="button"],.elementor-kit-3064 input[type="submit"],.elementor-kit-3064 .elementor-button{font-size:var( --e-global-typography-f238935-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Hero inner padding entfernt auf User-Wunsch (Build weicht hier bewusst
   von Vorlage ab — Vorlage hat 40px Tailwind-Container-Padding, Build nicht). */

/* === Hero Stat-Strip dividers (Vorlage: border-left between blocks @ md+) ===
   Elementor exposes border per container but not "border between flex children". */
@media (min-width: 768px) {
  .fa-stat-strip > *:not(:first-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.25);
  }
}

/* === Hero Gradient-Overlay ===
   Vorlage hat zwei gestapelte linear-gradients: links-fade horizontal +
   bottom-darken vertical, fuer Text-Lesbarkeit auf hellem BG-Image.
   Elementor's container background_overlay unterstuetzt nur 1 gradient
   und max 2 color-stops — multi-stop gestackt geht nur via Pseudo. */
.fa-hero-overlay { position: relative; }
.fa-hero-overlay::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(28,38,45,0.88) 0%, rgba(28,38,45,0.55) 45%, rgba(28,38,45,0.15) 75%, rgba(28,38,45,0.05) 100%),
    linear-gradient(to bottom, rgba(28,38,45,0.20) 0%, rgba(28,38,45,0.05) 30%, rgba(28,38,45,0.55) 100%);
  z-index: 1;
}
@media (max-width: 1023px) {
  .fa-hero-overlay::before {
    background: linear-gradient(to bottom, rgba(28,38,45,0.55) 0%, rgba(28,38,45,0.15) 35%, rgba(28,38,45,0.85) 100%);
  }
}
.fa-hero-overlay > .e-con-inner,
.fa-hero-overlay > * { position: relative; z-index: 2; }

/* === Hero A4.BG-MOSAIC tile images ===
   Layout (grid columns, gap, per-tile spans) lives in Elementor
   Container-Settings (container_type=grid + grid_column_custom per Tile).
   This rule covers the non-native bits: aspect-ratio (Elementor Image-Widget
   does not expose aspect-ratio), object-fit (likewise not native), and
   a subtle 1px hairline border for the photo cards. */
.fa-mosaic-tile-wrap img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

/* === Leistungen Bento Card Gradient Overlays ===
   Elementor's container background_overlay only supports 2-color-stop
   gradients. Vorlage uses 3-stop (from-deepest via 70% to 10%) which
   produces a more transparent middle band so the image breathes through.
   Pseudo-element overlay is the cleanest 3-stop approximation. */
.fa-bento-card { position: relative; overflow: hidden; }
.fa-bento-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.fa-bento-card-strong::before {
  background: linear-gradient(to top right,
    #1d272d 0%,
    rgba(29, 39, 45, 0.7) 50%,
    rgba(29, 39, 45, 0.1) 100%);
}
.fa-bento-card-light::before {
  background: linear-gradient(to top right,
    rgba(29, 39, 45, 0.85) 0%,
    rgba(29, 39, 45, 0.55) 50%,
    rgba(29, 39, 45, 0.15) 100%);
}
/* Content above the gradient */
.fa-bento-card > .e-con-inner,
.fa-bento-card > * { position: relative; z-index: 2; }

/* === Hero content-row layout (Custom-CSS-Verbleibsel) ===
   Elementor's `width` setting on flex-item containers does not reliably apply
   when the parent is content_width=full and children mix boxed/full modes.
   Native settings produced 1232px text-col and 0px mosaic-col despite explicit
   widths. Pragmatic override via css_classes .elementor-kit-3064s: */
/* === Hero content_row — CSS-Grid Halbverband mit Bleed (Phase 25c 2026-05-28) ===
   2D-Komplexität: text-col 7fr + mosaic-col 5fr + Mosaic-Bleed bis Viewport-Rand.
   Grid statt Flex (Container-Konvention Punkt 3 — Grid bei 2D). */
.fa-hero-content-row {
  display: grid !important;
  grid-template-columns: 7fr 5fr;
  gap: 48px;
  align-items: center;
  overflow: visible;
}
.fa-hero-content-row > .fa-mosaic-tile-wrap {
  max-width: 720px;
  /* Bleed: mosaic-col extends bis Viewport-Rand auf Desktop */
  margin-right: calc(50% - 50vw + 40px);
}
@media (max-width: 1024px) {
  .fa-hero-content-row {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .fa-hero-content-row > .fa-mosaic-tile-wrap {
    margin-right: 0;
    max-width: 100%;
  }
}

/* === G2 Foto-Marquee: nur fluide Bildhoehe (kein natives clamp-Control) — Rest im kunde-marquee-Widget (Plugin) === */
.fa-strip-h .kunde-marquee__item { height: clamp(18rem, 37.5vw, 24rem); }

/* === C7.MARQUEE Brand-Slider === */
.brand-slider {
  width: 100%;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.brand-slider-track {
  display: flex;
  gap: 3.5rem;
  align-items: center;
  width: max-content;
  animation: brand-marquee-loop var(--brand-marquee-duration, 40s) linear infinite;
}
.brand-slider:hover .brand-slider-track,
.brand-slider:focus-within .brand-slider-track { animation-play-state: paused; }
.brand-logo {
  flex: 0 0 auto;
  width: 8rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.brand-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  opacity: 0.55;
  transition: opacity 0.25s ease;
  display: block;
}
.brand-logo:hover img { opacity: 0.9; }
.brand-logo img[src*="cerdomus"],
.brand-logo img[src*="sintesi"],
.brand-logo img[src*="grespania"] { filter: brightness(0); }
.brand-logo img[src*="emco"] { filter: grayscale(1); }
.brand-logo img[src*="piemme"],
.brand-logo img[src*="kersano"],
.brand-logo img[src*="mirage"],
.brand-logo img[src*="cerabella"] { mix-blend-mode: multiply; }
.brand-logo:has(img[src*="sichenia"]) {
  background: #3a4750;
  border-radius: .375rem;
  padding: 0 .5rem;
}
.brand-logo:has(img[src*="sichenia"]) img { opacity: 0.85; }
.brand-logo:has(img[src*="sichenia"]):hover img { opacity: 1; }
@keyframes brand-marquee-loop {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .brand-slider-track { animation: none; }
}

/* Hero lead text white/85 (matches Vorlage text-white/85) */
.fa-hero-lead { max-width: 36rem !important; }

/* === Stat-Strip Items (Phase 25c 2026-05-28) ===
   Desktop ≥ 768: 3-col flex-row, je 33.33%. Mobile <768: 50/50 für Item 1+2, 100% für Item 3 (wrap). */
.fa-stat-strip { flex-wrap: wrap !important; }
.fa-stat-item { flex: 0 0 calc(100% / 3) !important; max-width: calc(100% / 3); }
@media (max-width: 767px) {
  .fa-stat-item .elementor-widget-text-editor p { font-size: 0.7rem; }
  .fa-stat-item + .fa-stat-item { border-left: 1px solid rgba(255,255,255,0.25); }
}
@media (min-width: 768px) {
  .fa-stat-item + .fa-stat-item { border-left: 1px solid rgba(255,255,255,0.25); }
}

/* === Inline-HTML Text-Emphasis (Phase 25c 2026-05-28) ===
   strong auf 600 (Vorlage `font-semibold`), Body-Akzent-Klasse für inline-em-Spans. */
.elementor strong { font-weight: 600; }
.fa-text-emphasis { color: rgba(255,255,255,0.95); font-weight: 500; }


/* === Stat-Number Layout (Phase 25c 2026-05-28) ===
   Bezieht Typography aus Kit-Global Oversize-Stat (909fea4) + White-Color (a03e17a). */
.fa-stat-number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
  color: var(--e-global-color-a03e17a);
  font-family: var(--e-global-typography-909fea4-font-family);
  font-size: var(--e-global-typography-909fea4-font-size);
  font-weight: var(--e-global-typography-909fea4-font-weight);
  line-height: 1;
  letter-spacing: var(--e-global-typography-909fea4-letter-spacing);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.fa-stat-star {
  color: var(--e-global-color-f1056bb); /* Gold */
  font-size: 1rem;
}
.fa-stat-item .elementor-widget-text-editor p { margin: 0; line-height: 1.43; letter-spacing: 0.025em; opacity: 0.7; }

/* === Hero Mosaic Halbverband (Phase 25c 2026-05-28, Vorlage 1:1) ===
   Desktop ≥ 1024: 4-col Grid mit 6 Bildern in 3 versetzten Reihen.
   Mobile/Tablet < 1024: 2-col Grid, jedes Bild span 1, grid-row auto → 3 Reihen à 2 Bilder gleich groß. */
.fa-mosaic-tile-wrap {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  max-width: 720px;
}
.fa-mosaic-tile-wrap > .elementor-element:nth-child(1) { grid-column: 1 / span 2; grid-row: 1; }
.fa-mosaic-tile-wrap > .elementor-element:nth-child(2) { grid-column: 3 / span 2; grid-row: 1; }
.fa-mosaic-tile-wrap > .elementor-element:nth-child(3) { grid-column: 2 / span 2; grid-row: 2; }
.fa-mosaic-tile-wrap > .elementor-element:nth-child(4) { grid-column: 4 / span 2; grid-row: 2; }
.fa-mosaic-tile-wrap > .elementor-element:nth-child(5) { grid-column: 1 / span 2; grid-row: 3; }
.fa-mosaic-tile-wrap > .elementor-element:nth-child(6) { grid-column: 3 / span 2; grid-row: 3; }
@media (max-width: 1023px) {
  .fa-mosaic-tile-wrap {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 100%;
  }
  .fa-mosaic-tile-wrap > .elementor-element {
    grid-column: span 1 !important;
    grid-row: auto !important;
  }
}
.fa-btn-cta .elementor-button { white-space: nowrap; }

/* === G1 Divider with Mark (Section 4) — self-contained HTML widget === */
.fa-divider-inner { display: flex; flex-wrap: nowrap; align-items: center; gap: 1.5rem; width: 100%; color: var(--e-global-color-secondary, #4A616C); }
.fa-divider-inner .fa-divider-line { flex: 1 1 auto; height: 1px; background: currentColor; opacity: 0.18; }
.fa-divider-inner .fa-divider-mark { flex: 0 0 auto; width: 28px; height: 26px; line-height: 0; color: var(--e-global-color-primary, #1D8DA3); }
.fa-divider-inner .fa-divider-mark svg { width: 100%; height: 100%; display: block; }


/* === Section 5: 16:9 rounded image === */
.fa-img-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; border-radius: 0.5rem; display: block; }


/* === Section 5: Google badge logo === */
.fa-google-logo { display: block; line-height: 0; }
.fa-google-logo svg { width: 56px; height: 56px; display: block; }
@media (min-width: 1025px) { .fa-google-logo svg { width: 64px; height: 64px; } }


/* === C7 Brand-Slider text fallback (Logos noch nicht hochgeladen) === */
.brand-fallback { display: none; font-family: "Sora", sans-serif; font-weight: 600; font-size: 1.125rem; letter-spacing: 0.01em; white-space: nowrap; color: var(--e-global-color-secondary, #4A616C); }


/* === Section 5 Accordion: flush, nur Trennlinie zwischen Items (Vorlage) === */
.fa-accordion-flush .elementor-accordion-item { border: 0 !important; }
.fa-accordion-flush .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid var(--e-global-color-5b71cc6, #F3F5F6) !important; }
.fa-accordion-flush .elementor-tab-content { border: 0 !important; }

/* === Section 7 Material-Stories === */
.fa-mat-imgcol { overflow: hidden; }
.fa-mat-link { display: inline-flex; align-items: center; gap: 0.5rem; font-family: 'Sora', sans-serif; font-weight: 600; font-size: 1rem; line-height: 1.5; color: var(--e-global-color-primary); text-decoration: none; transition: gap 0.25s ease; }
.fa-mat-link:hover { gap: 0.75rem; }
.fa-mat-link.fa-mat-link-light { color: var(--e-global-color-d3869e4); }

/* === Section 8 GF-Zitat === */
.fa-gf-sec { position: relative; z-index: 0; overflow: hidden; }
.fa-gf-watermark { position: absolute; left: 0; bottom: -48px; width: 40rem; max-width: 62vw; color: var(--e-global-color-primary); opacity: 0.06; pointer-events: none; line-height: 0; z-index: -1; }
.fa-gf-watermark svg { width: 100%; height: auto; display: block; }
@media (max-width: 1024px) { .fa-gf-watermark { left: -80px; bottom: -80px; width: 24rem; } }
.fa-gf-portrait { position: relative; max-width: 448px !important; width: 100%; aspect-ratio: 3 / 4; }
.fa-gf-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.fa-gf-qcol { position: relative; }
.fa-gf-qmark { position: absolute; top: -48px; left: -8px; line-height: 0.7; opacity: 0.18; pointer-events: none; user-select: none; }
@media (max-width: 1024px) { .fa-gf-qmark { top: -32px; left: -2px; } }
.fa-gf-attrib { display: flex; align-items: center; gap: 1rem; }
.fa-gf-attrib .fa-gf-rule { width: 48px; height: 1px; background: var(--e-global-color-d3869e4); flex: 0 0 auto; }
.fa-gf-name { font-family: 'Sora', sans-serif; font-weight: 600; color: var(--e-global-color-a03e17a); }
.fa-gf-role { font-size: 0.875rem; color: rgba(255,255,255,0.65); margin-top: 2px; }

/* === Section 9 Ausstellung START === */
.fa-aus-sec { position: relative; overflow: hidden; }
.fa-aus-w672 { max-width: 42rem !important; }
.fa-info-card { border: 1px solid rgba(74,97,108,0.15); border-radius: 6px; }
.fa-card-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--e-global-color-e5b66cd); }
.fa-card-val { margin-top: 8px; line-height: 1.6; color: var(--e-global-color-secondary); }
.fa-aus-video { flex-shrink: 0; }
/* === Section 9 Ausstellung END === */

/* === Section 10 Prozess START === */
.fa-proz-sec { position: relative; z-index: 0; overflow: hidden; }
.fa-proz-header { max-width: 48rem; }
.fa-proz-watermark { position: absolute; right: 0; bottom: -48px; width: 40rem; max-width: 62vw; color: var(--e-global-color-primary); opacity: 0.06; pointer-events: none; line-height: 0; z-index: -1; }
.fa-proz-watermark svg { width: 100%; height: auto; display: block; }
@media (max-width:1024px){ .fa-proz-watermark { right: -80px; bottom: -80px; width: 24rem; } }
.fa-step { position: relative; }
.fa-step-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 2px; }
.fa-step3-img img { object-position: 70% center; box-shadow: 0 0 0 2px rgba(95,182,200,0.7), 0 0 50px rgba(95,182,200,0.3); }
.fa-step-num { width: 3rem; height: 3rem; border-radius: 9999px; background: var(--e-global-color-primary); color: var(--e-global-color-a03e17a); display: flex; align-items: center; justify-content: center; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.125rem; }
.fa-step-num-hl { background: var(--e-global-color-a03e17a); color: var(--e-global-color-primary); }
.fa-swap-badge { display: none; }
@media (min-width:1025px){ .fa-swap-badge { display: flex; position: absolute; left: -10px; top: 28%; transform: translate(-50%, -50%); z-index: 20; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--e-global-color-d3869e4); color: var(--e-global-color-f70d185); line-height: 1; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.3); border: 6px solid var(--e-global-color-f70d185); } }
.fa-swap-badge svg { width: 1.5rem; height: 1.5rem; display: block; }
.fa-swap-wrap.elementor-widget { position: static; }
/* === Section 10 Prozess END === */
/* === fa-badge-unit START === */
.fa-badge-unit { font-size:24px; font-weight:600; color:var(--e-global-color-anthr50); margin-left:0.25em; }
@media (min-width: 1025px) { .fa-badge-unit { font-size:30px; } }
/* === fa-badge-unit END === */
/* === fa-header-footer START === */
.fa-mainnav{display:flex;gap:2rem;align-items:center}
.fa-mainnav a{color:var(--e-global-color-secondary);font-family:'Sora',system-ui,sans-serif;font-weight:500;font-size:.875rem;text-decoration:none;transition:color .2s}
.fa-mainnav a:hover{color:var(--e-global-color-primary)}
.fa-header-phone a{color:var(--e-global-color-secondary);font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:.875rem;text-decoration:none;font-variant-numeric:tabular-nums;transition:color .2s}
.fa-header-phone a:hover{color:var(--e-global-color-primary)}
.fa-header-logo img{height:auto;display:block}
.fa-header-logo,.fa-header-nav{flex:0 0 auto}
.fa-header-right{flex:0 0 auto;width:auto}
.fa-footer-logo img{filter:brightness(0) invert(1);height:80px;width:auto}
@media(min-width:1025px){.fa-footer-logo img{height:96px}}
.fa-footer-eyebrow{color:rgba(255,255,255,.45);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0}
.fa-footer-block{color:rgba(255,255,255,.85);font-size:.875rem;line-height:1.625}
.fa-footer-block address{font-style:normal;margin:1.25rem 0 0}
.fa-footer-block ul{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.fa-footer-block a{color:rgba(255,255,255,.85);text-decoration:none;transition:color .2s;display:inline-flex;align-items:center;gap:.6rem}
.fa-footer-block a:hover{color:#fff}
.fa-footer-block svg{width:1rem;height:1rem;flex-shrink:0;color:var(--e-global-color-d3869e4)}
.fa-footer-nav nav{display:flex;flex-direction:column;gap:.6rem;margin-top:1.25rem}
.fa-footer-headline{color:#fff;font-size:1.25rem;font-weight:600;line-height:1.375;margin:1rem 0 0;max-width:20rem}
.fa-footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;width:100%}
@media(min-width:768px){.fa-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1025px){.fa-footer-grid{grid-template-columns:repeat(4,1fr)}}
.fa-footer-col{min-width:0}
.fa-footer-bottom{color:rgba(255,255,255,.55);font-size:.75rem}
.fa-footer-bottom a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.fa-footer-bottom a:hover{color:#fff}
.fa-footer-legal{display:flex;gap:1.25rem}
/* === fa-header-footer END === */
/* === fa-kontakt START === */
.fa-mw-3xl{max-width:768px}
.fa-kontakt-tile{position:relative;border-radius:8px;overflow:hidden}
.fa-kontakt-tile1::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--e-global-color-f70d185),var(--e-global-color-f70d185) 55%,rgba(29,141,163,.30));opacity:.9;pointer-events:none}
.fa-kontakt-tile1>*{position:relative;z-index:1}
.fa-kontakt-tile2{border:1px solid rgba(74,97,108,.10)}
.fa-kontakt-quote{position:relative;margin:2.5rem 0 0}
.fa-kontakt-quote .qm{position:absolute;top:-2.5rem;left:0;font-weight:700;color:var(--e-global-color-primary);opacity:.18;line-height:.7;font-size:clamp(6rem,11vw,9rem);pointer-events:none;user-select:none}
.fa-kontakt-quote blockquote{position:relative;margin:0;font-size:1rem;line-height:1.625;color:rgba(74,97,108,.9)}@media(min-width:1025px){.fa-kontakt-quote blockquote{font-size:1.125rem;line-height:1.556}}
.fa-kontakt-map .frame{overflow:hidden;border:1px solid rgba(74,97,108,.10)}
.fa-kontakt-map iframe{width:100%;aspect-ratio:4/3;display:block;border:0}
.fa-kontakt-map .route{margin-top:1rem;font-size:.875rem}
.fa-kontakt-map .route a{display:inline-flex;align-items:center;gap:.375rem;color:var(--e-global-color-primary);font-weight:600;text-decoration:none}
.fa-kontakt-map .route a:hover{text-decoration:underline}
.fa-kontakt-map .route svg{width:.875rem;height:.875rem}
/* === fa-kontakt END === */
/* === fa-faq START === */
.fa-accordion-faq .elementor-accordion{border-top:1px solid rgba(74,97,108,.2);border-bottom:1px solid rgba(74,97,108,.2)}
.fa-accordion-faq .elementor-accordion-item{border:0 !important;border-bottom:1px solid rgba(74,97,108,.2) !important}
.fa-accordion-faq .elementor-accordion-item:last-child{border-bottom:0 !important}
.fa-accordion-faq .elementor-tab-content{border:0 !important;padding:0 0 24px 0 !important}
@media(max-width:1024px){.fa-accordion-faq .elementor-tab-content{padding-bottom:20px !important}}
.fa-accordion-faq .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:transparent}
.fa-accordion-faq .elementor-tab-title .elementor-accordion-icon{order:2;margin:0;min-width:auto;width:auto;float:none}
.fa-accordion-faq .elementor-tab-title .elementor-accordion-title{flex:1}
.fa-accordion-faq .elementor-tab-content p{margin:0}
.fa-faqclose .elementor-button{white-space:nowrap}
.fa-faqclose .elementor-widget-button{flex:0 0 auto}
@media(min-width:768px){.fa-faqclose .elementor-widget-text-editor{flex:1 1 0%}}
/* === fa-faq END === */

.fa-w672 { max-width: 42rem !important; }
.fa-w576 { max-width: 36rem !important; }
.fa-strong-full strong { color: var(--e-global-color-secondary); }
@media (min-width: 1025px) {
  .fa-bento-k1w { flex: 0 0 calc((100% - 176px)/12*7 + 96px) !important; max-width: calc((100% - 176px)/12*7 + 96px); }
  .fa-bento-rcolw { flex: 0 0 calc((100% - 176px)/12*5 + 64px) !important; max-width: calc((100% - 176px)/12*5 + 64px); }
}
@media (min-width: 768px) {
  .fa-bento-k1fix { height: 576px; overflow: hidden; }
  .fa-bento-smfix { height: 280px; overflow: hidden; }
}
.fa-w768 { max-width: 48rem !important; }
.fa-w448 { max-width: 28rem !important; }
.fa-pb0 p:last-child { margin-bottom: 0; }
.fa-link-lb { line-height: 1.75; }
.fa-gf-watermark svg { max-width: none; }
@media (max-width: 1024px) { .fa-gf-watermark, .fa-proz-watermark { width: 24rem !important; max-width: none !important; } .fa-proz-watermark svg { max-width: none; } }
@media (min-width: 640px) { .fa-half-g16 { flex: 0 0 calc(50% - 8px) !important; max-width: calc(50% - 8px); } }
.fa-header-cta .elementor-button { white-space: nowrap; }
.fa-baseline { align-items: baseline !important; }
/* === No-Track-Headings: primary-ls-Default neutralisieren (2026-06-13) === */
.fa-track-normal .elementor-heading-title{letter-spacing:normal !important;}



/* Mobil: erzwungene Headline-Umbrueche aufheben (User 2026-07-09) */
@media (max-width: 767px) { .elementor-heading-title br { display: none; } }


/* S9 Ausstellung: kunde-gallery kollabierte mobil auf 12px (Items beziehen Hoehe rein aus
   aspect-ratio + absoluten Bildern -> intrinsic min-content der Flex-Spalte = nur der Gap;
   .fa-aus-sec overflow:hidden schnitt den Ueberlauf ab). Explizite min-height = exakte
   Renderhoehe: 2 Zeilen a ((Contentbreite - Gap)/2 * 3/4) + 1 Gap; Contentbreite = 100vw - 48px
   Seitenpadding. Gilt fuer 2 Spalten / 4 Items / AR 4:3 / gap 12 (Instanz 09139a01). */
@media (max-width: 767px) {
  .elementor-element-09139a01 .kunde-gallery { min-height: calc((100vw - 60px) * 0.75 + 12px); }
}


/* S10 Prozess: Schritt-Bilder mobil flacher (User 2026-07-09) — 4:5 nur ab Tablet. */
@media (max-width: 767px) {
  .fa-step-img img { aspect-ratio: 4 / 3; }
}/* End custom CSS */