/* ==========================================================================
   landing-divi.css - Brücke: Divi-Modul-Markup -> landing.css-Design
   Gehört zum Divi-Nachbau der Startseite. landing.css bleibt unverändert.
   ========================================================================== */

/* --- 1. Grundreset: Divi-Eigenabstände raus, cl-Klassen übernehmen --------- */
body.cl-divi-rebuild .et_pb_module { margin-bottom: 0 !important; }
body.cl-divi-rebuild .et_pb_section > .et_pb_row:not(:first-child) { padding-top: 0 !important; }
body.cl-divi-rebuild .et_pb_section > .et_pb_row:not(:last-child) { padding-bottom: 0 !important; }
body.cl-divi-rebuild .et_pb_text, body.cl-divi-rebuild .et_pb_text_inner { text-align: inherit; }
body.cl-divi-rebuild .et_pb_text_inner { display: flow-root; }
body.cl-divi-rebuild .et_pb_text_inner p:not([class]), body.cl-divi-rebuild .et_pb_blurb_description p:not([class]), body.cl-divi-rebuild .et_pb_toggle_content p:not([class]) { padding-bottom: 0; }
body.cl-divi-rebuild .et_pb_text.cl-standort-stat { text-align: center; }
body.cl-divi-rebuild .et_pb_code_inner ol, body.cl-divi-rebuild .et_pb_code_inner ul, body.cl-divi-rebuild .et_pb_text_inner ol, body.cl-divi-rebuild .et_pb_text_inner ul { padding-bottom: 0; }
body.cl-divi-rebuild .et_pb_image { margin-bottom: 0 !important; text-align: inherit; }
body.cl-divi-rebuild .et_pb_image .et_pb_image_wrap img { display: block; }
body.cl-divi-rebuild .et_pb_image .et_pb_image_wrap { display: block; }
body.cl-divi-rebuild .et_pb_module_header span, body.cl-divi-rebuild .et_pb_toggle_title span { font-family: inherit !important; font-weight: inherit; font-size: inherit; letter-spacing: inherit; color: inherit; }
body.cl-divi-rebuild .et_pb_blurb .et_pb_blurb_content { max-width: none; }
body.cl-divi-rebuild .et_pb_blurb .et_pb_blurb_container, body.cl-divi-rebuild .et_pb_blurb .et_pb_blurb_description { font-size: 16px; line-height: 1.7em; }
body.cl-divi-rebuild .cl-gallery-grid::before, body.cl-divi-rebuild .cl-gallery-grid::after, body.cl-divi-rebuild .cl-pillars::before, body.cl-divi-rebuild .cl-pillars::after, body.cl-divi-rebuild .cl-feature-grid::before, body.cl-divi-rebuild .cl-feature-grid::after, body.cl-divi-rebuild .cl-standort-stats::before, body.cl-divi-rebuild .cl-standort-stats::after, body.cl-divi-rebuild .cl-standort-content::before, body.cl-divi-rebuild .cl-standort-content::after, body.cl-divi-rebuild .cl-video-grid::before, body.cl-divi-rebuild .cl-video-grid::after, body.cl-divi-rebuild .cl-testimonials-grid::before, body.cl-divi-rebuild .cl-testimonials-grid::after, body.cl-divi-rebuild .cl-faq-section::before, body.cl-divi-rebuild .cl-faq-section::after, body.cl-divi-rebuild .cl-contact-layout::before, body.cl-divi-rebuild .cl-contact-layout::after { content: none; display: none; }
body.cl-divi-rebuild .et_pb_column.cl-feature-grid, body.cl-divi-rebuild .et_pb_column.cl-pillars,
body.cl-divi-rebuild .et_pb_column.cl-testimonials-grid { float: none; margin-left: auto !important; margin-right: auto !important; }
body.cl-divi-rebuild .et_pb_column.cl-timeline, body.cl-divi-rebuild .et_pb_column.cl-gallery-grid { float: none; width: 100vw !important; max-width: 100vw !important; margin-left: calc(-50vw + 50%) !important; margin-right: 0 !important; }
body.cl-divi-rebuild .cl-standort-content > .et_pb_column, body.cl-divi-rebuild .cl-video-grid > .et_pb_column,
body.cl-divi-rebuild .cl-faq-section > .et_pb_column, body.cl-divi-rebuild .cl-contact-layout > .et_pb_column { width: auto !important; max-width: none !important; margin: 0 !important; }

/* --- 2. Divi-Button-Modul -> cl-btn-Optik --------------------------------- */
body.cl-divi-rebuild .et_pb_button_module_wrapper {
  margin: 0; padding: 0; font-size: 16px; line-height: 1.7em;
  display: flex;   /* verhindert den Strut der Zeilenbox unter dem Button */
}
body.cl-divi-rebuild .et_pb_button_module_wrapper.et_pb_button_alignment_center { justify-content: center; }
body.cl-divi-rebuild .et_pb_button_module_wrapper.et_pb_button_alignment_right { justify-content: flex-end; }
body.cl-divi-rebuild .cl-hero > .et_pb_button_module_wrapper {
  display: flex; gap: 5px; justify-content: center; flex-wrap: wrap; margin-bottom: 28px !important;
}
body.cl-divi-rebuild .cl-consult-row .et_pb_button_module_wrapper {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 52px;
}
body.cl-divi-rebuild .cl-video-linkrow .et_pb_button_module_wrapper {
  display: flex; justify-content: center; margin-top: 32px !important;
}
body.cl-divi-rebuild a.et_pb_button.cl-btn-primary, body.cl-divi-rebuild a.et_pb_button.cl-btn-secondary {
  display: inline-flex !important; width: auto !important; max-width: 100%;
  font-size: 15px !important; line-height: inherit !important; font-weight: 600;
  letter-spacing: 0; border-radius: var(--cl-radius-pill) !important;
}
body.cl-divi-rebuild a.et_pb_button.cl-btn-primary, body.cl-divi-rebuild a.et_pb_button.cl-btn-primary:hover {
  padding: 15px 36px !important; border: none !important; color: var(--cl-white) !important;
}
body.cl-divi-rebuild a.et_pb_button.cl-btn-secondary, body.cl-divi-rebuild a.et_pb_button.cl-btn-secondary:hover {
  padding: 14px 36px !important; border: 2px solid var(--cl-ocker) !important;
}
body.cl-divi-rebuild a.et_pb_button.cl-btn-secondary { color: var(--cl-ocker) !important; background: transparent; }
body.cl-divi-rebuild a.et_pb_button.cl-btn-secondary:hover { color: var(--cl-white) !important; background: var(--cl-ocker); }
body.cl-divi-rebuild a.et_pb_button::after, body.cl-divi-rebuild a.et_pb_button::before { display: none !important; content: none !important; }
/* Divi erzwingt line-height:1.7em auf der Button-Schrift; die Seitenklassen der
   Originale setzen keine und erben 27.2px vom Umfeld. */
body.cl-divi-rebuild a.et_pb_button { line-height: inherit !important; }
body.cl-divi-rebuild .cl-video-link { margin-top: 32px; }

/* --- 3. Hero -------------------------------------------------------------- */
body.cl-divi-rebuild .cl-hero-sec.et_pb_section { padding: 0; }
body.cl-divi-rebuild .cl-hero-row.et_pb_row { padding: 0 !important; width: 100%; max-width: 100%; margin: 0; }
body.cl-divi-rebuild .et_pb_column.cl-hero {
  min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 120px 24px 80px; overflow: hidden; position: relative;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(191,167,98,0.18) 0%,
              rgba(212,196,142,0.10) 40%, var(--cl-muted-bg) 100%);
  background-size: 200% 200%; animation: cl-hero-bg 20s ease infinite;
}
body.cl-divi-rebuild .cl-hero > .et_pb_module {
  width: 100%; opacity: 0; transform: translateY(30px);
  animation: cl-fade-up 0.9s var(--cl-ease) forwards;
}
body.cl-divi-rebuild .cl-hero > .et_pb_module:nth-child(1) { animation-delay: 0.1s; }
body.cl-divi-rebuild .cl-hero > .et_pb_module:nth-child(2) { animation-delay: 0.25s; }
body.cl-divi-rebuild .cl-hero > .et_pb_module:nth-child(3) { animation-delay: 0.4s; }
body.cl-divi-rebuild .cl-hero > .et_pb_module:nth-child(4) { animation-delay: 0.55s; }
body.cl-divi-rebuild .cl-hero > .et_pb_module:nth-child(5) { animation-delay: 0.7s; }
body.cl-divi-rebuild .cl-hero > .et_pb_module:nth-child(6) { animation-delay: 0.85s; }
body.cl-divi-rebuild .cl-hero > .cl-hero-h1 { opacity: 1; transform: none; animation: none; }
body.cl-divi-rebuild .cl-hero .cl-hero-trust::before {
  content: ''; flex: 0 0 auto; width: 16px; height: 16px; opacity: 0.6;
  background: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22 viewBox=%220 0 16 16%22 fill=%22none%22><path d=%22M8 0L10.12 5.26L16 6.18L11.8 10.08L12.94 16L8 13.26L3.06 16L4.2 10.08L0 6.18L5.88 5.26L8 0Z%22 fill=%22%23BFA762%22/></svg>") no-repeat center / contain;
}

/* --- 4. Ökosystem-Illustration (Bild-Modul) ------------------------------- */
body.cl-divi-rebuild .cl-hero > .cl-eco-section {
  margin-bottom: 0 !important; width: 100vw !important; max-width: 100vw; margin-left: calc(-50vw + 50%); align-self: stretch;
  padding: 30px 0 50px; height: auto; min-height: 0;
  background: radial-gradient(ellipse 60% 35% at 50% 50%, rgba(190,165,100,0.05) 0%, transparent 70%),
    linear-gradient(to bottom, transparent 0%, rgba(250,250,248,0.8) 8%, rgba(250,250,248,0.95) 18%,
      #FAFAF8 30%, #FAFAF8 70%, rgba(250,250,248,0.95) 82%, rgba(250,250,248,0.8) 92%, transparent 100%);
}
body.cl-divi-rebuild .cl-eco-section .et_pb_image_wrap { width: min(94%, 1240px); margin: 0 auto; }
body.cl-divi-rebuild .cl-eco-section .et_pb_image_wrap img { display: block; width: 100%; height: auto; }


/* --- 5. Team-Bildergalerie (7 Bild-Module im Mosaik-Grid) ----------------- */
body.cl-divi-rebuild .cl-gallery-sec.et_pb_section { padding: 0; }
body.cl-divi-rebuild .cl-gallery-row.et_pb_row { padding: 0 !important; width: 100%; max-width: 100%; margin: 0; }
body.cl-divi-rebuild .et_pb_column.cl-gallery-grid {
  width: 100vw; margin-left: calc(-50vw + 50%); overflow: hidden;
  display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: 200px 200px; gap: 6px;
}
body.cl-divi-rebuild .cl-gallery-grid > .cl-gallery-item { margin: 0; }
body.cl-divi-rebuild .cl-gallery-item .et_pb_image_wrap { width: 100%; height: 100%; }
body.cl-divi-rebuild .cl-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 980px) { body.cl-divi-rebuild .et_pb_column.cl-gallery-grid { grid-template-rows: 160px 160px; gap: 4px; } }
@media (max-width: 767px) {
  body.cl-divi-rebuild .et_pb_column.cl-gallery-grid { grid-template-columns: repeat(6, 1fr); grid-template-rows: 130px 130px 130px; gap: 3px; }
}

/* --- 6. Leistungen: 3 Säulen (Blurb-Module) ------------------------------- */
body.cl-divi-rebuild .et_pb_column.cl-pillars {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
  max-width: min(95%, 1100px); margin: 0 auto; counter-reset: cl-pillar;
}
body.cl-divi-rebuild .cl-pillars > .et_pb_blurb.cl-pillar { margin: 0; counter-increment: cl-pillar; }
body.cl-divi-rebuild .cl-pillar .et_pb_blurb_content { display: flex; flex-direction: column; flex: 1; text-align: left; }
body.cl-divi-rebuild .cl-pillar .et_pb_main_blurb_image {
  display: block; margin: 0; padding: 20px 16px 12px; position: relative; line-height: 0;
  background: linear-gradient(135deg, #f0ede5, #e8e4d9, #f0ede5);
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
body.cl-divi-rebuild .cl-pillar .et_pb_main_blurb_image .et_pb_image_wrap { width: 100%; }
/* Die drei Illustrationen haben unterschiedliche Zeichenflächen. Feste
   Bandhöhe plus object-fit: contain -> gleiche Kachelhöhe, und jede Zeichnung
   nutzt die Fläche maximal und mittig aus. */
body.cl-divi-rebuild .cl-pillar .et_pb_main_blurb_image img {
  width: 100%; aspect-ratio: 320 / 180; height: auto; display: block; object-fit: contain;
}
body.cl-divi-rebuild .cl-pillar .et_pb_blurb_container { display: flex; flex-direction: column; flex: 1; text-align: left; }
body.cl-divi-rebuild .cl-pillar .et_pb_blurb_container::before {
  content: counter(cl-pillar, decimal-leading-zero);
  font-family: var(--cl-font-heading) !important; font-size: 48px; font-weight: 600;
  color: rgba(191,167,98,0.25); line-height: 1; padding: 20px 28px 0;
}
body.cl-divi-rebuild .cl-pillar .et_pb_blurb_description { display: flex; flex-direction: column; flex: 1; }

/* --- 7. Feature-Karten (Blurb-Module) ------------------------------------ */
body.cl-divi-rebuild .et_pb_column.cl-feature-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  max-width: min(95%, 1100px); margin: 0 auto;
}
body.cl-divi-rebuild .cl-feature-grid > .et_pb_blurb.cl-feature-card { margin: 0; }
body.cl-divi-rebuild .cl-feature-card .et_pb_blurb_content { display: flex; flex-direction: column; flex: 1; text-align: left; }
body.cl-divi-rebuild .cl-feature-card .et_pb_main_blurb_image { margin: 0 0 22px; display: block; line-height: 0; }
body.cl-divi-rebuild .cl-feature-card .et_pb_main_blurb_image .et_pb_image_wrap {
  display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px;
  border-radius: 14px; background: linear-gradient(135deg, rgba(191,167,98,0.12), rgba(191,167,98,0.04));
  transition: background 0.4s var(--cl-ease), transform 0.4s var(--cl-ease);
}
body.cl-divi-rebuild .cl-feature-card:hover .et_pb_main_blurb_image .et_pb_image_wrap {
  background: var(--cl-gold-gradient); transform: scale(1.05);
}
body.cl-divi-rebuild .cl-feature-card .et_pb_main_blurb_image img { width: 28px; height: 28px; object-fit: contain; }
body.cl-divi-rebuild .cl-feature-card:hover .et_pb_main_blurb_image img { filter: brightness(0) invert(1); }
body.cl-divi-rebuild .cl-feature-card .et_pb_blurb_container { display: flex; flex-direction: column; flex: 1; text-align: left; }
body.cl-divi-rebuild .cl-feature-card .et_pb_blurb_description { display: flex; flex-direction: column; flex: 1; }

/* --- 7b. Teaser-Link unter den drei Feature-Kacheln --------------------- */
body.cl-divi-rebuild .et_pb_row.cl-feature-more-row { padding: 0 !important; }
body.cl-divi-rebuild .cl-feature-more { margin-top: 40px; text-align: center; }
body.cl-divi-rebuild .cl-feature-more .cl-pillar-link { padding: 0; font-size: 15px; }
body.cl-divi-rebuild .cl-feature-more .cl-pillar-link:hover span { transform: translateX(4px); }

/* --- 7c. Silhouette statt Initialen (Team-Kacheln ohne Foto) ------------ */
body.cl-divi-rebuild .cl-avatar-silhouette {
  width: 46%; max-width: 128px; height: auto; display: block; fill: currentColor;
}

/* --- 7d. Listen des Designs behalten ihre eigenen Marker --------------- */
body.cl-divi-rebuild .et_pb_text_inner ul.cl-feature-list { list-style: none; padding-left: 0; }

/* --- 8. Beratung: Timeline (Blurb-Module) -------------------------------- */
body.cl-divi-rebuild .et_pb_column.cl-timeline {
  position: relative; width: 100vw; margin-left: calc(-50vw + 50%); padding: 0 4%;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; counter-reset: cl-tl;
}
body.cl-divi-rebuild .cl-timeline::before {
  content: ''; display: block; position: absolute; top: 32px;
  left: calc(4% + (100% - 8%) * 0.125 - 2px); right: calc(4% + (100% - 8%) * 0.125 - 2px);
  height: 2px; background: var(--cl-border); z-index: 0;
}
body.cl-divi-rebuild .cl-timeline::after {
  content: ''; display: block; position: absolute; top: 32px;
  left: calc(4% + (100% - 8%) * 0.125 - 2px); right: calc(4% + (100% - 8%) * 0.125 - 2px); height: 2px;
  background: var(--cl-gold-gradient); transform: scaleX(0); transform-origin: left;
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1); z-index: 0;
}
body.cl-divi-rebuild .cl-timeline.is-visible::after { transform: scaleX(1); }
body.cl-divi-rebuild .cl-timeline > .et_pb_blurb.cl-timeline-item {
  margin: 0; position: relative; display: flex; flex-direction: column; align-items: center;
  counter-increment: cl-tl;
}
body.cl-divi-rebuild .cl-timeline-item::before {
  content: counter(cl-tl); position: relative; z-index: 3; flex-shrink: 0;
  width: 64px; height: 64px; border-radius: 50%; background: var(--cl-white);
  border: 3px solid var(--cl-border); display: flex; align-items: center; justify-content: center;
  font-family: var(--cl-font-heading) !important; font-size: 22px; font-weight: 600;
  color: var(--cl-ocker); margin-bottom: 28px; box-shadow: 0 4px 16px rgba(0,0,0,0.04);
  transition: all 0.5s var(--cl-ease);
}
body.cl-divi-rebuild .cl-timeline-item.is-visible::before {
  background: var(--cl-gold-gradient); color: #fff; border-color: var(--cl-ocker);
  box-shadow: 0 6px 24px rgba(191,167,98,0.25);
}
body.cl-divi-rebuild .cl-timeline-item:hover::before {
  background: var(--cl-gold-gradient); color: #fff; border-color: var(--cl-ocker);
  box-shadow: 0 8px 32px rgba(191,167,98,0.35); transform: scale(1.12);
}
body.cl-divi-rebuild .cl-timeline-item .et_pb_blurb_content {
  width: 100%; background: var(--cl-white); border-radius: var(--cl-radius);
  box-shadow: 0 2px 16px rgba(0,0,0,0.04); position: relative; overflow: hidden;
  border: 1px solid var(--cl-border); text-align: left;
  transition: transform 0.5s var(--cl-ease), box-shadow 0.5s var(--cl-ease), border-color 0.5s var(--cl-ease);
}
body.cl-divi-rebuild .cl-timeline-item:hover .et_pb_blurb_content {
  transform: translateY(-8px);
  box-shadow: 0 20px 56px rgba(0,0,0,0.08), 0 6px 20px rgba(191,167,98,0.08);
  border-color: rgba(191,167,98,0.25);
}
body.cl-divi-rebuild .cl-timeline-item .et_pb_blurb_content::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
  background: var(--cl-gold-gradient); transform: scaleX(0); transform-origin: left;
  transition: transform 0.5s var(--cl-ease); z-index: 4;
}
body.cl-divi-rebuild .cl-timeline-item:hover .et_pb_blurb_content::after { transform: scaleX(1); }
body.cl-divi-rebuild .cl-timeline-item .et_pb_main_blurb_image {
  display: block; margin: 0; position: relative; width: 100%; aspect-ratio: 16 / 9;
  overflow: hidden; line-height: 0;
  background: linear-gradient(135deg, #f0ede5 0%, #e8e4d9 50%, #f0ede5 100%);
}
body.cl-divi-rebuild .cl-timeline-item .et_pb_main_blurb_image .et_pb_image_wrap { width: 100%; height: 100%; position: relative; }
body.cl-divi-rebuild .cl-timeline-item .et_pb_main_blurb_image img {
  width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--cl-ease);
}
body.cl-divi-rebuild .cl-timeline-item:hover .et_pb_main_blurb_image img { transform: scale(1.08); }
body.cl-divi-rebuild .cl-timeline-item .et_pb_image_wrap::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent 40%, rgba(26,26,26,0.04) 100%);
}
body.cl-divi-rebuild .cl-timeline-item .et_pb_main_blurb_image::after {
  content: ''; position: absolute; top: 14px; right: 14px; width: 40px; height: 40px;
  border-radius: 12px; background: rgba(255,255,255,0.85);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  z-index: 2; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: background 0.4s, transform 0.4s;
}
body.cl-divi-rebuild .cl-timeline-item:hover .et_pb_main_blurb_image::after {
  background: var(--cl-gold-gradient); transform: scale(1.08);
}
body.cl-divi-rebuild .cl-timeline-item .et_pb_main_blurb_image::before {
  content: ''; position: absolute; top: 24px; right: 24px; width: 20px; height: 20px; z-index: 3;
  background-color: var(--cl-ocker); transition: background-color 0.4s;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: 20px 20px; mask-size: 20px 20px;
}
body.cl-divi-rebuild .cl-timeline-item:hover .et_pb_main_blurb_image::before { background-color: #fff; }
body.cl-divi-rebuild .cl-timeline-item:nth-child(1) .et_pb_main_blurb_image::before { -webkit-mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2211%22 cy=%2211%22 r=%228%22/><path d=%22m21 21-4.35-4.35%22/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2211%22 cy=%2211%22 r=%228%22/><path d=%22m21 21-4.35-4.35%22/></svg>"); }
body.cl-divi-rebuild .cl-timeline-item:nth-child(2) .et_pb_main_blurb_image::before { -webkit-mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z%22/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z%22/></svg>"); }
body.cl-divi-rebuild .cl-timeline-item:nth-child(3) .et_pb_main_blurb_image::before { -webkit-mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 11.08V12a10 10 0 1 1-5.93-9.14%22/><polyline points=%2222 4 12 14.01 9 11.01%22/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 11.08V12a10 10 0 1 1-5.93-9.14%22/><polyline points=%2222 4 12 14.01 9 11.01%22/></svg>"); }
body.cl-divi-rebuild .cl-timeline-item:nth-child(4) .et_pb_main_blurb_image::before { -webkit-mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z%22/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z%22/></svg>"); }
body.cl-divi-rebuild .cl-timeline-item .et_pb_blurb_container { padding: 24px 24px 28px; text-align: left; }
body.cl-divi-rebuild .cl-timeline-item .et_pb_blurb_container::before {
  content: 'Schritt ' counter(cl-tl); display: block;
  font-family: var(--cl-font-body) !important; font-size: 11px; font-weight: 600;
  color: var(--cl-ocker); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 8px;
}
body.cl-divi-rebuild .cl-timeline-item h3.et_pb_module_header {
  font-family: var(--cl-font-heading) !important; font-size: 19px; font-weight: 700;
  color: var(--cl-dark-grey); margin: 0 0 10px; padding: 0 0 10px; transition: color 0.4s;
}
body.cl-divi-rebuild .cl-timeline-item:hover h3.et_pb_module_header { color: var(--cl-ocker); }
body.cl-divi-rebuild .cl-timeline-item .et_pb_blurb_description p {
  font-family: var(--cl-font-body) !important; font-size: 14px; line-height: 1.7;
  color: var(--cl-warm-grey); margin: 0;
}
@media (max-width: 980px) {
  body.cl-divi-rebuild .et_pb_column.cl-timeline { grid-template-columns: repeat(2, 1fr); }
  body.cl-divi-rebuild .cl-timeline::before, body.cl-divi-rebuild .cl-timeline::after { display: none; }
  body.cl-divi-rebuild .cl-timeline-item::before { width: 48px; height: 48px; font-size: 18px; margin-bottom: 20px; }
}
@media (max-width: 767px) {
  body.cl-divi-rebuild .et_pb_column.cl-timeline { padding: 0 5%; grid-template-columns: 1fr; gap: 20px; }
  body.cl-divi-rebuild .cl-timeline > .et_pb_blurb.cl-timeline-item { max-width: 420px; margin: 0 auto !important; }
  body.cl-divi-rebuild .cl-timeline-item::before { width: 42px; height: 42px; font-size: 16px; margin-bottom: 16px; }
}

/* --- 9. Standort ---------------------------------------------------------- */
body.cl-divi-rebuild .cl-standort.et_pb_section {
  position: relative; min-height: 480px; display: flex; align-items: center; overflow: hidden; padding: 0;
}
body.cl-divi-rebuild .cl-standort .cl-standort-content.et_pb_row {
  position: static; width: min(92%, 1100px); max-width: min(92%, 1100px);
  margin: 0 auto; padding: 80px 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
  align-items: center;
}
body.cl-divi-rebuild .cl-standort .et_pb_column { position: static; }
body.cl-divi-rebuild .cl-standort .cl-standort-bg.et_pb_image {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0 !important; z-index: 0;
}
body.cl-divi-rebuild .cl-standort .cl-standort-bg .et_pb_image_wrap { width: 100%; height: 100%; }
body.cl-divi-rebuild .cl-standort .cl-standort-bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 65%; display: block;
  will-change: transform;
}
body.cl-divi-rebuild .cl-standort .cl-standort-bg::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(26,26,26,0.55) 100%);
}
body.cl-divi-rebuild .cl-standort .cl-standort-text { z-index: 3; }
body.cl-divi-rebuild .et_pb_column.cl-standort-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px; z-index: 3;
}
body.cl-divi-rebuild .cl-standort-stats > .cl-standort-stat { margin: 0; z-index: 3; }
@media (max-width: 980px) {
  body.cl-divi-rebuild .cl-standort .cl-standort-content.et_pb_row { grid-template-columns: 1fr; gap: 40px; text-align: center; }
}
@media (max-width: 767px) {
  body.cl-divi-rebuild .cl-standort.et_pb_section { min-height: auto; }
  body.cl-divi-rebuild .cl-standort .cl-standort-content.et_pb_row { padding: 56px 0 !important; }
  body.cl-divi-rebuild .et_pb_column.cl-standort-stats { gap: 12px; }
}

/* --- 10. Videos (Divi-Video-Module) -------------------------------------- */
body.cl-divi-rebuild .cl-video-grid.et_pb_row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
  width: 100%; max-width: min(90.25%, 1100px); margin: 0 auto;
}
body.cl-divi-rebuild .cl-video-grid > .et_pb_column.cl-video-wrap {
  background: var(--cl-white); border-radius: var(--cl-radius); overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  transition: transform var(--cl-duration) var(--cl-ease), box-shadow var(--cl-duration) var(--cl-ease);
}
body.cl-divi-rebuild .cl-video-wrap:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.10), 0 8px 20px rgba(191,167,98,0.06);
}
body.cl-divi-rebuild .cl-video-wrap .et_pb_video.cl-video-card {
  margin: 0; position: relative; aspect-ratio: 16 / 9; background: var(--cl-dark-grey); overflow: hidden;
}
body.cl-divi-rebuild .cl-video-card .et_pb_video_box { position: absolute; inset: 0; }
body.cl-divi-rebuild .cl-video-card .et_pb_video_box iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
body.cl-divi-rebuild .cl-video-card .et_pb_video_overlay {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: transform 0.5s var(--cl-ease);
}
body.cl-divi-rebuild .cl-video-wrap:hover .cl-video-card .et_pb_video_overlay { transform: scale(1.03); }
body.cl-divi-rebuild .cl-video-card .et_pb_video_overlay_hover { background: none !important; }
body.cl-divi-rebuild .cl-video-card .et_pb_video_play {
  position: absolute; bottom: 12px; right: 12px; top: auto; left: auto; margin: 0;
  width: 60px; height: 60px; font-size: 0; line-height: 0; color: transparent;
  background: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2260%22 height=%2260%22 viewBox=%220 0 60 60%22 fill=%22none%22><circle cx=%2230%22 cy=%2230%22 r=%2230%22 fill=%22rgba%28255,255,255,0.95%29%22/><path d=%22M24 18L44 30L24 42Z%22 fill=%22%23484848%22/></svg>") no-repeat center / 60px 60px;
  transform: none; transition: transform 0.3s var(--cl-ease);
}
body.cl-divi-rebuild .cl-video-card .et_pb_video_play::before, body.cl-divi-rebuild .cl-video-card .et_pb_video_play::after {
  display: none !important; content: none !important;
}
body.cl-divi-rebuild .cl-video-card .et_pb_video_play:hover {
  transform: scale(1.12); background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2260%22 height=%2260%22 viewBox=%220 0 60 60%22 fill=%22none%22><circle cx=%2230%22 cy=%2230%22 r=%2230%22 fill=%22%23ffffff%22/><path d=%22M24 18L44 30L24 42Z%22 fill=%22%23BFA762%22/></svg>");
}
body.cl-divi-rebuild .cl-video-wrap .cl-video-meta { padding: 20px 24px; }
@media (max-width: 980px) { body.cl-divi-rebuild .cl-video-grid.et_pb_row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { body.cl-divi-rebuild .cl-video-grid.et_pb_row { grid-template-columns: 1fr; } }

/* --- 11. Kundenstimmen + Logo-Laufband ----------------------------------- */
body.cl-divi-rebuild .cl-testi-sec.et_pb_section { padding: 0; }
body.cl-divi-rebuild .cl-sp-head.et_pb_row, body.cl-divi-rebuild .cl-sp-body.et_pb_row, body.cl-divi-rebuild .cl-sp-logos.et_pb_row {
  width: 100%; max-width: min(95%, 1140px); margin: 0 auto; text-align: center;
  padding-left: 24px !important; padding-right: 24px !important;
}
body.cl-divi-rebuild .cl-sp-head.et_pb_row { padding-top: 64px !important; }
body.cl-divi-rebuild .cl-testi-head h2 { margin-bottom: 0; }
body.cl-divi-rebuild .cl-sp-logos.et_pb_row { padding-bottom: 56px !important; }
body.cl-divi-rebuild .et_pb_column.cl-testimonials-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cl-gap);
  max-width: min(95%, 1100px); margin: 32px auto 0;
}
body.cl-divi-rebuild .cl-testimonials-grid > .et_pb_text.cl-testimonial { margin: 0; }
body.cl-divi-rebuild .cl-testimonial .et_pb_text_inner { display: flex; flex-direction: column; flex: 1; }
body.cl-divi-rebuild .cl-marquee-mod { margin-top: 48px !important; }
@media (max-width: 980px) {
  body.cl-divi-rebuild .et_pb_column.cl-testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  body.cl-divi-rebuild .et_pb_column.cl-testimonials-grid { grid-template-columns: 1fr; }
  body.cl-divi-rebuild .cl-sp-head.et_pb_row { padding-top: 48px !important; padding-left: 20px !important; padding-right: 20px !important; }
  body.cl-divi-rebuild .cl-sp-body.et_pb_row, body.cl-divi-rebuild .cl-sp-logos.et_pb_row { padding-left: 20px !important; padding-right: 20px !important; }
  body.cl-divi-rebuild .cl-sp-logos.et_pb_row { padding-bottom: 40px !important; }
}

/* --- 12. FAQ (Divi-Toggle-Module) ---------------------------------------- */
body.cl-divi-rebuild .cl-faq-section.et_pb_row {
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start;
  width: 100%; max-width: min(90.25%, 1200px); margin: 0 auto;
}
body.cl-divi-rebuild .cl-faq-list > .et_pb_toggle.cl-faq {
  margin: 0 !important; padding: 0 !important; background: none !important;
  border: none !important; border-bottom: 1px solid var(--cl-border) !important;
  border-radius: 0 !important; box-shadow: none !important; overflow: hidden;
}
body.cl-divi-rebuild .cl-faq-list > .et_pb_toggle.cl-faq:first-child { border-top: 1px solid var(--cl-border) !important; }
body.cl-divi-rebuild .cl-faq h5.et_pb_toggle_title, body.cl-divi-rebuild .cl-faq .et_pb_toggle_title {
  display: flex; align-items: center; gap: 16px; width: 100%;
  padding: 24px 0 !important; margin: 0 !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 17px !important; line-height: normal !important; font-weight: 700 !important;
  letter-spacing: normal !important;
  color: var(--cl-dark-grey) !important; background: none; border: none; cursor: pointer;
  text-align: left; transition: color 0.3s var(--cl-ease);
}
body.cl-divi-rebuild .cl-faq .et_pb_toggle_title:hover { color: var(--cl-ocker) !important; }
body.cl-divi-rebuild .cl-faq .et_pb_toggle_title span { letter-spacing: normal !important; }
body.cl-divi-rebuild .cl-faq .et_pb_toggle_title::before { display: none !important; content: none !important; }
body.cl-divi-rebuild .cl-faq .et_pb_toggle_title::after {
  content: ''; flex: 0 0 auto; margin-left: auto; width: 28px; height: 28px;
  background-color: currentColor; transition: transform 0.4s var(--cl-ease);
  -webkit-mask: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 fill=%22none%22><path d=%22M10 4v12M4 10h12%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22/></svg>") no-repeat center / 22px 22px;
  mask: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 fill=%22none%22><path d=%22M10 4v12M4 10h12%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22/></svg>") no-repeat center / 22px 22px;
}
body.cl-divi-rebuild .cl-faq.et_pb_toggle_open .et_pb_toggle_title { color: var(--cl-dark-grey) !important; }
body.cl-divi-rebuild .cl-faq.et_pb_toggle_open .et_pb_toggle_title::after { transform: rotate(45deg); }
body.cl-divi-rebuild .cl-faq .et_pb_toggle_content { padding: 0 40px 28px 0; }
body.cl-divi-rebuild .cl-faq .et_pb_toggle_content p {
  font-family: var(--cl-font-body) !important; font-size: 15px; line-height: 1.75;
  color: var(--cl-warm-grey); margin: 0;
}
@media (max-width: 767px) {
  body.cl-divi-rebuild .cl-faq-section.et_pb_row { grid-template-columns: 1fr; gap: 32px; }
  body.cl-divi-rebuild .et_pb_column.cl-faq-header { position: static; }
  body.cl-divi-rebuild .cl-faq .et_pb_toggle_title { font-size: 15px; padding: 20px 0; gap: 12px; }
  body.cl-divi-rebuild .cl-faq .et_pb_toggle_content { padding: 0 0 20px 0; }
}

/* --- 13. Kontakt --------------------------------------------------------- */
body.cl-divi-rebuild .cl-contact-layout.et_pb_row {
  display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: start;
  width: 100%; max-width: min(90.25%, 1100px); margin: 0 auto;
}
body.cl-divi-rebuild .cl-contact-sidebar .cl-contact-photo.et_pb_image {
  line-height: 0; width: 160px; height: 160px; border-radius: 50%; overflow: hidden;
  margin: 0 auto 16px !important;
  border: 4px solid var(--cl-white); box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
body.cl-divi-rebuild .cl-contact-photo .et_pb_image_wrap { width: 100%; height: 100%; }
body.cl-divi-rebuild .cl-contact-photo img { width: 100%; height: 100%; object-fit: cover; }
body.cl-divi-rebuild .cl-contact-person-name { font-size: 18px !important; line-height: 1em !important; }
body.cl-divi-rebuild .cl-contact-detail::before {
  content: ''; flex: 0 0 auto; width: 16px; height: 16px; background-color: var(--cl-ocker);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: 16px 16px; mask-size: 16px 16px;
}
body.cl-divi-rebuild .cl-ico-mail::before { -webkit-mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/><path d=%22m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7%22/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/><path d=%22m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7%22/></svg>"); }
body.cl-divi-rebuild .cl-ico-phone::before { -webkit-mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z%22/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z%22/></svg>"); }
@media (max-width: 980px) {
  body.cl-divi-rebuild .cl-contact-layout.et_pb_row { grid-template-columns: 1fr; gap: 32px; }
}

/* --- 14. Responsive: landing.css-Breakpoints mit Divi-Spezifität ---------- */
@media (max-width: 980px) {
  body.cl-divi-rebuild .et_pb_column.cl-pillars { grid-template-columns: 1fr; gap: 16px; }
  body.cl-divi-rebuild .et_pb_column.cl-feature-grid { grid-template-columns: repeat(2, 1fr); }
  body.cl-divi-rebuild .et_pb_column.cl-contact-form-side { padding: 24px; }
}
@media (max-width: 767px) {
  body.cl-divi-rebuild .et_pb_column.cl-hero { min-height: auto; padding: 100px 20px 56px; }
  body.cl-divi-rebuild .et_pb_column.cl-feature-grid { grid-template-columns: 1fr; }
  body.cl-divi-rebuild .et_pb_column.cl-timeline {
    padding: 0 5%; grid-template-columns: minmax(0, 420px); justify-content: center; gap: 20px;
  }
  body.cl-divi-rebuild .cl-timeline > .et_pb_blurb.cl-timeline-item { max-width: none; margin: 0 !important; }
  body.cl-divi-rebuild .et_pb_column.cl-contact-form-side { padding: 20px; }
  body.cl-divi-rebuild .cl-faq h5.et_pb_toggle_title, body.cl-divi-rebuild .cl-faq .et_pb_toggle_title {
    font-size: 15px !important; padding: 20px 0 !important; gap: 12px;
  }
}
