/*
 * T&B digital Elementor compatibility — V7.6.0
 *
 * The approved V73 prototype stylesheet (public/v50.css) is the visual source
 * of truth. This file only neutralizes Elementor wrappers and maps native
 * Elementor widgets to the prototype DOM. It deliberately does NOT redesign
 * colours, typography, hover states or animation timing.
 */

/* -------------------------------------------------------------------------
   1. Neutralise technical Elementor wrappers on the public frontend.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported { font-family:Inter,"Segoe UI",Arial,sans-serif !important; }
body.tb-elementor-imported :where(button,input,select,textarea) { font-family:inherit; }
body.tb-elementor-imported .elementor-element.e-con {
  --padding-top:0px;
  --padding-right:0px;
  --padding-bottom:0px;
  --padding-left:0px;
  --margin-top:0px;
  --margin-right:0px;
  --margin-bottom:0px;
  --margin-left:0px;
  /* V7.9.0: imported V73 containers must not inherit Elementor's default
     inter-element gap. Real prototype gaps continue to come from v50.css. */
  --gap:0px !important;
  --row-gap:0px !important;
  --column-gap:0px !important;
  min-width:0;
}
body.tb-elementor-imported .elementor-widget-heading,
body.tb-elementor-imported .elementor-widget-text-editor,
body.tb-elementor-imported .elementor-widget-image,
body.tb-elementor-imported .elementor-widget-html,
body.tb-elementor-imported .elementor-widget-tb-v50-link,
body.tb-elementor-imported .elementor-widget-tb-v51-audio,
body.tb-elementor-imported .elementor-widget-tb-v51-tour {
  margin:0;
  min-width:0;
}
body.tb-elementor-imported .elementor-widget-template { margin:0; min-width:0; width:100%; }
body.tb-elementor-imported .elementor-widget-template > .elementor-widget-container { margin:0; padding:0; }
body.tb-elementor-imported .elementor-widget-heading > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-text-editor > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-image > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-html > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-tb-v50-link > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-tb-v51-audio > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-tb-v51-tour > .elementor-widget-container {
  margin:0;
  padding:0;
}
body.tb-elementor-imported .elementor-widget-heading,
body.tb-elementor-imported .elementor-widget-heading > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-text-editor,
body.tb-elementor-imported .elementor-widget-text-editor > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-image,
body.tb-elementor-imported .elementor-widget-image > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-html,
body.tb-elementor-imported .elementor-widget-html > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-tb-v50-link,
body.tb-elementor-imported .elementor-widget-tb-v50-link > .elementor-widget-container {
  display:contents;
}
body.tb-elementor-imported .elementor-widget-text-editor p:last-child { margin-bottom:0; }
body.tb-elementor-imported .elementor-widget-image img { display:block; }

/* The prototype relies on browser-bold H1/H2/H3. Prevent Elementor/theme
   global typography from making imported headings thinner. Specific prototype
   selectors still control sizes/line heights. */
body.tb-elementor-imported h1,
body.tb-elementor-imported h1.elementor-heading-title,
body.tb-elementor-imported h2,
body.tb-elementor-imported h2.elementor-heading-title,
body.tb-elementor-imported h3,
body.tb-elementor-imported h3.elementor-heading-title {
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-weight:700 !important;
}

/* -------------------------------------------------------------------------
   2. Elementor containers that are flex rows in the prototype.
   Elementor stores imported containers with a column flex variable; these
   selectors restore only the direction that normal HTML would have by default.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported :where(
  .header-wrap,
  .main-nav,
  .hero,
  .hero-actions,
  .hero-actions-live,
  .hero-trust-inline,
  .client-track,
  .service-head,
  .cta-panel,
  .local-links,
  .video-actions,
  .footer-socials,
  .home-testimonial-head-v45,
  .home-testimonial-controls-v45,
  .home-testimonial-track-v45,
  .home-partnership-benefits-v52,
  .cp-measure-note-v51,
  .cp-more-cases-v51,
  .cp-stats-note-v53,
  .lotto-channel-chips-v42,
  .journey-note,
  .channel-note,
  .testimonial-track
).e-con {
  flex-direction:row !important;
}

body.tb-elementor-imported .production-output-grid-v59 > article.e-con {
  flex-direction:row !important;
}
body.tb-elementor-imported .breadcrumbs > .container.e-con,
body.tb-elementor-imported .back-navigation > .container.e-con,
body.tb-elementor-imported .footer-bottom > .container.e-con,
body.tb-elementor-imported .home-data-link-v54 > .container.e-con {
  flex-direction:row !important;
}

/* Prototype container widths/paddings must beat Elementor container variables. */
body.tb-elementor-imported .e-con.container {
  width:min(var(--max),calc(100% - 44px)) !important;
  max-width:var(--max) !important;
  margin-inline:auto !important;
}
body.tb-elementor-imported .e-con.section { padding:86px 0 !important; }
@media(max-width:780px){
  body.tb-elementor-imported .e-con.container { width:min(var(--max),calc(100% - 30px)) !important; }
  body.tb-elementor-imported .e-con.section { padding:62px 0 !important; }
}

/* -------------------------------------------------------------------------
   3. Buttons — exact V73 prototype values.
   This intentionally restores the approved orange, dimensions and hover.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  padding:14px 20px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,var(--orange2),var(--orange)) !important;
  color:#fff !important;
  font-weight:750 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 14px 34px rgba(212,116,40,.25) !important;
  transition:all .24s ease !important;
}
body.tb-elementor-imported .btn:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 22px 42px rgba(212,116,40,.35) !important;
  filter:brightness(1.04) !important;
}
body.tb-elementor-imported .btn-small { padding:11px 16px !important; font-size:14px !important; }
body.tb-elementor-imported .site-header .btn.btn-small { white-space:nowrap; font-size:13px !important; padding-inline:13px !important; }
body.tb-elementor-imported .btn-ghost {
  background:rgba(8,9,11,.35) !important;
  box-shadow:none !important;
  border-color:rgba(255,255,255,.2) !important;
}
body.tb-elementor-imported .btn-ghost:hover { background:rgba(255,255,255,.08) !important; }

/* Native Elementor video button: map its inner button to the final prototype
   video-inline-action style (the prototype's later V15/V18 rule wins). */
body.tb-elementor-imported .elementor-widget-button.video-inline-action { width:auto; margin:0; }
body.tb-elementor-imported .elementor-widget-button.video-inline-action .elementor-button {
  min-height:44px !important;
  padding:10px 15px !important;
  border-radius:12px !important;
  border:1px solid var(--orange) !important;
  background:var(--orange) !important;
  color:#fff !important;
  font:inherit !important;
  font-size:14px !important;
  font-weight:760 !important;
  text-decoration:none !important;
  transition:all .24s ease !important;
}
body.tb-elementor-imported .elementor-widget-button.video-inline-action .elementor-button:hover {
  background:#e48238 !important;
  transform:translateY(-2px) !important;
}

/* -------------------------------------------------------------------------
   4. Sticky global header — same visual header, robust Elementor host.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .tb-sticky-header-host {
  display:block !important;
  position:sticky !important;
  position:-webkit-sticky !important;
  top:0 !important;
  z-index:1000 !important;
  width:100% !important;
  overflow:visible !important;
  transform:none !important;
  contain:none !important;
}
body.tb-elementor-imported .tb-sticky-header-host > .elementor-widget-container,
body.tb-elementor-imported .tb-sticky-header-host .elementor,
body.tb-elementor-imported .tb-sticky-header-host .elementor-element {
  overflow:visible !important;
  contain:none !important;
}
body.tb-elementor-imported .tb-sticky-header-host .site-header {
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
}
body.tb-elementor-imported .elementor-location-header,
body.tb-elementor-imported .elementor-location-header > .elementor-element {
  overflow:visible !important;
  contain:none !important;
}

/* -------------------------------------------------------------------------
   5. Native Elementor Pro form -> exact V73 prototype contact-form geometry.
   V7.9.7: The class stays on the Elementor widget host so the form has the
   same design while editing AND in the public preview. The real <form> gets
   the prototype card/grid geometry directly; no runtime class move required.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .elementor-widget-form.contact-form,
body.tb-elementor-imported .tb-contact-form-host {
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  min-width:0 !important;
  width:100% !important;
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
}
body.tb-elementor-imported .elementor-widget-form.contact-form > .elementor-widget-container,
body.tb-elementor-imported .tb-contact-form-host > .elementor-widget-container {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  width:100% !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) {
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:28px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  border-radius:var(--radius) !important;
  border:1px solid rgba(20,22,27,.1) !important;
  background:#fff !important;
  color:var(--ink) !important;
  box-shadow:0 24px 55px rgba(38,31,24,.11) !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-form-fields-wrapper {
  display:contents !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-field-group {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:7px !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:700 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-col-100 {
  grid-column:1/-1 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-field-label {
  margin:0 !important;
  padding:0 !important;
  color:inherit !important;
  font:inherit !important;
  font-weight:700 !important;
  line-height:1.62 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) :is(.elementor-field,input.elementor-field,select.elementor-field,textarea.elementor-field) {
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:14px 15px !important;
  border-radius:13px !important;
  border:1px solid rgba(20,22,27,.15) !important;
  background:#fff !important;
  color:inherit !important;
  font:inherit !important;
  line-height:inherit !important;
  box-shadow:none !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) textarea.elementor-field {
  min-height:140px !important;
  resize:vertical;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-field-type-acceptance {
  grid-column:1/-1 !important;
  display:block !important;
  font-weight:500 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-field-type-acceptance label {
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
  font-weight:500 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-field-type-acceptance input[type="checkbox"] {
  box-sizing:border-box !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-field-type-acceptance a {
  text-decoration:underline;
  text-underline-offset:3px;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) :is(.e-form__buttons,.elementor-field-type-submit) {
  grid-column:auto !important;
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-button[type="submit"] {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  width:auto !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:14px 20px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,var(--orange2),var(--orange)) !important;
  color:#fff !important;
  font:inherit !important;
  font-weight:750 !important;
  line-height:1.62 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 14px 34px rgba(212,116,40,.25) !important;
  transition:transform .25s,box-shadow .25s,filter .25s !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-button[type="submit"]:hover {
  transform:translateY(-3px) !important;
  box-shadow:0 22px 42px rgba(212,116,40,.35) !important;
  filter:brightness(1.04) !important;
}
body.tb-elementor-imported :is(
  .elementor-widget-form.contact-form form.elementor-form,
  .tb-contact-form-host form.elementor-form,
  form.contact-form
) .elementor-message {
  grid-column:1/-1;
  margin:0;
}
@media(max-width:780px){
  body.tb-elementor-imported :is(
    .elementor-widget-form.contact-form form.elementor-form,
    .tb-contact-form-host form.elementor-form,
    form.contact-form
  ) {
    grid-template-columns:1fr !important;
    padding:22px !important;
  }
  body.tb-elementor-imported :is(
    .elementor-widget-form.contact-form form.elementor-form,
    .tb-contact-form-host form.elementor-form,
    form.contact-form
  ) .elementor-col-100,
  body.tb-elementor-imported :is(
    .elementor-widget-form.contact-form form.elementor-form,
    .tb-contact-form-host form.elementor-form,
    form.contact-form
  ) .elementor-field-type-acceptance {
    grid-column:auto !important;
  }
}
@media(max-width:360px){
  body.tb-elementor-imported :is(
    .elementor-widget-form.contact-form form.elementor-form,
    .tb-contact-form-host form.elementor-form,
    form.contact-form
  ) {
    padding:18px !important;
  }
}

/* -------------------------------------------------------------------------
   6. Native Elementor accordion -> prototype FAQ cards.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .faq-list.elementor-widget-accordion { width:100%; }
body.tb-elementor-imported .faq-list .elementor-accordion {
  display:grid !important;
  gap:12px !important;
}
body.tb-elementor-imported .faq-list .elementor-accordion-item {
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#15191f !important;
  box-shadow:none !important;
}
body.tb-elementor-imported .theme-light .faq-list .elementor-accordion-item {
  background:#fff !important;
  border-color:rgba(20,22,27,.1) !important;
}
body.tb-elementor-imported .faq-list .elementor-tab-title {
  display:flex !important;
  align-items:center !important;
  padding:18px 20px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  font:inherit !important;
  font-weight:760 !important;
  line-height:1.62 !important;
  cursor:pointer;
}
body.tb-elementor-imported .faq-list .elementor-tab-content {
  padding:0 20px 18px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  line-height:1.62 !important;
}
body.tb-elementor-imported .faq-list .elementor-tab-content p { margin-bottom:0; }
body.tb-elementor-imported .faq-list .elementor-tab-title:hover { background:transparent !important; color:inherit !important; }
body.tb-elementor-imported .faq-list .elementor-accordion-icon { margin-inline-start:auto; }

/* -------------------------------------------------------------------------
   7. Native Elementor videos — preserve the prototype poster geometry.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .elementor-widget-video.video-poster {
  aspect-ratio:16/9;
  overflow:hidden;
  background:#050608;
}
body.tb-elementor-imported .elementor-widget-video.video-poster > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-video.video-poster .elementor-wrapper {
  width:100%;
  height:100%;
  aspect-ratio:16/9;
}
body.tb-elementor-imported .elementor-widget-video.video-poster iframe,
body.tb-elementor-imported .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  width:100%;
  height:100%;
  object-fit:cover;
}
body.tb-elementor-imported .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  background-size:cover !important;
  background-position:center !important;
  transition:transform .45s ease,filter .3s ease !important;
}
body.tb-elementor-imported .video-card:hover .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  transform:scale(1.025) !important;
  filter:brightness(.78) !important;
}
body.tb-elementor-imported .elementor-widget-video.video-poster .elementor-custom-embed-play { display:none !important; }

/* -------------------------------------------------------------------------
   8. Editable audio and 360° widgets: technical behaviour only.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .elementor-widget-tb-v51-audio { width:100%; }
body.tb-elementor-imported .tb-audio-player-v51 { display:grid; gap:8px; width:100%; }
body.tb-elementor-imported .tb-audio-label-v51 { display:flex; flex-wrap:wrap; gap:5px 10px; align-items:baseline; }
body.tb-elementor-imported .tb-audio-label-v51 span { color:var(--muted); font-size:13px; }
body.tb-elementor-imported .tb-audio-label-v51 strong { font-size:15px; }
body.tb-elementor-imported .tb-audio-player-v51 audio { display:block; width:100%; min-height:42px; }

body.tb-elementor-imported .tb-tour-card-v51 { height:100%; }
body.tb-elementor-imported .tb-tour-open-v51 {
  display:block; width:100%; height:100%; padding:0; border:0;
  background:transparent; color:inherit; text-align:left; cursor:pointer; font:inherit;
}
body.tb-elementor-imported .tb-tour-open-v51 .tour-preview-v33 { display:block; overflow:hidden; }
body.tb-elementor-imported .tb-tour-open-v51 .tour-preview-v33 img {
  display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease;
}
body.tb-elementor-imported .tb-tour-open-v51:hover img { transform:scale(1.025); }
body.tb-elementor-imported .tb-tour-description-v51 p { margin:0; }
body.tb-elementor-imported .tb-tour-overlay-v51 {
  position:fixed; inset:0; z-index:100000; padding:18px; background:rgba(3,5,8,.94);
  isolation:isolate; overscroll-behavior:contain;
}
body.tb-elementor-imported .tb-tour-overlay-v51[hidden] { display:none !important; }
body.tb-elementor-imported .tb-tour-dialog-v51 {
  display:grid; grid-template-rows:auto 1fr; width:100%; height:100%; max-width:1600px;
  max-height:calc(100dvh - 36px); margin:auto; background:#050608;
  border:1px solid rgba(255,255,255,.18); border-radius:18px; overflow:hidden;
}
body.tb-elementor-imported .tb-tour-close-v51 {
  justify-self:start; margin:10px; padding:9px 14px; border:1px solid rgba(255,255,255,.35);
  border-radius:999px; background:#11151a; color:#fff; cursor:pointer;
}
body.tb-elementor-imported .tb-tour-dialog-v51 iframe { width:100%; height:100%; min-height:70vh; border:0; background:#000; }
body.tb-tour-open-body-v51 { overflow:hidden; }

/* -------------------------------------------------------------------------
   9. Accessibility additions that do not alter the approved resting design.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid #ffd7b5 !important;
  outline-offset:2px !important;
}
body.tb-elementor-imported .skip-link:focus-visible { top:0 !important; }
body.tb-elementor-imported { overflow-x:clip; }
body.tb-elementor-imported img,
body.tb-elementor-imported video,
body.tb-elementor-imported iframe,
body.tb-elementor-imported svg { max-width:100%; }
@media(prefers-reduced-motion:reduce){
  body.tb-elementor-imported * {
    scroll-behavior:auto !important;
  }
}

/* Custom editable widgets render the original semantic prototype child. */
body.tb-elementor-imported .elementor-widget-tb-v51-audio,
body.tb-elementor-imported .elementor-widget-tb-v51-audio > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-tb-v51-tour,
body.tb-elementor-imported .elementor-widget-tb-v51-tour > .elementor-widget-container {
  display:contents;
}


/* -------------------------------------------------------------------------
   V7.6.1 minimal prototype hotfix — Content-Partnerschaft buttons.
   Keep the V76 design untouched; only neutralize Elementor's full-width
   widget wrappers where V73 uses content-width inline buttons.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .hero-actions-v51.e-con {
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:12px !important;
}
body.tb-elementor-imported .hero-actions-v51 > .elementor-widget-tb-v50-link {
  --container-widget-width:auto !important;
  --container-widget-flex-grow:0 !important;
  width:auto !important;
  max-width:max-content !important;
  flex:0 0 auto !important;
  margin:0 !important;
}
body.tb-elementor-imported .hero-actions-v51 .btn {
  width:auto !important;
  max-width:max-content !important;
}
body.tb-elementor-imported .cp-case-feature-v51 .elementor-widget-tb-v50-link {
  --container-widget-width:auto !important;
  --container-widget-flex-grow:0 !important;
  width:auto !important;
  max-width:max-content !important;
  align-self:flex-start !important;
}
body.tb-elementor-imported .cp-case-feature-v51 .btn {
  width:auto !important;
  max-width:max-content !important;
  white-space:nowrap !important;
}

/* -------------------------------------------------------------------------
   V7.6.2 minimal hotfix — requested prototype alignments only.
   No V77/V78 design changes are included.
   ------------------------------------------------------------------------- */

/* Content-Academy / Mögliche Module:
   Elementor/theme link hover must never recolour the module title. In the
   approved V73 dark module section, all four h3 titles stay white. */
body.tb-elementor-imported.tb-page-content-academy #module .service-card .service-head h3,
body.tb-elementor-imported.tb-page-content-academy #module .service-card:hover .service-head h3,
body.tb-elementor-imported.tb-page-content-academy #module .service-card:focus-visible .service-head h3,
body.tb-elementor-imported.tb-page-content-academy #module .service-card:focus-within .service-head h3 {
  color:#fff !important;
}

/* Ablauf / Projektablauf:
   The prototype uses the browser h3 size on desktop (1.17em) and its own
   explicit mobile safeguards. Lock only this process list so Elementor/theme
   typography cannot enlarge these six labels. */
body.tb-elementor-imported.tb-page-ablauf #ablauf .process-list h3 {
  font-size:1.17em !important;
  line-height:normal !important;
}
@media (max-width:780px) {
  body.tb-elementor-imported.tb-page-ablauf #ablauf .process-list h3 {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media (max-width:520px) {
  body.tb-elementor-imported.tb-page-ablauf #ablauf .process-list h3 {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

/* Startseite / Kundenstimmen:
   Elementor containers default to full width. Restore the V73 head geometry:
   copy on the left, compact controls aligned to the upper-right. */
body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45.e-con {
  align-items:flex-end !important;
  justify-content:space-between !important;
}
body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45.e-con > .e-con:first-child {
  --width:auto !important;
  width:auto !important;
  max-width:780px !important;
  flex:1 1 auto !important;
}
body.tb-elementor-imported.tb-page-home .home-testimonial-controls-v45.e-con {
  --width:auto !important;
  width:auto !important;
  max-width:max-content !important;
  flex:0 0 auto !important;
  margin-left:auto !important;
  align-self:flex-end !important;
  justify-content:flex-end !important;
}
@media (max-width:780px) {
  body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45.e-con {
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45.e-con > .e-con:first-child {
    --width:100% !important;
    width:100% !important;
    max-width:none !important;
  }
  body.tb-elementor-imported.tb-page-home .home-testimonial-controls-v45.e-con {
    --width:100% !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    align-self:stretch !important;
    justify-content:flex-end !important;
  }
}

/* -------------------------------------------------------------------------
   V7.6.3 minimal hotfix — Startseiten-CTA-Breiten + Footer exakt wie V73.
   Basis bleibt V7.6.2; keine V77/V78-Designregeln werden übernommen.
   ------------------------------------------------------------------------- */

/* Startseite: diese beiden CTAs sind im V73-Prototyp reine Inline-Flex-
   Buttons mit Inhaltsbreite. Elementor würde sie als Flex-Items strecken. */
body.tb-elementor-imported.tb-page-startseite #branchen .btn.section-button,
body.tb-elementor-imported.tb-page-startseite #referenzen .reference-feature .btn {
  align-self:flex-start !important;
  width:auto !important;
  max-width:max-content !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

/* Footer: Elementor-Container wieder auf dieselbe Formatierungsstruktur wie
   die normalen DIVs des V73-Prototyps zurückführen. Dadurch gelten Zeilen-,
   Absatz- und Linkabstände ohne zusätzliche Flex-Gaps. */
body.tb-elementor-imported .site-footer.e-con {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#0f1318 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  overflow:hidden !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18.e-con {
  display:grid !important;
  gap:18px !important;
  padding:38px 0 30px !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 > .e-con {
  display:block !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 h3 {
  font-size:15px !important;
  line-height:1.3 !important;
  margin:0 0 10px !important;
  color:#fff !important;
  font-weight:700 !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 a {
  font-size:13.5px !important;
  line-height:1.35 !important;
  margin:.32rem 0 !important;
  color:#cfd6df !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 a:hover,
body.tb-elementor-imported .site-footer .footer-grid-v18 a:focus-visible {
  color:#ffbf8e !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 .footer-claim {
  max-width:245px !important;
  font-size:14px !important;
  line-height:1.5 !important;
  margin:.6rem 0 !important;
  color:#c3cad3 !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 .footer-contact {
  margin-top:14px !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 .footer-contact a {
  font-size:13.5px !important;
  line-height:1.35 !important;
  margin:.32rem 0 !important;
}
/* In Elementor sitzt footer-logo am Image-Widget; im Prototyp direkt am IMG. */
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img {
  display:block !important;
  height:52px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 15px !important;
}
body.tb-elementor-imported .site-footer .footer-socials.e-con {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:16px !important;
}
body.tb-elementor-imported .site-footer .footer-socials a {
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  margin:0 !important;
  border-radius:12px !important;
  background:rgba(212,116,40,.16) !important;
  border:1px solid rgba(240,138,60,.55) !important;
  box-shadow:0 7px 18px rgba(212,116,40,.14) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1 !important;
}
body.tb-elementor-imported .site-footer .footer-socials a:hover,
body.tb-elementor-imported .site-footer .footer-socials a:focus-visible {
  background:linear-gradient(180deg,var(--orange2),var(--orange)) !important;
  border-color:#ffb37b !important;
  box-shadow:0 12px 28px rgba(212,116,40,.32) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
}
body.tb-elementor-imported .site-footer .footer-bottom.e-con {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:15px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  color:#adb4bd !important;
}
body.tb-elementor-imported .site-footer .footer-bottom > .container.e-con {
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:16px !important;
  font-size:12px !important;
}

/* -------------------------------------------------------------------------
   V7.6.4 minimal hotfix — Kontaktseite + Footer-Feinschliff nach V73.
   Basis bleibt V7.6.3. Keine V77/V78-Designänderungen.
   ------------------------------------------------------------------------- */

/* Kontakt-Hero: Beim Elementor-HTML-Widget sitzt das echte .hero-bg eine
   Wrapper-Ebene tiefer als im statischen V73-Prototyp. Deshalb müssen die
   finalen V68/V73 Kontaktregeln auch auf dieses echte Hintergrund-DIV wirken. */
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .elementor-widget-html.hero-bg .hero-bg {
  position:absolute !important;
  inset:0 !important;
  background-color:#040507 !important;
  background-position:76% 50% !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  transform:scale(1) !important;
  animation:none !important;
  transition:none !important;
  will-change:auto !important;
}

/* Die generische Elementor-.container-Regel darf die schmalere, im Prototyp
   bewusst zentrierte Textfläche des Kontakt-Heros nicht auf 1220 px ziehen. */
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con {
  width:min(54%,760px) !important;
  max-width:760px !important;
  margin-inline:auto !important;
  padding:138px 0 84px !important;
  flex:0 1 auto !important;
  align-self:flex-end !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con > * {
  max-width:100% !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con h1 {
  max-width:14ch !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con .lead {
  max-width:62ch !important;
}

@media(max-width:980px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .elementor-widget-html.hero-bg .hero-bg {
    background-position:78% 50% !important;
  }
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con {
    width:min(60%,680px) !important;
    max-width:680px !important;
    padding:130px 0 78px !important;
  }
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .elementor-widget-html.hero-bg .hero-bg {
    --hero-focus-x:76% !important;
    --hero-focus-y:50% !important;
    background-position:82% 50% !important;
  }
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con {
    width:min(66%,520px) !important;
    max-width:520px !important;
    padding:118px 0 72px !important;
  }
}
@media(max-width:620px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .elementor-widget-html.hero-bg .hero-bg {
    background-position:84% 50% !important;
  }
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con {
    width:min(72%,430px) !important;
    max-width:430px !important;
  }
}
@media(max-width:480px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .elementor-widget-html.hero-bg .hero-bg {
    --hero-focus-x:78% !important;
    --hero-focus-y:50% !important;
    background-position:86% 50% !important;
  }
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .hero-inner.e-con {
    width:min(74%,360px) !important;
    max-width:360px !important;
    padding:112px 0 68px !important;
  }
}

/* Direkter Kontakt: Im statischen V73 hat .info-panel keine künstliche
   Transform-Transition. Elementor bringt standardmäßig eine langsamere
   Container-Transition mit. Diese wird nur hier neutralisiert. */
body.tb-elementor-imported.tb-page-kontakt #direkt .info-panel.e-con {
  --e-con-transform-transition-duration:0s !important;
  transition:none !important;
}

/* Footer: exakte finale V73-Geometrie auf dem tatsächlichen Elementor-DOM. */
body.tb-elementor-imported .site-footer.e-con {
  background:#0f1318 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  overflow:hidden !important;
  color:#f5f7fa !important;
  line-height:1.62 !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18.e-con {
  display:grid !important;
  grid-template-columns:minmax(220px,1.25fr) repeat(4,minmax(145px,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
  padding:38px 0 30px !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 > .e-con {
  display:block !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.62 !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 h3,
body.tb-elementor-imported .site-footer .footer-grid-v18 h3.elementor-heading-title {
  margin:0 0 10px !important;
  padding:0 !important;
  font-size:15px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#fff !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 a {
  display:block !important;
  margin:.32rem 0 !important;
  padding:0 !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  color:#cfd6df !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 a:hover,
body.tb-elementor-imported .site-footer .footer-grid-v18 a:focus-visible {
  color:#ffbf8e !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 .footer-claim {
  max-width:245px !important;
  margin:.6rem 0 !important;
  padding:0 !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  color:#c3cad3 !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 .footer-contact {
  margin-top:14px !important;
}
body.tb-elementor-imported .site-footer .footer-grid-v18 .footer-contact a {
  display:block !important;
  margin:.3rem 0 !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img {
  display:block !important;
  width:auto !important;
  height:52px !important;
  max-width:100% !important;
  margin:0 0 15px !important;
  padding:0 !important;
}
body.tb-elementor-imported .site-footer .footer-socials.e-con {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:16px !important;
}
body.tb-elementor-imported .site-footer .footer-socials a {
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:12px !important;
  background:rgba(212,116,40,.16) !important;
  border:1px solid rgba(240,138,60,.55) !important;
  box-shadow:0 7px 18px rgba(212,116,40,.14) !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:850 !important;
  color:#fff !important;
}
body.tb-elementor-imported .site-footer .footer-socials a:hover,
body.tb-elementor-imported .site-footer .footer-socials a:focus-visible {
  background:linear-gradient(180deg,var(--orange2),var(--orange)) !important;
  border-color:#ffb37b !important;
  box-shadow:0 12px 28px rgba(212,116,40,.32) !important;
  transform:translateY(-2px) !important;
  color:#fff !important;
}
body.tb-elementor-imported .site-footer .footer-bottom.e-con {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:15px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  color:#adb4bd !important;
}
body.tb-elementor-imported .site-footer .footer-bottom > .container.e-con {
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between !important;
  align-items:initial !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  padding:0 !important;
  font-size:12px !important;
  line-height:1.62 !important;
}
body.tb-elementor-imported .site-footer .footer-bottom a {
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:400 !important;
  color:inherit !important;
}
body.tb-elementor-imported .site-footer .footer-bottom a:hover,
body.tb-elementor-imported .site-footer .footer-bottom a:focus-visible {
  color:#ffbf8e !important;
}
@media(max-width:1160px) and (min-width:821px){
  body.tb-elementor-imported .site-footer .footer-grid-v18.e-con {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:820px) and (min-width:581px){
  body.tb-elementor-imported .site-footer .footer-grid-v18.e-con {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:580px){
  body.tb-elementor-imported .site-footer .footer-grid-v18.e-con {
    grid-template-columns:1fr !important;
  }
}


/* -------------------------------------------------------------------------
   V7.6.5 minimal hotfix — Kontakt-Hero absolut statisch.
   Der V73-Prototyp setzt .hero-bg direkt auf das Bild-DIV. In Elementor trägt
   zusätzlich der HTML-Widget-Wrapper dieselbe Klasse. Die allgemeine
   .hero.hero-focal > .hero-bg-Regel kann deshalb den Wrapper animieren, obwohl
   das innere Bild bereits stillsteht. Wrapper, Widget-Container und Bild-DIV
   werden hier ausschließlich auf der Kontaktseite vollständig entkoppelt.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 > .elementor-widget-html.hero-bg,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 > .elementor-widget-html.hero-bg > .elementor-widget-container,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 > .elementor-widget-html.hero-bg .hero-bg {
  animation:none !important;
  animation-name:none !important;
  animation-duration:0s !important;
  transform:none !important;
  translate:none !important;
  rotate:none !important;
  scale:1 !important;
  transition:none !important;
  will-change:auto !important;
  --e-transform-transition-duration:0s !important;
  --e-con-transform-transition-duration:0s !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 > .elementor-widget-html.hero-bg {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 > .elementor-widget-html.hero-bg > .elementor-widget-container {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}

/* -------------------------------------------------------------------------
   V7.6.6 minimal hotfix — Kontakt-Hero garantiert ohne Zoom.
   Der Elementor-Wrapper trägt ab V7.6.6 absichtlich NICHT mehr die Klasse
   .hero-bg. Diese Regeln sind zusätzlich defensiv und stoppen Animation/
   Transform auf jeder noch vorhandenen Kontakt-Hero-Ebene, unabhängig von
   Elementor Motion Effects oder späteren Wrapper-Änderungen.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 > .elementor-widget-container,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 .hero-bg,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
  animation:none !important;
  animation-name:none !important;
  animation-duration:0s !important;
  animation-delay:0s !important;
  animation-iteration-count:1 !important;
  animation-play-state:paused !important;
  transform:none !important;
  translate:none !important;
  rotate:none !important;
  scale:1 !important;
  transition-property:none !important;
  transition-duration:0s !important;
  transition-delay:0s !important;
  will-change:auto !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 > .elementor-widget-container {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}

/* V7.6.6 fallback for already-imported Kontakt pages from V7.6.5 or older.
   Deliberately does not depend on the WordPress body helper class. */
.hero-contact-v68 .hero-bg,
.hero-contact-v68 > .hero-bg,
.hero-contact-v68 > .elementor-widget.hero-bg,
.hero-contact-v68 > .elementor-widget-html.hero-bg,
.hero-contact-v68 > [class~="hero-bg"],
.hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
  animation:none !important;
  animation-name:none !important;
  animation-duration:0s !important;
  animation-delay:0s !important;
  animation-iteration-count:1 !important;
  animation-play-state:paused !important;
  transform:none !important;
  translate:none !important;
  rotate:none !important;
  scale:1 !important;
  transition:none !important;
  transition-property:none !important;
  transition-duration:0s !important;
  transition-delay:0s !important;
  will-change:auto !important;
}


/* V7.6.8 Promotion thumbnail hover fidelity
   Prototype: .video-card:hover .video-poster img => scale(1.025), brightness(.92).
   Elementor renders YouTube thumbnails as a background-image overlay instead of
   a plain <img>, so the same visual behavior is applied to that overlay here. */
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card .elementor-widget-video.video-poster,
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card .elementor-widget-video.video-poster > .elementor-widget-container,
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card .elementor-widget-video.video-poster .elementor-wrapper {
  overflow:hidden !important;
}

body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  width:100% !important;
  height:100% !important;
  background-size:cover !important;
  background-position:center !important;
  transform:scale(1) !important;
  transform-origin:50% 50% !important;
  transition:transform .45s ease, filter .3s ease !important;
  filter:brightness(1) !important;
  will-change:transform,filter;
  backface-visibility:hidden;
}

body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card:hover .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay,
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card:focus-within .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  transform:scale(1.025) !important;
  filter:brightness(.92) !important;
}

/* Fallback if Elementor outputs a real image instead of the background overlay. */
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card .elementor-widget-video.video-poster img {
  transform:scale(1) !important;
  transform-origin:50% 50% !important;
  transition:transform .45s ease, filter .3s ease !important;
  filter:brightness(1) !important;
}
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card:hover .elementor-widget-video.video-poster img,
body.tb-elementor-imported.tb-page-promotion .video-showcase .video-card:focus-within .elementor-widget-video.video-poster img {
  transform:scale(1.025) !important;
  filter:brightness(.92) !important;
}

/* -------------------------------------------------------------------------
   V7.6.9 – Section background seams + Startseite typography / CTA fidelity.
   Source of truth remains the approved V73 prototype.
   ------------------------------------------------------------------------- */

/* All imported <main> containers contain only the original full-width
   prototype sections. Elementor's container gap creates visible strips of the
   parent background between those sections. The prototype has no such gap. */
body.tb-elementor-imported main.e-con {
  --gap:0px !important;
  gap:0 !important;
  row-gap:0 !important;
  column-gap:0 !important;
}
body.tb-elementor-imported main.e-con > .e-con.section {
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* STARTSEITE: Heading widgets must use the exact V73 prototype typography,
   not Elementor Kit heading sizes. */
body.tb-elementor-imported.tb-page-startseite .hero h1.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .hero h1.elementor-heading-title {
  font-size:clamp(38px,4.7vw,66px) !important;
  line-height:1.04 !important;
  max-width:900px !important;
  letter-spacing:-.018em !important;
  margin:0 0 22px !important;
}
body.tb-elementor-imported.tb-page-startseite .hero-stats-head h2.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .hero-stats-head h2.elementor-heading-title {
  font-size:28px !important;
  line-height:1.14 !important;
  margin:0 0 18px !important;
  max-width:360px !important;
}
body.tb-elementor-imported.tb-page-startseite .home-testimonial-head-v45 h2.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45 h2.elementor-heading-title {
  margin:0 !important;
  font-size:clamp(28px,3.7vw,46px) !important;
  line-height:1.12 !important;
  max-width:780px !important;
}
body.tb-elementor-imported.tb-page-startseite .section-head h2.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .section-head h2.elementor-heading-title {
  font-size:clamp(30px,3.8vw,49px) !important;
  line-height:1.12 !important;
  letter-spacing:-.012em !important;
  margin:0 !important;
}
body.tb-elementor-imported.tb-page-startseite .entry-path-card h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .entry-path-card h3.elementor-heading-title {
  font-size:25px !important;
  line-height:1.24 !important;
  margin:6px 0 12px !important;
}
body.tb-elementor-imported.tb-page-startseite .cards.cols-3 .card h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .cards.cols-3 .card h3.elementor-heading-title {
  font-size:22px !important;
  line-height:1.62 !important;
  margin:0 0 9px !important;
}
body.tb-elementor-imported.tb-page-startseite .model-dark-card h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .model-dark-card h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-startseite .reference-feature h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .reference-feature h3.elementor-heading-title {
  font-size:1.17em !important;
  line-height:1.62 !important;
  margin:1em 0 !important;
}
body.tb-elementor-imported.tb-page-startseite .home-partnership-bridge-inner-v52 h2.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .home-partnership-bridge-inner-v52 h2.elementor-heading-title {
  font-size:clamp(30px,3.6vw,48px) !important;
  line-height:1.1 !important;
  margin:5px 0 16px !important;
}
body.tb-elementor-imported.tb-page-startseite .home-data-link-copy-v54 h2,
body.tb-elementor-imported.tb-page-home .home-data-link-copy-v54 h2 {
  font-size:clamp(28px,3.8vw,44px) !important;
  line-height:1.12 !important;
  margin:8px 0 12px !important;
}
body.tb-elementor-imported.tb-page-startseite .service-head h3,
body.tb-elementor-imported.tb-page-home .service-head h3 {
  font-size:19px !important;
  line-height:1.28 !important;
  margin:0 !important;
}
body.tb-elementor-imported.tb-page-startseite .usecase-grid .usecase h3,
body.tb-elementor-imported.tb-page-home .usecase-grid .usecase h3 {
  font-size:19px !important;
  line-height:1.18 !important;
  margin:0 0 9px !important;
}
body.tb-elementor-imported.tb-page-startseite .video-copy h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .video-copy h3.elementor-heading-title {
  font-size:23px !important;
  line-height:1.22 !important;
  margin:4px 0 8px !important;
}
body.tb-elementor-imported.tb-page-startseite .music-portal h2.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .music-portal h2.elementor-heading-title {
  font-size:clamp(31px,4vw,50px) !important;
  line-height:1.62 !important;
  margin:.2rem 0 !important;
}

/* Final CTA "Ihr nächster Schritt": restore the prototype's normal DIV / A
   formatting instead of Elementor's full-width child-container behaviour. */
body.tb-elementor-imported.tb-page-startseite .cta-panel.e-con,
body.tb-elementor-imported.tb-page-home .cta-panel.e-con {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  padding:30px !important;
}
body.tb-elementor-imported.tb-page-startseite .cta-panel.e-con > .e-con:first-child,
body.tb-elementor-imported.tb-page-home .cta-panel.e-con > .e-con:first-child {
  display:block !important;
  --width:auto !important;
  width:auto !important;
  max-width:none !important;
  flex:0 1 auto !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}
body.tb-elementor-imported.tb-page-startseite .cta-panel h2.elementor-heading-title,
body.tb-elementor-imported.tb-page-home .cta-panel h2.elementor-heading-title {
  font-size:24px !important;
  line-height:1.62 !important;
  margin:.83em 0 !important;
  letter-spacing:normal !important;
}
body.tb-elementor-imported.tb-page-startseite .cta-panel p,
body.tb-elementor-imported.tb-page-home .cta-panel p {
  font-size:16px !important;
  line-height:1.62 !important;
  margin:1em 0 !important;
}
body.tb-elementor-imported.tb-page-startseite .cta-panel .btn,
body.tb-elementor-imported.tb-page-home .cta-panel .btn {
  flex:0 1 auto !important;
  width:auto !important;
  max-width:none !important;
  min-height:44px !important;
  padding:14px 20px !important;
  gap:9px !important;
  border-radius:14px !important;
  font-size:16px !important;
  line-height:1.62 !important;
  font-weight:750 !important;
  white-space:normal !important;
}
body.tb-elementor-imported.tb-page-startseite .home-contact-links.e-con,
body.tb-elementor-imported.tb-page-home .home-contact-links.e-con {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  --width:auto !important;
  width:auto !important;
  max-width:none !important;
  min-width:min(100%,560px) !important;
  flex:0 1 auto !important;
  margin:0 !important;
  padding:0 !important;
}
body.tb-elementor-imported.tb-page-startseite .home-contact-links a,
body.tb-elementor-imported.tb-page-home .home-contact-links a {
  display:flex !important;
  flex-direction:column !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  font-size:16px !important;
  line-height:1.62 !important;
  width:auto !important;
  min-width:0 !important;
}
body.tb-elementor-imported.tb-page-startseite .home-contact-links span,
body.tb-elementor-imported.tb-page-home .home-contact-links span {
  font-size:11px !important;
  line-height:1.62 !important;
  letter-spacing:.09em !important;
  font-weight:800 !important;
}
body.tb-elementor-imported.tb-page-startseite .home-contact-links strong,
body.tb-elementor-imported.tb-page-home .home-contact-links strong {
  font-size:15px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}

@media(max-width:1100px){
  body.tb-elementor-imported.tb-page-startseite .home-contact-links.e-con,
  body.tb-elementor-imported.tb-page-home .home-contact-links.e-con {
    grid-template-columns:1fr !important;
    min-width:0 !important;
    width:100% !important;
  }
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-startseite .hero h1.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .hero h1.elementor-heading-title {
    font-size:clamp(36px,10vw,48px) !important;
    line-height:1.06 !important;
  }
  body.tb-elementor-imported.tb-page-startseite .section-head h2.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .section-head h2.elementor-heading-title {
    font-size:clamp(29px,8vw,40px) !important;
  }
  body.tb-elementor-imported.tb-page-startseite .cards.cols-3 .card h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .cards.cols-3 .card h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-startseite .video-copy h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .video-copy h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-startseite .service-head h3,
  body.tb-elementor-imported.tb-page-home .service-head h3,
  body.tb-elementor-imported.tb-page-startseite .usecase-grid .usecase h3,
  body.tb-elementor-imported.tb-page-home .usecase-grid .usecase h3 {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
  body.tb-elementor-imported.tb-page-startseite .cta-panel.e-con,
  body.tb-elementor-imported.tb-page-home .cta-panel.e-con {
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  body.tb-elementor-imported.tb-page-startseite .cta-panel.e-con > .e-con:first-child,
  body.tb-elementor-imported.tb-page-home .cta-panel.e-con > .e-con:first-child,
  body.tb-elementor-imported.tb-page-startseite .home-contact-links.e-con,
  body.tb-elementor-imported.tb-page-home .home-contact-links.e-con {
    width:100% !important;
    max-width:none !important;
  }
}
@media(max-width:760px){
  body.tb-elementor-imported.tb-page-startseite .hero-stats-head h2.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .hero-stats-head h2.elementor-heading-title {
    font-size:24px !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-startseite .hero h1.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .hero h1.elementor-heading-title {
    font-size:clamp(33px,9.3vw,43px) !important;
    line-height:1.07 !important;
  }
  body.tb-elementor-imported.tb-page-startseite .section-head h2.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .section-head h2.elementor-heading-title {
    font-size:clamp(22px,7.2vw,28px) !important;
    line-height:1.14 !important;
  }
  body.tb-elementor-imported.tb-page-startseite .cards.cols-3 .card h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .cards.cols-3 .card h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-startseite .video-copy h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .video-copy h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-startseite .service-head h3,
  body.tb-elementor-imported.tb-page-home .service-head h3,
  body.tb-elementor-imported.tb-page-startseite .usecase-grid .usecase h3,
  body.tb-elementor-imported.tb-page-home .usecase-grid .usecase h3 {
    font-size:17px !important;
    line-height:1.2 !important;
  }
  body.tb-elementor-imported.tb-page-startseite .home-partnership-bridge-inner-v52 h2.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .home-partnership-bridge-inner-v52 h2.elementor-heading-title {
    font-size:26px !important;
  }
}
@media(max-width:480px){
  body.tb-elementor-imported.tb-page-startseite .hero h1.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .hero h1.elementor-heading-title {
    font-size:28px !important;
    line-height:1.07 !important;
  }
}
@media(max-width:360px){
  body.tb-elementor-imported.tb-page-startseite .entry-path-card h3.elementor-heading-title,
  body.tb-elementor-imported.tb-page-home .entry-path-card h3.elementor-heading-title {
    font-size:19px !important;
    line-height:1.22 !important;
    letter-spacing:-.01em !important;
  }
}

/* -------------------------------------------------------------------------
   V7.7.3 — requested V73 prototype detail fidelity.
   The approved public/v50.css remains unchanged; these rules only compensate
   for Elementor widget/container wrappers where direct-child prototype CSS
   cannot hit the same DOM nodes as in the static prototype.
   ------------------------------------------------------------------------- */

/* Startseite / Kundenstimmen — prototype images are true squares with rounded
   corners. In Elementor the direct grid child is the image widget wrapper,
   not the <img>, so size both levels to the V57 prototype values. */
body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image,
body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image {
  --width:92px !important;
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  height:92px !important;
  min-height:92px !important;
  align-self:start !important;
}
body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image > .elementor-widget-container,
body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image > .elementor-widget-container {
  width:92px !important;
  height:92px !important;
  overflow:hidden !important;
  border-radius:18px !important;
}
body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image img,
body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image img {
  display:block !important;
  width:92px !important;
  height:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

/* The static V73 heading only limits the H2 itself to 780 px. It does not cap
   the complete copy column. Removing the Elementor-only 780 px column cap lets
   the intro sentence occupy the same single line as the prototype at desktop width. */
body.tb-elementor-imported.tb-page-startseite .home-testimonial-head-v45.e-con > .e-con:first-child,
body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45.e-con > .e-con:first-child {
  max-width:none !important;
}
body.tb-elementor-imported.tb-page-startseite .home-testimonial-head-v45 .section-intro,
body.tb-elementor-imported.tb-page-home .home-testimonial-head-v45 .section-intro {
  max-width:none !important;
}

/* Final orange CTA — keep the exact little V73 arrow visible in both frontend
   and Elementor preview. */
body.tb-elementor-imported .tb-home-final-cta-v773 .mini-icon {
  display:inline-flex !important;
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  align-items:center !important;
  justify-content:center !important;
}
body.tb-elementor-imported .tb-home-final-cta-v773 .mini-icon svg {
  display:block !important;
  width:18px !important;
  height:18px !important;
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Website-Systeme / Ablauf — prototype desktop h3 is the browser default
   1.17em on a 16px base (= 18.72px). Use explicit 19px so Elementor's own
   typography inheritance cannot enlarge these four labels. */
body.tb-elementor-imported.tb-page-website-systeme #website-prozess .process-list h3.elementor-heading-title {
  font-size:19px !important;
  line-height:1.2 !important;
  margin:0 0 6px !important;
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-website-systeme #website-prozess .process-list h3.elementor-heading-title {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-website-systeme #website-prozess .process-list h3.elementor-heading-title {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

/* Kampagnen & Ads / Kanäle — prototype desktop h3 is ~18.72px.
   Pin to 19px so Elementor's global heading typography cannot make the five
   channel labels larger than in the V73 prototype. */
body.tb-elementor-imported.tb-page-kampagnen-ads #kanaele .channel-grid article h3.elementor-heading-title {
  font-size:19px !important;
  line-height:1.2 !important;
  margin:1em 0 !important;
}

/* Prototype fidelity for info-panel hover: V73 defines translateY(-5px) but no
   transition on .info-panel itself. Elementor adds a transform transition to
   containers, which makes Mehrwert / Rollenmodell / Kalkulation visibly slower.
   Neutralise only that Elementor-added duration so the cards react like V73. */
body.tb-elementor-imported .info-panel.e-con {
  --e-con-transform-transition-duration:0s !important;
  --e-transform-transition-duration:0s !important;
  transition:none !important;
}
body.tb-elementor-imported .info-panel.e-con:hover,
body.tb-elementor-imported .info-panel.e-con:focus-within {
  transform:translateY(-5px) !important;
}

/* -------------------------------------------------------------------------
   V7.7.5 — Hover-Rahmen exakt nach V73-Prototyp.
   Der schnelle -5px-Lift bleibt bestehen. Die Kompatibilitätsschicht erzwingt
   KEINE orange Hover-Farbe mehr. Dadurch greifen wieder die finalen
   Prototyp-Regeln für den dünnen grauen Rahmen auf hellen und dunklen Flächen.
   Border-Breite und -Stil bleiben vor, während und nach dem Hover konstant,
   damit sich das Kartenlayout beim Hover nicht verändert.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported .info-panel.e-con {
  box-sizing:border-box !important;
  border-width:1px !important;
  border-style:solid !important;
}

@media(max-width:780px){
  body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image,
  body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image,
  body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image > .elementor-widget-container,
  body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image > .elementor-widget-container,
  body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image img,
  body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image img {
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:72px !important;
    min-height:72px !important;
    border-radius:14px !important;
  }
}
@media(max-width:480px){
  body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image,
  body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image,
  body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image > .elementor-widget-container,
  body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image > .elementor-widget-container,
  body.tb-elementor-imported.tb-page-startseite .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image img,
  body.tb-elementor-imported.tb-page-home .home-testimonial-track-v45 > .home-testimonial-card-v45 > .elementor-widget-image img {
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:58px !important;
    min-height:58px !important;
  }
}

/* -------------------------------------------------------------------------
   V7.7.6 — Elementor editor rendering/fidelity fix.
   Custom link widgets stay individually selectable in Elementor. Their
   semantic <a> output fills the technical widget host so the prototype layout
   does not collapse merely because the editor keeps its wrapper element.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.elementor-editor-active .elementor-widget-tb-v50-link {
  min-width:0 !important;
  margin:0 !important;
}
body.tb-elementor-imported.elementor-editor-active .elementor-widget-tb-v50-link > a,
body.tb-elementor-imported.elementor-editor-active .elementor-widget-tb-v50-link > .elementor-widget-container > a {
  box-sizing:border-box;
  max-width:100%;
}

/* Card-like links are grid items in the prototype. In the editor the technical
   widget wrapper is the grid item, therefore keep card dimensions on the
   semantic link and stretch it through its selectable host. */
body.tb-elementor-imported.elementor-editor-active
:is(.service-grid,.cards,.usecase-grid,.solution-path-grid,.format-direct-grid,.decision-grid,.branch-deep-grid-v58)
> .elementor-widget-tb-v50-link {
  min-width:0 !important;
  height:100% !important;
}
body.tb-elementor-imported.elementor-editor-active
:is(.service-grid,.cards,.usecase-grid,.solution-path-grid,.format-direct-grid,.decision-grid,.branch-deep-grid-v58)
> .elementor-widget-tb-v50-link > a,
body.tb-elementor-imported.elementor-editor-active
:is(.service-grid,.cards,.usecase-grid,.solution-path-grid,.format-direct-grid,.decision-grid,.branch-deep-grid-v58)
> .elementor-widget-tb-v50-link > .elementor-widget-container > a {
  width:100% !important;
  height:100% !important;
}

/* Contact quick links: preserve the 2-column prototype grid and the full-width
   final button while each item remains a separate Elementor widget. */
body.tb-elementor-imported.elementor-editor-active .contact-quick-links
> .elementor-widget-tb-v50-link {
  width:100% !important;
  min-width:0 !important;
}
body.tb-elementor-imported.elementor-editor-active .contact-quick-links
> .elementor-widget-tb-v50-link > a,
body.tb-elementor-imported.elementor-editor-active .contact-quick-links
> .elementor-widget-tb-v50-link > .elementor-widget-container > a {
  width:100% !important;
  height:100% !important;
}
body.tb-elementor-imported.elementor-editor-active .contact-quick-links
> .elementor-widget-tb-v50-link:has(a.contact-details-link) {
  grid-column:1 / -1 !important;
}
@media(max-width:620px){
  body.tb-elementor-imported.elementor-editor-active .contact-quick-links
  > .elementor-widget-tb-v50-link:has(a.contact-details-link) {
    grid-column:auto !important;
  }
}

/* Back/next navigation and inline action groups use inline-width links in the
   prototype. Elementor's widget host must not become a full-width flex item. */
body.tb-elementor-imported.elementor-editor-active
:is(.back-navigation .container,.hero-actions,.hero-actions-v51,.video-actions,.local-links)
> .elementor-widget-tb-v50-link {
  --container-widget-width:auto !important;
  --container-widget-flex-grow:0 !important;
  min-width:0 !important;
}
body.tb-elementor-imported.elementor-editor-active .back-navigation .container
> .elementor-widget-tb-v50-link {
  width:auto !important;
  flex:0 0 auto !important;
}
body.tb-elementor-imported.elementor-editor-active .back-navigation .container
> .elementor-widget-tb-v50-link:first-child {
  margin-right:auto !important;
}
body.tb-elementor-imported.elementor-editor-active .back-navigation .container
> .elementor-widget-tb-v50-link:last-child {
  margin-left:auto !important;
}

/* Native footer links and social links should retain their real content box. */
body.tb-elementor-imported.elementor-editor-active
:is(.footer-grid,.footer-socials) .elementor-widget-tb-v50-link > a,
body.tb-elementor-imported.elementor-editor-active
:is(.footer-grid,.footer-socials) .elementor-widget-tb-v50-link > .elementor-widget-container > a {
  display:inherit;
}

/* Visible placeholder only when a custom media widget genuinely has no file. */
body.tb-elementor-imported.elementor-editor-active .tb-editor-widget-placeholder-v776 {
  margin:0;
  padding:10px 12px;
  border:1px dashed rgba(127,127,127,.45);
  border-radius:8px;
  font-size:13px;
  opacity:.75;
}

/* =========================================================================
   V7.7.8 — Elementor Live-Editor = Frontend-Geometrie
   =========================================================================
   Der Elementor-Preview-Request erhält jetzt zuverlässig tb-elementor-imported
   UND die echten Seitenklassen. Außerdem werden dieselben technischen Widget-
   Hüllen im Editor visuell neutralisiert wie im Frontend.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.tb-elementor-live-preview
:is(
  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-image,
  .elementor-widget-html
),
body.tb-elementor-imported.tb-elementor-live-preview
:is(
  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-image,
  .elementor-widget-html
) > .elementor-widget-container {
  display:contents !important;
}

/* Native replacement widgets must behave like the original semantic HTML,
   while remaining separate Elementor widgets in Navigator and data model. */
body.tb-elementor-imported
:is(.tb-native-link-widget-v778,.tb-native-audio-widget-v778,.tb-native-tour-widget-v778),
body.tb-elementor-imported
:is(.tb-native-link-widget-v778,.tb-native-audio-widget-v778,.tb-native-tour-widget-v778)
> .elementor-widget-container {
  display:contents !important;
}

/* Elementor editor helper minimum-heights must never create blank bars in the
   imported page. Real prototype min-heights still come from v50.css. */
body.tb-elementor-imported.tb-elementor-live-preview .elementor-widget-empty,
body.tb-elementor-imported.tb-elementor-live-preview .e-con:empty {
  min-height:0 !important;
}

/* Do not add layout-changing padding/margins just to make editor handles visible. */
body.tb-elementor-imported.tb-elementor-live-preview .elementor-element.e-con,
body.tb-elementor-imported.tb-elementor-live-preview .elementor-widget {
  margin-block-start:0;
  margin-block-end:0;
}

/* When Elementor marks a migrated native HTML widget, never hide its content. */
body.tb-elementor-imported.tb-elementor-live-preview
:is(.tb-native-link-widget-v778,.tb-native-audio-widget-v778,.tb-native-tour-widget-v778)
> .elementor-widget-container > * {
  visibility:visible !important;
  opacity:1 !important;
}

/* =========================================================================
   V7.7.9 — V73 prototype detail corrections
   ========================================================================= */

/* Shared film-production step component:
   exact V73 orange for the small 01–05 labels. The fallback selectors also
   fix already-imported V7.7.8 documents before/without a fresh re-import. */
body.tb-elementor-imported .production-steps-v59 .production-step-number-v59,
body.tb-elementor-imported .production-steps-v59
.tb-production-step-number-widget-v779 span,
body.tb-elementor-imported .production-steps-v59 article
.elementor-widget-html:first-child span,
body.tb-elementor-imported .production-steps-v59 article > span:first-child {
  color:#ffc08f !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  margin-bottom:12px !important;
}

/* All V73 video reference cards:
   no visible seam/gap between 16:9 preview and text area. */
body.tb-elementor-imported .video-card.e-con {
  gap:0 !important;
  row-gap:0 !important;
  column-gap:0 !important;
  padding:0 !important;
}
body.tb-elementor-imported .video-card.e-con
> .elementor-widget-video.video-poster {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  line-height:0 !important;
  font-size:0 !important;
  flex:0 0 auto !important;
}
body.tb-elementor-imported .video-card.e-con
> .elementor-widget-video.video-poster > .elementor-widget-container,
body.tb-elementor-imported .video-card.e-con
> .elementor-widget-video.video-poster .elementor-wrapper {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  line-height:0 !important;
  font-size:0 !important;
}
body.tb-elementor-imported .video-card.e-con
> .elementor-widget-video.video-poster iframe,
body.tb-elementor-imported .video-card.e-con
> .elementor-widget-video.video-poster .elementor-custom-embed-image-overlay,
body.tb-elementor-imported .video-card.e-con
> .elementor-widget-video.video-poster img {
  display:block !important;
  margin:0 !important;
  vertical-align:top !important;
}
body.tb-elementor-imported .video-card.e-con > .video-copy.e-con {
  margin:0 !important;
  border-top:0 !important;
}

/* FAQ = semantic V73 <details> structure in both frontend and Elementor.
   Each FAQ question remains its own Elementor HTML widget. */
body.tb-elementor-imported .faq-list.tb-faq-native-v779.e-con {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  row-gap:12px !important;
}
body.tb-elementor-imported .faq-list.tb-faq-native-v779
> .elementor-widget-html.tb-faq-item-widget-v779,
body.tb-elementor-imported .faq-list.tb-faq-native-v779
> .elementor-widget-html.tb-faq-item-widget-v779 > .elementor-widget-container {
  display:contents !important;
}
body.tb-elementor-imported .faq-list.tb-faq-native-v779 details {
  box-sizing:border-box !important;
  width:100% !important;
  margin:0 !important;
  padding:18px 20px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.1) !important;
  background:#15191f !important;
  color:inherit !important;
  box-shadow:none !important;
}
body.tb-elementor-imported .theme-light .faq-list.tb-faq-native-v779 details {
  background:#fff !important;
  border-color:rgba(20,22,27,.1) !important;
}
body.tb-elementor-imported .faq-list.tb-faq-native-v779 summary {
  margin:0 !important;
  padding:0 !important;
  font:inherit !important;
  font-weight:760 !important;
  line-height:1.62 !important;
  color:inherit !important;
  cursor:pointer;
}
body.tb-elementor-imported .faq-list.tb-faq-native-v779 details > p {
  margin:1em 0 0 !important;
  padding:0 !important;
  line-height:1.62 !important;
  color:inherit !important;
}

/* =========================================================================
   V7.8.0 — Navigation, Hero, Video, 360° und Branchen-Fidelity
   ========================================================================= */

/* 1) STICKY NAVIGATION ON EVERY IMPORTED PAGE
   Keep the same visible stack as the V73 prototype:
   header -> breadcrumbs -> "Auf dieser Seite".
   Elementor parents must not clip sticky descendants. */
body.tb-elementor-imported {
  --tb-adminbar-offset:0px;
}
body.admin-bar.tb-elementor-imported {
  --tb-adminbar-offset:32px;
}
@media(max-width:782px){
  body.admin-bar.tb-elementor-imported {
    --tb-adminbar-offset:46px;
  }
}

body.tb-elementor-imported .elementor-location-header,
body.tb-elementor-imported .tb-sticky-header-host {
  position:sticky !important;
  position:-webkit-sticky !important;
  top:var(--tb-adminbar-offset) !important;
  z-index:1200 !important;
  overflow:visible !important;
  contain:none !important;
  transform:none !important;
}
body.tb-elementor-imported .elementor-location-header,
body.tb-elementor-imported .elementor-location-header > .elementor-element,
body.tb-elementor-imported .elementor[data-elementor-type="wp-page"] {
  overflow:visible !important;
  contain:none !important;
}

body.tb-elementor-imported .breadcrumbs {
  position:sticky !important;
  position:-webkit-sticky !important;
  top:calc(var(--tb-adminbar-offset) + 82px) !important;
  z-index:1100 !important;
  overflow:visible !important;
}
body.tb-elementor-imported .local-nav {
  position:sticky !important;
  position:-webkit-sticky !important;
  top:calc(var(--tb-adminbar-offset) + 126px) !important;
  z-index:1050 !important;
  overflow:visible !important;
  transform:none !important;
  contain:none !important;
}
@media(max-width:780px){
  body.tb-elementor-imported .breadcrumbs {
    top:calc(var(--tb-adminbar-offset) + 72px) !important;
  }
  body.tb-elementor-imported .local-nav {
    top:calc(var(--tb-adminbar-offset) + 114px) !important;
  }
}

/* The current local-navigation item must use the V73 orange state only.
   Timing is controlled by the exact V73 marker logic in elementor-compat.js. */
body.tb-elementor-imported .local-links a.current {
  background:#b96e2d !important;
  border-color:#b96e2d !important;
  color:#fff !important;
}

/* 2) STATIC HERO BACKGROUNDS ON ALL PAGES
   No Ken-Burns / zoom-in / zoom-out motion. */
body.tb-elementor-imported .hero > .hero-bg {
  animation:none !important;
  transform:none !important;
  transition:none !important;
  will-change:auto !important;
}

/* 3) VIDEO THUMBNAIL HOVER — V73 behaviour for Elementor Video widgets.
   V73 final rule: scale 1.025 + brightness .92. */
body.tb-elementor-imported .video-card .elementor-widget-video.video-poster {
  overflow:hidden !important;
}
body.tb-elementor-imported .video-card
.elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  background-size:cover !important;
  background-position:center !important;
  transition:transform .45s ease, filter .3s ease !important;
  transform:scale(1) !important;
  filter:none !important;
  transform-origin:center center !important;
}
body.tb-elementor-imported .video-card:hover
.elementor-widget-video.video-poster .elementor-custom-embed-image-overlay,
body.tb-elementor-imported .video-card:focus-within
.elementor-widget-video.video-poster .elementor-custom-embed-image-overlay {
  transform:scale(1.025) !important;
  filter:brightness(.92) !important;
}
/* Preserve the same hover for any preview still rendered as a real <img>. */
body.tb-elementor-imported .video-card .video-poster img {
  transition:transform .45s ease, filter .3s ease !important;
}
body.tb-elementor-imported .video-card:hover .video-poster img,
body.tb-elementor-imported .video-card:focus-within .video-poster img {
  transform:scale(1.025) !important;
  filter:brightness(.92) !important;
}

/* 4) 360° EXAMPLE CARDS — reproduce the V73 card geometry even though the
   interactive implementation uses a button inside each card. */
body.tb-elementor-imported .interactive-tour-section .tour-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}
body.tb-elementor-imported .interactive-tour-section .tour-card {
  display:flex !important;
  flex-direction:column !important;
  min-height:220px !important;
  height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,#1d2531,#11161d) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
}
body.tb-elementor-imported .interactive-tour-section .tb-tour-open-v51 {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
  height:100% !important;
  min-height:220px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  text-align:left !important;
  font:inherit !important;
}
body.tb-elementor-imported .interactive-tour-section
.tb-tour-open-v51 > .tour-preview-v33 {
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#0b2845 !important;
  color:inherit !important;
  font-weight:400 !important;
}
body.tb-elementor-imported .interactive-tour-section
.tb-tour-open-v51 > .tour-preview-v33 img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
body.tb-elementor-imported .interactive-tour-section
.tb-tour-open-v51 > h3 {
  margin:20px 24px 0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:19px !important;
  line-height:1.2 !important;
  text-align:left !important;
}
body.tb-elementor-imported .interactive-tour-section
.tb-tour-description-v51 {
  margin:0 24px !important;
  padding:0 !important;
  color:#fff !important;
  text-align:left !important;
}
body.tb-elementor-imported .interactive-tour-section
.tb-tour-description-v51 p {
  margin:1em 0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.62 !important;
  text-align:left !important;
}
body.tb-elementor-imported .interactive-tour-section
.tb-tour-open-v51 > span:last-child {
  display:block !important;
  margin:auto 24px 22px !important;
  padding:0 !important;
  color:#ffc08f !important;
  font-weight:750 !important;
  text-align:left !important;
}
@media(max-width:1180px){
  body.tb-elementor-imported .interactive-tour-section .tour-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:820px){
  body.tb-elementor-imported .interactive-tour-section .tour-grid {
    grid-template-columns:1fr !important;
  }
}

/* 5) BRANCH PAGES — solution titles stay white on hover/focus/visited.
   Elementor/global theme link colours must never turn these titles blue. */
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .theme-dark .service-card,
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .theme-dark .service-card:visited,
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .theme-dark .service-card:hover,
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .theme-dark .service-card:focus,
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .theme-dark .service-card .service-head h3 {
  color:#fff !important;
  text-decoration:none !important;
}

/* Industry three-step headings use the browser/V73 h3 size (~18.7 px),
   not Elementor's larger global heading preset. */
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .three-steps article h3 {
  font-size:19px !important;
  line-height:1.2 !important;
}

/* =========================================================================
   V7.8.1 — Branchenseiten / "Passende Lösungen":
   Kartentitel bleiben IMMER weiß, auch bei Hover, Focus und Visited.
   Elementor bzw. Theme-Linkfarben dürfen die H3-Titel nicht blau färben.
   ========================================================================= */
body.tb-elementor-imported .theme-dark .service-grid a.service-card .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:link .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:visited .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:hover .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:focus .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:focus-visible .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:focus-within .service-head h3,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:active .service-head h3 {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
}

/* Elementor kann im Editor einen Link-Farbwert an den Anchor vererben.
   Daher auch den Anchor selbst in genau dieser dunklen Service-Grid-Komponente
   auf die Prototypfarbe setzen. Der orange "Seite öffnen"-Text bleibt durch
   seine spezifische .text-link-Regel weiterhin orange. */
body.tb-elementor-imported .theme-dark .service-grid a.service-card,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:link,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:visited,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:hover,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:focus,
body.tb-elementor-imported .theme-dark .service-grid a.service-card:active {
  color:#ffffff !important;
}

/* =========================================================================
   V7.8.2 — Dienstleistungen & Handwerk + Branchen-Breadcrumbs
   ========================================================================= */

/* 1) Dienstleistungen & Handwerk:
   alle sieben SVG-Icons vollständig und in der V73-Geometrie anzeigen. */
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
:is(.problem-card > .icon, .service-head > .icon) {
  box-sizing:border-box !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  flex:0 0 48px !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  border-radius:15px !important;
  background:rgba(212,116,40,.12) !important;
  line-height:0 !important;
}
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
:is(.problem-card > .icon, .service-head > .icon) svg {
  display:block !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  fill:none !important;
  stroke:#884014 !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
:is(.problem-card > .icon, .service-head > .icon) svg * {
  vector-effect:non-scaling-stroke;
}

/* 2) Dienstleistungen & Handwerk:
   der orange CTA "Projekt besprechen" darf nicht umbrechen. */
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
#kontakt .cta-panel .btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
#kontakt .cta-panel .btn .mini-icon {
  flex:0 0 auto !important;
}

/* 3) "Sie sind hier" / Breadcrumbs:
   auf ALLEN Branchen-Unterseiten muss die komplette Brotkrumen-Navigation
   sichtbar bzw. bei schmalen Viewports horizontal erreichbar bleiben.
   Kein Element darf durch Elementor schrumpfen oder abgeschnitten werden. */
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .breadcrumbs {
  overflow:visible !important;
  height:auto !important;
  min-height:42px !important;
}
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .breadcrumbs > .container {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:9px !important;
  width:min(1220px,calc(100% - 44px)) !important;
  max-width:1220px !important;
  min-height:42px !important;
  margin-inline:auto !important;
  padding:0 !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  white-space:nowrap !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .breadcrumbs > .container::-webkit-scrollbar {
  display:none;
}
body.tb-elementor-imported
:is(
  .tb-page-industrie,
  .tb-page-maschinenbau,
  .tb-page-medizintechnik,
  .tb-page-technologie-software,
  .tb-page-gebaeudetechnik,
  .tb-page-manufakturen,
  .tb-page-dienstleistungen-handwerk
) .breadcrumbs > .container > * {
  flex:0 0 auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  white-space:nowrap !important;
}
@media(max-width:780px){
  body.tb-elementor-imported
  :is(
    .tb-page-industrie,
    .tb-page-maschinenbau,
    .tb-page-medizintechnik,
    .tb-page-technologie-software,
    .tb-page-gebaeudetechnik,
    .tb-page-manufakturen,
    .tb-page-dienstleistungen-handwerk
  ) .breadcrumbs > .container {
    width:calc(100% - 30px) !important;
  }
}

/* =========================================================================
   V7.8.3 — Dienstleistungen & Handwerk: Icons exakt wie V73
             + globales Hauptmenü wieder nur als EIN Sticky-Template
   ========================================================================= */

/* -------------------------------------------------------------------------
   A) Typische Herausforderung
   In Elementor ist das echte <span class="icon"> im HTML-Widget verschachtelt.
   Die V73-Regel .problem-card > .icon trifft dort sonst nur den technischen
   Elementor-Wrapper. Deshalb wird die echte Icon-Box hier explizit gestaltet.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.problem-card > .elementor-widget-html.icon,
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.problem-card > .elementor-widget-html.icon > .elementor-widget-container {
  display:contents !important;
}

body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.problem-card > .elementor-widget-html.icon
> .elementor-widget-container > span.icon {
  box-sizing:border-box !important;
  display:grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  margin:0 0 15px !important;
  padding:0 !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:15px !important;
  background:rgba(212,116,40,.12) !important;
  line-height:0 !important;
  color:#f08a3c !important;
}

body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.problem-card > .elementor-widget-html.icon
> .elementor-widget-container > span.icon > svg {
  display:block !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  fill:none !important;
  stroke:#f08a3c !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Every path/rect must be visible exactly like the inline SVGs in V73. */
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.problem-card > .elementor-widget-html.icon
> .elementor-widget-container > span.icon > svg
:is(path,rect,line,polyline,polygon,circle,ellipse) {
  display:revert !important;
  visibility:visible !important;
  opacity:1 !important;
  fill:none !important;
  stroke:#f08a3c !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* -------------------------------------------------------------------------
   B) Passende Filmformate
   V73-Dark-Section: Icon stroke is var(--orange2) = #f08a3c.
   V7.8.2 incorrectly forced the dark brown light-theme colour #884014.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.theme-dark .service-grid .service-card .service-head > .icon {
  box-sizing:border-box !important;
  display:grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  flex:0 0 48px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:15px !important;
  background:rgba(212,116,40,.12) !important;
  color:#f08a3c !important;
  line-height:0 !important;
}

body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.theme-dark .service-grid .service-card .service-head > .icon > svg {
  display:block !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  fill:none !important;
  stroke:#f08a3c !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
.theme-dark .service-grid .service-card .service-head > .icon > svg
:is(path,rect,line,polyline,polygon,circle,ellipse) {
  visibility:visible !important;
  opacity:1 !important;
  fill:none !important;
  stroke:#f08a3c !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* -------------------------------------------------------------------------
   C) GLOBAL HEADER TEMPLATE
   Undo the V7.8.0 double-sticky setup. The global Elementor header template
   itself is the ONE sticky host. This prevents page-dependent vertical shifts.
   The actual .site-header remains visually identical to V73.
   ------------------------------------------------------------------------- */

/* Elementor's location wrapper must not become a second independently sticky
   layer unless it is itself the host selected by JS. */
body.tb-elementor-imported .elementor-location-header:not(.tb-sticky-header-host) {
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:auto !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  translate:none !important;
}

/* Exactly one template host stays at the top on every page. */
body.tb-elementor-imported .tb-sticky-header-host {
  box-sizing:border-box !important;
  display:block !important;
  position:sticky !important;
  position:-webkit-sticky !important;
  top:var(--tb-adminbar-offset,0px) !important;
  left:auto !important;
  right:auto !important;
  z-index:1200 !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  scale:1 !important;
  contain:none !important;
}

/* Do not create a second sticky layer inside the sticky template host. */
body.tb-elementor-imported .tb-sticky-header-host .site-header {
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  z-index:1 !important;
  width:100% !important;
  margin:0 !important;
  transform:none !important;
  translate:none !important;
}

/* Exact V73 header geometry must be identical on every page. */
body.tb-elementor-imported .tb-sticky-header-host .site-header > .header-wrap {
  box-sizing:border-box !important;
  width:min(1220px,calc(100% - 44px)) !important;
  max-width:1220px !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}

@media(max-width:780px){
  body.tb-elementor-imported .tb-sticky-header-host .site-header > .header-wrap {
    width:calc(100% - 30px) !important;
    height:72px !important;
    min-height:72px !important;
  }
}

/* =========================================================================
   V7.8.4 — Header-Hintergrund über die komplette Viewport-Breite
   -------------------------------------------------------------------------
   Ausschließlich die Hintergrund-/Farbschicht wird verbreitert.
   Header-Inhalt, 1220-px-Inhaltsbreite, Logo, Navigation, Abstände,
   Positionen und Höhen bleiben unverändert.
   ========================================================================= */

/* Full-bleed paint layer behind the existing global header template.
   The host itself keeps its exact dimensions and position. */
body.tb-elementor-imported .tb-sticky-header-host {
  isolation:isolate !important;
  background:transparent !important;
}

body.tb-elementor-imported .tb-sticky-header-host::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  z-index:-1;
  pointer-events:none;
  background:rgba(8,10,13,.90);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* Prevent a double-dark centre strip: the exact same visual background now
   lives on the full-width layer above, while the real header keeps ALL layout. */
body.tb-elementor-imported .tb-sticky-header-host .site-header {
  background:transparent !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  border-bottom:0 !important;
}

/* Elementor can wrap the global template in another transparent host.
   Keep those wrappers transparent so no narrower colour rectangle remains. */
body.tb-elementor-imported .tb-sticky-header-host
> .elementor-widget-container,
body.tb-elementor-imported .tb-sticky-header-host
> .elementor,
body.tb-elementor-imported .tb-sticky-header-host
> .elementor-element {
  background:transparent !important;
}

/* =========================================================================
   V7.8.6 — Globalen Header immer mittig halten
   -------------------------------------------------------------------------
   Der äußere Elementor-Header ist das einzige Koordinatensystem für Sticky
   und Full-Width. Der innere .header-wrap bleibt unverändert zentriert.
   ========================================================================= */

/* Canonical global Elementor header: always span and center on the viewport,
   even if Elementor/theme gives an ancestor/content wrapper a constrained width. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host {
  box-sizing:border-box !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
}

/* Technical Elementor template wrappers inside the global header must fill the
   outer location, but they must not become their own sticky/full-bleed host. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host
:is(
  .elementor-widget-template,
  .elementor-widget-template > .elementor-widget-container,
  .elementor-widget-template > .elementor-widget-container > .elementor,
  .elementor-widget-tb-v50-header
) {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* The real semantic header remains 100% of the outer template; no horizontal
   offsets. Its inner .header-wrap continues to define the actual content width. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host .site-header {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* Preserve the approved layout exactly: only this INNER wrapper controls the
   logo/navigation/CTA content width and remains centered. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host
.site-header > .header-wrap {
  box-sizing:border-box !important;
  width:min(1220px,calc(100% - 44px)) !important;
  max-width:1220px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

@media(max-width:780px){
  body.tb-elementor-imported
  .elementor-location-header.tb-sticky-header-host
  .site-header > .header-wrap {
    width:calc(100% - 30px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* If a legacy inner Template widget still carries the host class for a split
   second during Elementor re-rendering, it must not move horizontally. JS
   immediately removes the class, but this prevents a visible jump/flicker. */
body.tb-elementor-imported
.elementor-location-header .elementor-widget-template.tb-sticky-header-host {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* =========================================================================
   V7.8.7 — Headerposition wie im Elementor-Template
   -------------------------------------------------------------------------
   Der 100vw-/Negative-Margin-Trick aus V7.8.6 wird vollständig neutralisiert.
   Außen: 100% Breite. Innen: max. 1220 px + margin:auto.
   Dadurch ist die Headerposition auf Seiten und im Template identisch.
   ========================================================================= */

/* Global Elementor header: use the page/document width normally.
   No viewport math, no negative margins, no translate. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* All technical Elementor wrappers inside the global header simply fill it.
   They are layout-neutral and cannot introduce page-specific horizontal offsets. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host
:is(
  .elementor-widget-template,
  .elementor-widget-template > .elementor-widget-container,
  .elementor-widget-template > .elementor-widget-container > .elementor,
  .elementor-widget-tb-v50-header
) {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* Semantic header also stays normal-flow/full-width. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host .site-header {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* ONLY the inner wrapper controls the visible menu position.
   This is exactly the stable pattern used by the template itself. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host
.site-header > .header-wrap {
  box-sizing:border-box !important;
  width:min(1220px,calc(100% - 44px)) !important;
  max-width:1220px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* Header paint layer stays full width without moving the real header itself. */
body.tb-elementor-imported
.elementor-location-header.tb-sticky-header-host::before {
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  transform:none !important;
}

/* Legacy pseudo layer from V7.8.4/V7.8.6: if it lives on a different host,
   keep it constrained to the actual header box instead of 100vw. */
body.tb-elementor-imported
.tb-sticky-header-host::before {
  left:0 !important;
  right:0 !important;
  width:100% !important;
  transform:none !important;
}

/* A nested template widget must never inherit sticky-host geometry. */
body.tb-elementor-imported
.elementor-location-header .elementor-widget-template.tb-sticky-header-host {
  position:relative !important;
  top:auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

@media(max-width:780px){
  body.tb-elementor-imported
  .elementor-location-header.tb-sticky-header-host
  .site-header > .header-wrap {
    width:calc(100% - 30px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* =========================================================================
   V7.8.8 — Prototype-Fidelity: Dienstleistungen, SEVentilation, Musik & Kultur
   ========================================================================= */

/* Dienstleistungen & Handwerk / Typische Herausforderung:
   Elementor inserts an HTML-widget wrapper between .problem-card and the real
   <span class="icon">. Style that real span directly so the approved V73
   orange icon tile (#d47428 at 12% opacity) can never disappear. */
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
#probleme .problem-card span.icon {
  box-sizing:border-box !important;
  display:grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  margin:0 0 15px 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:15px !important;
  background:rgba(212,116,40,.12) !important;
  color:#f08a3c !important;
  line-height:0 !important;
  overflow:visible !important;
}
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk
#probleme .problem-card span.icon > svg {
  display:block !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  margin:0 !important;
  fill:none !important;
  stroke:#f08a3c !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* SEVentilation / Kanäle + Rollen im Gesamtsystem — V7.8.9
   V73 uses the browser H3 size: 1.17em = 18.72px at the 16px body size.
   Use multiple selectors intentionally: the semantic section selector mirrors the
   prototype, the migration class fixes existing documents, and the ten stable
   Elementor IDs prevent global H3 presets from winning in any Elementor render. */
body.tb-elementor-imported.tb-page-fallstudie-seventilation :is(#kanaele .channel-grid, #partner .partner-map) .tb-sev-card-heading-v789 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #kanaele .channel-grid article h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #partner .partner-map article h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-9351b62 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-45f4858 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-fd438be h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-34b2889 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-ec7d6b0 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-9a5e7dc h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-f161dc5 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-d0140ac h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-e48b381 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .elementor-element-d1c0fe8 h3.elementor-heading-title {
  font-size:18.72px !important;
}

/* Musik & Kultur / selected productions:
   If an older imported document still contains Elementor Button widgets before
   the V7.8.8 data migration runs, neutralise the technical outer widget box.
   Only the inner .elementor-button then carries the V73 orange button design. */
body.tb-elementor-imported.tb-page-musik-kultur
.video-actions > .elementor-widget-button.video-inline-action {
  display:contents !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.tb-elementor-imported.tb-page-musik-kultur
.video-actions > .elementor-widget-button.video-inline-action .elementor-button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:10px 15px !important;
  border:1px solid var(--orange) !important;
  border-radius:12px !important;
  background:var(--orange) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:760 !important;
  line-height:normal !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
body.tb-elementor-imported.tb-page-musik-kultur
.video-actions > .elementor-widget-button.video-inline-action .elementor-button:hover {
  background:#e48238 !important;
}



/* V7.9.0: Elementor text widgets must not inject their own global typography
   into imported prototype paragraphs. Explicit V73 paragraph/class rules still
   win on the actual child nodes; generic text inherits the prototype body values. */
body.tb-elementor-imported .elementor-widget-text-editor,
body.tb-elementor-imported .elementor-widget-text-editor > .elementor-widget-container {
  font-size:inherit !important;
  line-height:inherit !important;
}

/* =========================================================================
   V7.9.0 — Vertikale Abschnittsgeometrie exakt wie V73
   =========================================================================
   Nur Container innerhalb der ursprünglichen .section-Themenabschnitte, die
   im V73-Prototyp in keinem Breakpoint Flex/Grid/None/Contents verwenden,
   werden aus Elementors technischer Flex-Darstellung zurück auf normalen
   Blockfluss gesetzt. Dadurch fallen vertikale Text-Margins wieder wie im
   Prototyp zusammen und die Hintergrundflächen werden nicht künstlich länger.
   Farben, Schriftgrößen, Spalten, Reihenfolge und horizontale Positionen
   bleiben unverändert.
   ------------------------------------------------------------------------- */
body.tb-elementor-imported.tb-page-360-rundgang :is(
    .elementor-element-fc83c1b,
    .elementor-element-1885fe3,
    .elementor-element-bac5264,
    .elementor-element-e18ec42,
    .elementor-element-32a1b53,
    .elementor-element-49db62a,
    .elementor-element-6d169c0,
    .elementor-element-4f1e451,
    .elementor-element-526d9c2,
    .elementor-element-eaee060,
    .elementor-element-764a713,
    .elementor-element-c257f5e,
    .elementor-element-fac670d,
    .elementor-element-9b086bd,
    .elementor-element-5acfc2a,
    .elementor-element-d507548,
    .elementor-element-ba12a9d,
    .elementor-element-328ba23,
    .elementor-element-2f9f2a5,
    .elementor-element-f59582a,
    .elementor-element-a856c0b,
    .elementor-element-1fcb54b,
    .elementor-element-1c84baa,
    .elementor-element-565ef7e,
    .elementor-element-f94d09b,
    .elementor-element-88d6963,
    .elementor-element-5944bfe,
    .elementor-element-9f63d63,
    .elementor-element-39b664a,
    .elementor-element-d70a03f,
    .elementor-element-37d5248,
    .elementor-element-ae53939,
    .elementor-element-20326d2,
    .elementor-element-4b01c71,
    .elementor-element-4a931b3,
    .elementor-element-6d06891,
    .elementor-element-40c10e1,
    .elementor-element-a058cdb,
    .elementor-element-f2fc9b7,
    .elementor-element-2c3818a,
    .elementor-element-9817392,
    .elementor-element-661ff56,
    .elementor-element-712eb22,
    .elementor-element-678d17a,
    .elementor-element-12d1c95,
    .elementor-element-e2a0fae
) { display:block; }
body.tb-elementor-imported.tb-page-ablauf :is(
    .elementor-element-9e0a85b,
    .elementor-element-32087d1,
    .elementor-element-d443008,
    .elementor-element-0a1f606,
    .elementor-element-f93e8c2,
    .elementor-element-1179208,
    .elementor-element-d54e9f9,
    .elementor-element-ead77e5,
    .elementor-element-28f2d8f,
    .elementor-element-80019f9,
    .elementor-element-ca67209,
    .elementor-element-3922de7,
    .elementor-element-795b8da,
    .elementor-element-0ec8443,
    .elementor-element-73fbdd2,
    .elementor-element-e42d8ea,
    .elementor-element-d4da518,
    .elementor-element-86af491,
    .elementor-element-2278257,
    .elementor-element-e42e7bc
) { display:block; }
body.tb-elementor-imported.tb-page-b2b-videostrategie :is(
    .elementor-element-0f5b42f,
    .elementor-element-301d8db,
    .elementor-element-faf07a0,
    .elementor-element-46b7343,
    .elementor-element-11c2826,
    .elementor-element-09f5c6c,
    .elementor-element-f3f63ad,
    .elementor-element-ecb83f0,
    .elementor-element-f0e0b1b,
    .elementor-element-60800d0,
    .elementor-element-0316ff8,
    .elementor-element-aa82e6c,
    .elementor-element-c4d14ed,
    .elementor-element-d7a9c8f,
    .elementor-element-27ff4f5,
    .elementor-element-09ec4c2,
    .elementor-element-0ecb3fd,
    .elementor-element-26192ee,
    .elementor-element-20c8103,
    .elementor-element-ad1e859,
    .elementor-element-aa484e0,
    .elementor-element-9cd17b2
) { display:block; }
body.tb-elementor-imported.tb-page-branchen :is(
    .elementor-element-10952d1,
    .elementor-element-ce0f54e,
    .elementor-element-0c0e54b,
    .elementor-element-6d89518,
    .elementor-element-5f5ff4c,
    .elementor-element-e186438,
    .elementor-element-c5f1e47,
    .elementor-element-7d0bc69,
    .elementor-element-a3f8a3d,
    .elementor-element-8168ee5,
    .elementor-element-9e77f38,
    .elementor-element-8cc790a,
    .elementor-element-eafb8a1,
    .elementor-element-608236b,
    .elementor-element-c833785,
    .elementor-element-999ff4c,
    .elementor-element-164efe4,
    .elementor-element-c6b6ade,
    .elementor-element-d558f07,
    .elementor-element-87ad8a0,
    .elementor-element-05b8152,
    .elementor-element-9038065,
    .elementor-element-7db7e35,
    .elementor-element-3555df4,
    .elementor-element-b0c99be,
    .elementor-element-c620262,
    .elementor-element-b2ad2ce,
    .elementor-element-f2a2156,
    .elementor-element-6fc4414,
    .elementor-element-2168781,
    .elementor-element-5b4613d,
    .elementor-element-65bef74,
    .elementor-element-19f90ff,
    .elementor-element-692c6f7,
    .elementor-element-f7e2019,
    .elementor-element-402ae50,
    .elementor-element-c9f3cbc,
    .elementor-element-7aa831e,
    .elementor-element-3f0513a,
    .elementor-element-12dd18b,
    .elementor-element-04e945c,
    .elementor-element-763667e,
    .elementor-element-c3a2e15,
    .elementor-element-08fc47d,
    .elementor-element-739fb80,
    .elementor-element-0cb0909,
    .elementor-element-ce51a17,
    .elementor-element-da04181,
    .elementor-element-c693833,
    .elementor-element-14f731c,
    .elementor-element-8951abd,
    .elementor-element-379f47d,
    .elementor-element-0a4d720
) { display:block; }
body.tb-elementor-imported.tb-page-cd-produktion :is(
    .elementor-element-6548af0,
    .elementor-element-937030a,
    .elementor-element-b149fa2,
    .elementor-element-77f46bd,
    .elementor-element-55aadbe,
    .elementor-element-6ad7455,
    .elementor-element-fae4ecc,
    .elementor-element-fb2eabb,
    .elementor-element-a7651a4,
    .elementor-element-750ffe0,
    .elementor-element-f962d7c,
    .elementor-element-ae12286,
    .elementor-element-6430286,
    .elementor-element-fbf4e5e,
    .elementor-element-80a7351,
    .elementor-element-449e545,
    .elementor-element-69a85b6,
    .elementor-element-f57e2c0,
    .elementor-element-d2f6c0c,
    .elementor-element-5b6b76f,
    .elementor-element-60ef110,
    .elementor-element-64a710c,
    .elementor-element-e1e4eee,
    .elementor-element-4551b88
) { display:block; }
body.tb-elementor-imported.tb-page-content-academy :is(
    .elementor-element-2c36a16,
    .elementor-element-aac9e6e,
    .elementor-element-85d0445,
    .elementor-element-715448a,
    .elementor-element-295f40f,
    .elementor-element-47e8c08,
    .elementor-element-d3615e5,
    .elementor-element-8fa52f0,
    .elementor-element-2ca2c4f,
    .elementor-element-a39a563,
    .elementor-element-c96c4d0,
    .elementor-element-18c4d22,
    .elementor-element-65e7ce0,
    .elementor-element-a99b3bc,
    .elementor-element-7756c85,
    .elementor-element-c9053be,
    .elementor-element-701abb9,
    .elementor-element-c5d0610,
    .elementor-element-61313df,
    .elementor-element-7eeebb1,
    .elementor-element-5bb6af1
) { display:block; }
body.tb-elementor-imported.tb-page-content-marketing-vertrieb :is(
    .elementor-element-066d420,
    .elementor-element-c60fcea,
    .elementor-element-76da20b,
    .elementor-element-cb71697,
    .elementor-element-c44aa5f,
    .elementor-element-780ec31,
    .elementor-element-d4d2462,
    .elementor-element-852c661,
    .elementor-element-31a8094,
    .elementor-element-66d1a65,
    .elementor-element-08d330d,
    .elementor-element-48a7e09,
    .elementor-element-844dd40,
    .elementor-element-ed73ca0,
    .elementor-element-376a53b,
    .elementor-element-cfcc6e3,
    .elementor-element-670b121,
    .elementor-element-ad3bf70,
    .elementor-element-394d560,
    .elementor-element-7fe722f,
    .elementor-element-0190bd5
) { display:block; }
body.tb-elementor-imported.tb-page-content-partnerschaft :is(
    .elementor-element-e7a7598,
    .elementor-element-d4e14f6,
    .elementor-element-f477aaa,
    .elementor-element-885b39f,
    .elementor-element-1e996f2,
    .elementor-element-6e0db78,
    .elementor-element-7092787,
    .elementor-element-9a82653,
    .elementor-element-9825ff0,
    .elementor-element-da03df8,
    .elementor-element-473f8e4,
    .elementor-element-87c99b7,
    .elementor-element-b6d17e6,
    .elementor-element-40d27ea,
    .elementor-element-66709a8,
    .elementor-element-447fc77,
    .elementor-element-cb6db2d,
    .elementor-element-ecf5240,
    .elementor-element-febbfee,
    .elementor-element-0b884bd,
    .elementor-element-02b63bb,
    .elementor-element-1b663a1,
    .elementor-element-907b230,
    .elementor-element-99d4cd0,
    .elementor-element-339b993,
    .elementor-element-adbedf8,
    .elementor-element-3096820,
    .elementor-element-5e69bae,
    .elementor-element-096adc6,
    .elementor-element-0f0b99e,
    .elementor-element-a7474b8,
    .elementor-element-59837c6,
    .elementor-element-837ed3c,
    .elementor-element-b56da1b,
    .elementor-element-a15565a,
    .elementor-element-719cea7,
    .elementor-element-6c5be9e,
    .elementor-element-b152953,
    .elementor-element-d85b816,
    .elementor-element-3e013b4,
    .elementor-element-337f920,
    .elementor-element-7ed3024,
    .elementor-element-8de7ace,
    .elementor-element-987d359,
    .elementor-element-0f8e9b0,
    .elementor-element-d76d00c,
    .elementor-element-e0b003d,
    .elementor-element-89dea3f,
    .elementor-element-14120a1,
    .elementor-element-d34e79c,
    .elementor-element-9a64782,
    .elementor-element-b2460c8,
    .elementor-element-386706e,
    .elementor-element-d0eeb05,
    .elementor-element-4a54fc4,
    .elementor-element-59da079,
    .elementor-element-cd1f68c,
    .elementor-element-3711f08,
    .elementor-element-954fa7b,
    .elementor-element-8fd2aef
) { display:block; }
body.tb-elementor-imported.tb-page-content-partnerschaft :is(
    .elementor-element-cfa2e0f,
    .elementor-element-4ae2c8c,
    .elementor-element-8cc2c52,
    .elementor-element-f5cfa29,
    .elementor-element-9e3396f,
    .elementor-element-115d30a,
    .elementor-element-7439865,
    .elementor-element-8c8ad5a,
    .elementor-element-1f5f2bb,
    .elementor-element-e94ada4,
    .elementor-element-d07120b,
    .elementor-element-be570ca,
    .elementor-element-c919547,
    .elementor-element-ca2a90b,
    .elementor-element-5b36a3e
) { display:block; }
body.tb-elementor-imported.tb-page-agb :is(
    .elementor-element-efa715a,
    .elementor-element-e77d60a,
    .elementor-element-86b8ff1,
    .elementor-element-6768730
) { display:block; }
body.tb-elementor-imported.tb-page-datenschutz :is(
    .elementor-element-efa715a,
    .elementor-element-e77d60a,
    .elementor-element-86b8ff1,
    .elementor-element-6768730
) { display:block; }
body.tb-elementor-imported.tb-page-dienstleistungen-handwerk :is(
    .elementor-element-2df6e9d,
    .elementor-element-cce9538,
    .elementor-element-28bfa4f,
    .elementor-element-6fc0f09,
    .elementor-element-fbd078c,
    .elementor-element-a0fb461,
    .elementor-element-aea1195,
    .elementor-element-bd15d49,
    .elementor-element-17ea425,
    .elementor-element-d572f4b,
    .elementor-element-334d966,
    .elementor-element-d871d5f,
    .elementor-element-9b744c3,
    .elementor-element-2334c73,
    .elementor-element-691c5dd,
    .elementor-element-f9cb074,
    .elementor-element-75937c5,
    .elementor-element-2c22c04
) { display:block; }
body.tb-elementor-imported.tb-page-erklaerfilm :is(
    .elementor-element-f22c3a6,
    .elementor-element-22e9023,
    .elementor-element-f6cab2e,
    .elementor-element-ca6ac50,
    .elementor-element-974bcd9,
    .elementor-element-efc6375,
    .elementor-element-5276b0f,
    .elementor-element-40b0bf4,
    .elementor-element-8fd77e2,
    .elementor-element-ee8b7ea,
    .elementor-element-799a9d5,
    .elementor-element-54f0948,
    .elementor-element-e333ade,
    .elementor-element-01a2587,
    .elementor-element-0692491,
    .elementor-element-674c51e,
    .elementor-element-ad0c09a,
    .elementor-element-e07935c,
    .elementor-element-6343b77,
    .elementor-element-6bbf52a,
    .elementor-element-6003d31,
    .elementor-element-268e080,
    .elementor-element-c05612d,
    .elementor-element-ad978d7,
    .elementor-element-c524d53,
    .elementor-element-5e8d851,
    .elementor-element-c9ef092,
    .elementor-element-dbb41c7,
    .elementor-element-4eb4c18,
    .elementor-element-df1c9b7,
    .elementor-element-7ff4299,
    .elementor-element-5e62e84,
    .elementor-element-f853e99,
    .elementor-element-079ec80,
    .elementor-element-5f48756,
    .elementor-element-5a877c3,
    .elementor-element-985478c,
    .elementor-element-a95b608,
    .elementor-element-1ec0c8b,
    .elementor-element-8b99692,
    .elementor-element-34e4df1,
    .elementor-element-8be188d,
    .elementor-element-63165de,
    .elementor-element-77ada28,
    .elementor-element-c43a775,
    .elementor-element-892b7c6
) { display:block; }
body.tb-elementor-imported.tb-page-eventfilm :is(
    .elementor-element-b2b4be5,
    .elementor-element-67ee1d2,
    .elementor-element-521635b,
    .elementor-element-13cd8a0,
    .elementor-element-aa99f9c,
    .elementor-element-010804a,
    .elementor-element-9366495,
    .elementor-element-964e72c,
    .elementor-element-10c41e9,
    .elementor-element-bd6b366,
    .elementor-element-080623d,
    .elementor-element-97ff614,
    .elementor-element-3fa7d00,
    .elementor-element-c647f0b,
    .elementor-element-fe6430d,
    .elementor-element-f18afb5,
    .elementor-element-bc2f725,
    .elementor-element-37bb530,
    .elementor-element-7279a15,
    .elementor-element-7adf016,
    .elementor-element-02b5d60,
    .elementor-element-e61ff15,
    .elementor-element-b6a3e8d,
    .elementor-element-106260a,
    .elementor-element-0a5100c,
    .elementor-element-ca26e5f,
    .elementor-element-930e35e,
    .elementor-element-401dea7,
    .elementor-element-2f8f74e,
    .elementor-element-5d88217,
    .elementor-element-6af8829,
    .elementor-element-835ab04,
    .elementor-element-54964cf,
    .elementor-element-6e7e7c1,
    .elementor-element-dc7b402,
    .elementor-element-77238fc,
    .elementor-element-c453cc0,
    .elementor-element-d5337ac,
    .elementor-element-5fc17f5,
    .elementor-element-2b181d9,
    .elementor-element-7b2c7f8,
    .elementor-element-93e878f,
    .elementor-element-9fdd8c3,
    .elementor-element-9d3d8b0,
    .elementor-element-e63c0ca,
    .elementor-element-7f2a222,
    .elementor-element-ad336a8
) { display:block; }
body.tb-elementor-imported.tb-page-fallstudie-lotto-thueringen :is(
    .elementor-element-6016035,
    .elementor-element-00c297e,
    .elementor-element-9cfb8fe,
    .elementor-element-e1eff70,
    .elementor-element-22ab7dd,
    .elementor-element-9603cce,
    .elementor-element-627671e,
    .elementor-element-fc81c7b,
    .elementor-element-2cd694e,
    .elementor-element-04945fd,
    .elementor-element-80145f0,
    .elementor-element-d98810a,
    .elementor-element-8e728d5,
    .elementor-element-21cd2af,
    .elementor-element-556b99d,
    .elementor-element-a256a48,
    .elementor-element-89315f0,
    .elementor-element-1fff2b2,
    .elementor-element-5c9fba4,
    .elementor-element-54b160d,
    .elementor-element-a1a75a9,
    .elementor-element-159c7ee
) { display:block; }
body.tb-elementor-imported.tb-page-fallstudie-seventilation :is(
    .elementor-element-ed1b484,
    .elementor-element-37f078f,
    .elementor-element-fa7df39,
    .elementor-element-7beb0c0,
    .elementor-element-b7b54fa,
    .elementor-element-cb4781a,
    .elementor-element-6e576b8,
    .elementor-element-6138cd0,
    .elementor-element-c826d4a,
    .elementor-element-f999d10,
    .elementor-element-c4dbd5f,
    .elementor-element-5a72b74,
    .elementor-element-152ab7c,
    .elementor-element-7e2b4bb,
    .elementor-element-a96547e,
    .elementor-element-a6c2573,
    .elementor-element-186e252,
    .elementor-element-0548299,
    .elementor-element-e370f6d,
    .elementor-element-df4c40c,
    .elementor-element-087c876,
    .elementor-element-25a0973,
    .elementor-element-26f753a,
    .elementor-element-4ad7ed6,
    .elementor-element-a96e850,
    .elementor-element-e432bd9,
    .elementor-element-3feed28,
    .elementor-element-2271b47,
    .elementor-element-067b9b1,
    .elementor-element-3d7034d,
    .elementor-element-a0cd773,
    .elementor-element-a7c5653,
    .elementor-element-d55bc52,
    .elementor-element-5e4e340,
    .elementor-element-175f64c,
    .elementor-element-1f2d6d9,
    .elementor-element-ee71f84,
    .elementor-element-4fb5085,
    .elementor-element-53d0653,
    .elementor-element-1fc6ff5,
    .elementor-element-4015b02,
    .elementor-element-6b22321,
    .elementor-element-2f08296,
    .elementor-element-dbea808,
    .elementor-element-0933c66,
    .elementor-element-43ead83,
    .elementor-element-0fbc76f,
    .elementor-element-80e2f9a,
    .elementor-element-fcbce11,
    .elementor-element-4e54b4f,
    .elementor-element-09237dd,
    .elementor-element-2b738b7,
    .elementor-element-454d002,
    .elementor-element-ebd0f23,
    .elementor-element-d08cf82
) { display:block; }
body.tb-elementor-imported.tb-page-fallstudie-uli-ludwig :is(
    .elementor-element-d71ceb3,
    .elementor-element-d119d56,
    .elementor-element-c7aa13a,
    .elementor-element-80fb700,
    .elementor-element-13d0fcf,
    .elementor-element-358c755,
    .elementor-element-5d90874,
    .elementor-element-7f27504,
    .elementor-element-aed8524,
    .elementor-element-ef9b447,
    .elementor-element-fb22d54,
    .elementor-element-e5e64d1,
    .elementor-element-1aec3e5,
    .elementor-element-60530ae,
    .elementor-element-0a1bcde,
    .elementor-element-b100805,
    .elementor-element-99e0b2e,
    .elementor-element-33fbffd,
    .elementor-element-4dd96fe,
    .elementor-element-6fff58b
) { display:block; }
body.tb-elementor-imported.tb-page-fallstudie-wilh-steinberg :is(
    .elementor-element-9f0b80b,
    .elementor-element-da513f5,
    .elementor-element-e927c6f,
    .elementor-element-90fba80,
    .elementor-element-7fd5f81,
    .elementor-element-bc6e71e,
    .elementor-element-71fdae8,
    .elementor-element-87153cb,
    .elementor-element-556f337,
    .elementor-element-0e6a151,
    .elementor-element-7de31a5,
    .elementor-element-53fa750,
    .elementor-element-aaa9726,
    .elementor-element-02cc57d,
    .elementor-element-961061c,
    .elementor-element-53aef5b,
    .elementor-element-70e03ed
) { display:block; }
body.tb-elementor-imported.tb-page-fallstudien :is(
    .elementor-element-5a6a50c,
    .elementor-element-1ca893e,
    .elementor-element-074bb3b,
    .elementor-element-9c1652e,
    .elementor-element-5eef5ca,
    .elementor-element-44ab430,
    .elementor-element-3d92d1c,
    .elementor-element-36bbf7d,
    .elementor-element-ced92bf,
    .elementor-element-fde5a87,
    .elementor-element-aa944e4,
    .elementor-element-70f09fd
) { display:block; }
body.tb-elementor-imported.tb-page-faq :is(
    .elementor-element-796c2a5,
    .elementor-element-4f20f7b,
    .elementor-element-7c2e8b8,
    .elementor-element-d37dcbe,
    .elementor-element-471dce1,
    .elementor-element-9a90246
) { display:block; }
body.tb-elementor-imported.tb-page-filmproduktion :is(
    .elementor-element-0ac70fb,
    .elementor-element-dc5f3f6,
    .elementor-element-ca877a4,
    .elementor-element-9c7763d,
    .elementor-element-299330a,
    .elementor-element-945ac3a,
    .elementor-element-964c091,
    .elementor-element-abeb751,
    .elementor-element-7c7d310,
    .elementor-element-fd42b62,
    .elementor-element-ac568a6,
    .elementor-element-b5bb946,
    .elementor-element-e061842,
    .elementor-element-6ed4915,
    .elementor-element-e7e5463,
    .elementor-element-11862e1,
    .elementor-element-c9c211a,
    .elementor-element-bc87fbd,
    .elementor-element-9d696a3
) { display:block; }
body.tb-elementor-imported.tb-page-gebaeudetechnik :is(
    .elementor-element-b1b70cb,
    .elementor-element-2a9a7a1,
    .elementor-element-65ebec7,
    .elementor-element-7776fa9,
    .elementor-element-da6d131,
    .elementor-element-4f469ce,
    .elementor-element-aa4e825,
    .elementor-element-e0aa6a5,
    .elementor-element-9c3c1a4,
    .elementor-element-8c62f48,
    .elementor-element-1d46d25,
    .elementor-element-06eed69,
    .elementor-element-40073cd,
    .elementor-element-8fc243c,
    .elementor-element-a3167af
) { display:block; }
body.tb-elementor-imported.tb-page-imagefilm :is(
    .elementor-element-711eba8,
    .elementor-element-b2fb957,
    .elementor-element-007ebe4,
    .elementor-element-eb96362,
    .elementor-element-18dde36,
    .elementor-element-f914ce8,
    .elementor-element-4ac3df3,
    .elementor-element-749aad8,
    .elementor-element-d1b1c55,
    .elementor-element-25f6dd3,
    .elementor-element-a78148f,
    .elementor-element-9a8067e,
    .elementor-element-2cce3de,
    .elementor-element-5bd4fcc,
    .elementor-element-fd5c7fe,
    .elementor-element-73a4d2b,
    .elementor-element-cf27533,
    .elementor-element-355ec41,
    .elementor-element-8ec44c0,
    .elementor-element-7793210,
    .elementor-element-bf1d6a8,
    .elementor-element-1411038,
    .elementor-element-08386be,
    .elementor-element-039a446,
    .elementor-element-b88f484,
    .elementor-element-91bf385,
    .elementor-element-3256af2,
    .elementor-element-0f7e650,
    .elementor-element-b69808f,
    .elementor-element-c9c2656,
    .elementor-element-e53efe4,
    .elementor-element-33341cc,
    .elementor-element-473520a,
    .elementor-element-2bdc38b,
    .elementor-element-5ffd1e7,
    .elementor-element-3662b51,
    .elementor-element-a763937,
    .elementor-element-185efc2,
    .elementor-element-52e0585,
    .elementor-element-78d79d7,
    .elementor-element-5614908,
    .elementor-element-a304259,
    .elementor-element-b40258f,
    .elementor-element-3c8dc70,
    .elementor-element-81a188c,
    .elementor-element-811bddb,
    .elementor-element-e9f1cc7
) { display:block; }
body.tb-elementor-imported.tb-page-impressum :is(
    .elementor-element-efa715a,
    .elementor-element-e77d60a,
    .elementor-element-86b8ff1,
    .elementor-element-6768730
) { display:block; }
body.tb-elementor-imported.tb-page-startseite :is(
    .elementor-element-3b2c303,
    .elementor-element-48b5cee,
    .elementor-element-59bd318,
    .elementor-element-a66d514,
    .elementor-element-af7fa93,
    .elementor-element-8832031,
    .elementor-element-095c0f8,
    .elementor-element-fb42334,
    .elementor-element-2d07927,
    .elementor-element-df88f91,
    .elementor-element-3cb443a,
    .elementor-element-04595c6,
    .elementor-element-26a73a5,
    .elementor-element-3a6fa76,
    .elementor-element-d3c4370,
    .elementor-element-cfbbe81,
    .elementor-element-c81ce4b,
    .elementor-element-750a7f2,
    .elementor-element-912c748,
    .elementor-element-25a22fc,
    .elementor-element-f339e2d,
    .elementor-element-69e93f5,
    .elementor-element-b51ec5e,
    .elementor-element-9e04deb,
    .elementor-element-010b065,
    .elementor-element-e2cba1f,
    .elementor-element-2abc6f6,
    .elementor-element-b2e9cd1,
    .elementor-element-fa48eac,
    .elementor-element-0173b8d,
    .elementor-element-2f6ba7c,
    .elementor-element-b57a1bb,
    .elementor-element-e0cfb18,
    .elementor-element-4411605,
    .elementor-element-79bfece,
    .elementor-element-71c89a1,
    .elementor-element-a684dbf,
    .elementor-element-49d8cea,
    .elementor-element-78d8e75,
    .elementor-element-19170b6
) { display:block; }
body.tb-elementor-imported.tb-page-industrie :is(
    .elementor-element-9b60f40,
    .elementor-element-1f44d97,
    .elementor-element-4f85e95,
    .elementor-element-b20fbd6,
    .elementor-element-031c394,
    .elementor-element-3b6ed44,
    .elementor-element-3b7f4ab,
    .elementor-element-8fff576,
    .elementor-element-90d447c,
    .elementor-element-d3f556d,
    .elementor-element-2e534d7,
    .elementor-element-957737b,
    .elementor-element-de8c547,
    .elementor-element-cd5d7b2,
    .elementor-element-b0fc210
) { display:block; }
body.tb-elementor-imported.tb-page-investition :is(
    .elementor-element-10836ea,
    .elementor-element-1c94b57,
    .elementor-element-529e059,
    .elementor-element-18d3277,
    .elementor-element-e539c09,
    .elementor-element-ff8486f,
    .elementor-element-b6639ca,
    .elementor-element-54bfcc7,
    .elementor-element-959cc33,
    .elementor-element-05ea26f,
    .elementor-element-3fe3fb7,
    .elementor-element-0ee2d81,
    .elementor-element-491123f,
    .elementor-element-ef7d853,
    .elementor-element-8ea3b88,
    .elementor-element-f377a20,
    .elementor-element-54a54ba,
    .elementor-element-130ae95,
    .elementor-element-b3470f5,
    .elementor-element-c3e2c93,
    .elementor-element-10b3e15,
    .elementor-element-6f089e6,
    .elementor-element-399bd86,
    .elementor-element-9950d75,
    .elementor-element-693df4b,
    .elementor-element-eeba0c8
) { display:block; }
body.tb-elementor-imported.tb-page-kampagnen-ads :is(
    .elementor-element-905da6e,
    .elementor-element-f8221a3,
    .elementor-element-7468850,
    .elementor-element-eef788b,
    .elementor-element-e6bc69a,
    .elementor-element-5ec8cb1,
    .elementor-element-8c18727,
    .elementor-element-0710d14,
    .elementor-element-7c213a9,
    .elementor-element-598f1b4,
    .elementor-element-319bc31,
    .elementor-element-e105832,
    .elementor-element-301c0d5,
    .elementor-element-03b8af7,
    .elementor-element-8760a38,
    .elementor-element-9c5d3eb,
    .elementor-element-8620fb4,
    .elementor-element-70479a3,
    .elementor-element-020097a,
    .elementor-element-86a0c08,
    .elementor-element-a14441c,
    .elementor-element-4e0ab5d,
    .elementor-element-7a2ca80,
    .elementor-element-043c6b5,
    .elementor-element-83a8fc8,
    .elementor-element-939b304
) { display:block; }
body.tb-elementor-imported.tb-page-kontakt :is(
    .elementor-element-e2a7f39,
    .elementor-element-d31de7a,
    .elementor-element-9dce09a,
    .elementor-element-a2435b4,
    .elementor-element-98a9af7,
    .elementor-element-58e88fd,
    .elementor-element-d50ee36,
    .elementor-element-874c592,
    .elementor-element-5bb593d,
    .elementor-element-9e93868,
    .elementor-element-e93c4e8,
    .elementor-element-25e004e,
    .elementor-element-3c91856,
    .elementor-element-c36393d,
    .elementor-element-8f7c00d,
    .elementor-element-f1d8506,
    .elementor-element-077485a,
    .elementor-element-4d7fe96
) { display:block; }
body.tb-elementor-imported.tb-page-livestream :is(
    .elementor-element-c4e6ebe,
    .elementor-element-35b80d0,
    .elementor-element-b0bf972,
    .elementor-element-40d269b,
    .elementor-element-5655942,
    .elementor-element-1b7f5a2,
    .elementor-element-10e117f,
    .elementor-element-529dbb3,
    .elementor-element-ba22ead,
    .elementor-element-0ff118a,
    .elementor-element-44256da,
    .elementor-element-ed78124,
    .elementor-element-dacd3be,
    .elementor-element-7888441,
    .elementor-element-98ef904,
    .elementor-element-d4c0bac,
    .elementor-element-1e4ab03,
    .elementor-element-de27c52,
    .elementor-element-55da4c0,
    .elementor-element-aea5d51,
    .elementor-element-e1f4f7f,
    .elementor-element-078f60f,
    .elementor-element-7dd21cf,
    .elementor-element-92fe6bd,
    .elementor-element-1aa24d6,
    .elementor-element-0780d53,
    .elementor-element-df9842d,
    .elementor-element-1d98e48,
    .elementor-element-5609433,
    .elementor-element-0f5c1c5,
    .elementor-element-45c6909,
    .elementor-element-e99dc92,
    .elementor-element-fff6e04,
    .elementor-element-e26d465,
    .elementor-element-327d695,
    .elementor-element-147cab0,
    .elementor-element-250fd4e,
    .elementor-element-e6f4c79,
    .elementor-element-23604d9,
    .elementor-element-4a3afbd,
    .elementor-element-e90a77b,
    .elementor-element-14aac28,
    .elementor-element-d894bd1,
    .elementor-element-5e6562e,
    .elementor-element-4337d93,
    .elementor-element-425fa5b,
    .elementor-element-9ff69a4
) { display:block; }
body.tb-elementor-imported.tb-page-loesungen :is(
    .elementor-element-3bacdaa,
    .elementor-element-45c2c3f,
    .elementor-element-dd380e8,
    .elementor-element-096288e,
    .elementor-element-f114afe,
    .elementor-element-f4ef42a,
    .elementor-element-3117ff9,
    .elementor-element-0cd2ba1,
    .elementor-element-648a877,
    .elementor-element-f0f77f8,
    .elementor-element-c5dd816,
    .elementor-element-1b5a4e8,
    .elementor-element-ec6406e,
    .elementor-element-ec00d67,
    .elementor-element-84609e8,
    .elementor-element-e11f74b,
    .elementor-element-43413ef,
    .elementor-element-892cf71,
    .elementor-element-24404ac,
    .elementor-element-25d2261,
    .elementor-element-2ca995a,
    .elementor-element-b749764,
    .elementor-element-8b7558d,
    .elementor-element-1cea7a6,
    .elementor-element-2814904,
    .elementor-element-15eb0d9,
    .elementor-element-81f9b5e,
    .elementor-element-91c642f
) { display:block; }
body.tb-elementor-imported.tb-page-manufakturen :is(
    .elementor-element-297f4a1,
    .elementor-element-dfecb3d,
    .elementor-element-64bd0ae,
    .elementor-element-6f2537e,
    .elementor-element-fd7c5a7,
    .elementor-element-219223b,
    .elementor-element-608eeb6,
    .elementor-element-7f3cfef,
    .elementor-element-9ae2d16,
    .elementor-element-90a1db1,
    .elementor-element-f53efef,
    .elementor-element-b409574,
    .elementor-element-cf4bd3a,
    .elementor-element-d8ca25d,
    .elementor-element-a2d1b82
) { display:block; }
body.tb-elementor-imported.tb-page-maschinenbau :is(
    .elementor-element-a49b0e5,
    .elementor-element-56ee1bb,
    .elementor-element-f3f546a,
    .elementor-element-447c5c9,
    .elementor-element-5d96a5c,
    .elementor-element-38a98c4,
    .elementor-element-5456d60,
    .elementor-element-5389e7c,
    .elementor-element-6451feb,
    .elementor-element-a7aa777,
    .elementor-element-9edf723,
    .elementor-element-3391810,
    .elementor-element-9e26f21,
    .elementor-element-064d51a,
    .elementor-element-253d76c
) { display:block; }
body.tb-elementor-imported.tb-page-medizintechnik :is(
    .elementor-element-5b0df4d,
    .elementor-element-4b26d17,
    .elementor-element-7620a02,
    .elementor-element-b0b4434,
    .elementor-element-98f9382,
    .elementor-element-26b7671,
    .elementor-element-2d528a4,
    .elementor-element-caaedcc,
    .elementor-element-61087d1,
    .elementor-element-afc843e,
    .elementor-element-a05d5a9,
    .elementor-element-948c274,
    .elementor-element-3ef4f45,
    .elementor-element-bb740d1,
    .elementor-element-f66ab96
) { display:block; }
body.tb-elementor-imported.tb-page-musik-kultur :is(
    .elementor-element-3ee4205,
    .elementor-element-5dbf6e7,
    .elementor-element-38d2cdb,
    .elementor-element-f74632d,
    .elementor-element-8aba67b,
    .elementor-element-010946f,
    .elementor-element-980f9dd,
    .elementor-element-b15183a,
    .elementor-element-ccca17d,
    .elementor-element-223303b,
    .elementor-element-9c33476,
    .elementor-element-a7f16dc,
    .elementor-element-e8304f4,
    .elementor-element-e3e94f1,
    .elementor-element-e3d7ccc,
    .elementor-element-0b956cb,
    .elementor-element-af488bc,
    .elementor-element-edffa8b,
    .elementor-element-dc6a8e9,
    .elementor-element-26b8368,
    .elementor-element-9eb52ba,
    .elementor-element-77d21ea,
    .elementor-element-fbfc508,
    .elementor-element-d24ec14,
    .elementor-element-728ce49,
    .elementor-element-9706364,
    .elementor-element-0320886,
    .elementor-element-b4b25cb,
    .elementor-element-ba798d7,
    .elementor-element-90e7279,
    .elementor-element-4be1e4d,
    .elementor-element-633848f,
    .elementor-element-288b7dc
) { display:block; }
body.tb-elementor-imported.tb-page-musikvideo :is(
    .elementor-element-95fb35c,
    .elementor-element-6f01045,
    .elementor-element-d3ae1ba,
    .elementor-element-05ad375,
    .elementor-element-3c1302b,
    .elementor-element-36e9190,
    .elementor-element-ad2f40c,
    .elementor-element-5e4a18a,
    .elementor-element-1da2524,
    .elementor-element-c5c31a8,
    .elementor-element-a931308,
    .elementor-element-4e2914d
) { display:block; }
body.tb-elementor-imported.tb-page-produktfilm-3d :is(
    .elementor-element-bc25350,
    .elementor-element-aedfd94,
    .elementor-element-7b6c454,
    .elementor-element-9343d32,
    .elementor-element-0a90320,
    .elementor-element-d7f51a0,
    .elementor-element-92cf617,
    .elementor-element-bba8d85,
    .elementor-element-d90dbd9,
    .elementor-element-91a892f,
    .elementor-element-569ddc9,
    .elementor-element-98e2157,
    .elementor-element-8ec6844,
    .elementor-element-acede0d,
    .elementor-element-a7ae199,
    .elementor-element-6e06454,
    .elementor-element-5fcd0c2,
    .elementor-element-a9c0a33,
    .elementor-element-495665c,
    .elementor-element-aa0d14e,
    .elementor-element-93f113d,
    .elementor-element-ce4ed42,
    .elementor-element-2a56548,
    .elementor-element-00a638c,
    .elementor-element-43d39d2,
    .elementor-element-94b77c2,
    .elementor-element-309c437,
    .elementor-element-832db4f,
    .elementor-element-44b0ec4,
    .elementor-element-0adc442,
    .elementor-element-4f49ac9,
    .elementor-element-174e1b4,
    .elementor-element-e0deb7c,
    .elementor-element-44de152,
    .elementor-element-9d759fa,
    .elementor-element-0146076,
    .elementor-element-98ba124,
    .elementor-element-47b151a,
    .elementor-element-7d2a8b2,
    .elementor-element-b1823fe,
    .elementor-element-5128a88,
    .elementor-element-eaf0fde,
    .elementor-element-a6fa09f,
    .elementor-element-77d002c,
    .elementor-element-5de3de7,
    .elementor-element-8e18600,
    .elementor-element-b460f81
) { display:block; }
body.tb-elementor-imported.tb-page-promotion-video :is(
    .elementor-element-0e30ddc,
    .elementor-element-195c85c,
    .elementor-element-1259463,
    .elementor-element-700eaa6,
    .elementor-element-56462b0,
    .elementor-element-aac7c9e,
    .elementor-element-a701930,
    .elementor-element-9c11b43,
    .elementor-element-d73f95b,
    .elementor-element-6b950c3,
    .elementor-element-21ebae7,
    .elementor-element-27af712,
    .elementor-element-166cdb1,
    .elementor-element-efb475b,
    .elementor-element-c196d93,
    .elementor-element-1b1156e,
    .elementor-element-9e47a1b,
    .elementor-element-d88a8d4,
    .elementor-element-523212f,
    .elementor-element-fb7068b,
    .elementor-element-34b61b1,
    .elementor-element-c546165,
    .elementor-element-6bb4333,
    .elementor-element-9f8f003,
    .elementor-element-9c36f8e
) { display:block; }
body.tb-elementor-imported.tb-page-promotion :is(
    .elementor-element-9a329ab,
    .elementor-element-cbf277b,
    .elementor-element-2f0b87e,
    .elementor-element-548665a,
    .elementor-element-91450d8,
    .elementor-element-1c43e30,
    .elementor-element-b67abcf,
    .elementor-element-08a9bb7,
    .elementor-element-1d88ef1,
    .elementor-element-72d97a8,
    .elementor-element-2235eb0,
    .elementor-element-7219f89,
    .elementor-element-28d2975,
    .elementor-element-19a1ab3,
    .elementor-element-e1ac244,
    .elementor-element-ea3459e,
    .elementor-element-7e07bae,
    .elementor-element-9714507
) { display:block; }
body.tb-elementor-imported.tb-page-recruitingfilm :is(
    .elementor-element-4296720,
    .elementor-element-18882f2,
    .elementor-element-08cb1bd,
    .elementor-element-bcc6366,
    .elementor-element-978152a,
    .elementor-element-cd4bce2,
    .elementor-element-5c38a22,
    .elementor-element-8f3beff,
    .elementor-element-a7c46b2,
    .elementor-element-3c932a1,
    .elementor-element-2b76c59,
    .elementor-element-288a91f,
    .elementor-element-d528f86,
    .elementor-element-29eac03,
    .elementor-element-bb891c9,
    .elementor-element-4b051ad,
    .elementor-element-177d5fc,
    .elementor-element-92115a3,
    .elementor-element-e98374c,
    .elementor-element-ee934a5,
    .elementor-element-0e6a5ad,
    .elementor-element-3d1e590,
    .elementor-element-3828c11,
    .elementor-element-e6188d3,
    .elementor-element-c2ce14a,
    .elementor-element-2d46cdf,
    .elementor-element-8e46ed7,
    .elementor-element-215238a,
    .elementor-element-f9ab957,
    .elementor-element-e3d7d2c,
    .elementor-element-a83c461,
    .elementor-element-9e10347,
    .elementor-element-ccd04e6,
    .elementor-element-dac7aeb,
    .elementor-element-a7513a9,
    .elementor-element-a43332e,
    .elementor-element-00204c5,
    .elementor-element-2f60b3c,
    .elementor-element-beddd2c,
    .elementor-element-87bbd37,
    .elementor-element-0f72e1b,
    .elementor-element-14639d3,
    .elementor-element-89b2d0a,
    .elementor-element-b5fdd10
) { display:block; }
body.tb-elementor-imported.tb-page-technologie-software :is(
    .elementor-element-5c4786b,
    .elementor-element-1bef5da,
    .elementor-element-2221911,
    .elementor-element-977cb9b,
    .elementor-element-cd476ef,
    .elementor-element-9338148,
    .elementor-element-29ec4c0,
    .elementor-element-8f38b41,
    .elementor-element-29210a3,
    .elementor-element-94e7b85,
    .elementor-element-f881b69,
    .elementor-element-ae3ca3e,
    .elementor-element-4503022,
    .elementor-element-c9ad5f2,
    .elementor-element-cd85de3
) { display:block; }
body.tb-elementor-imported.tb-page-ueber-uns :is(
    .elementor-element-eaee35e,
    .elementor-element-ebcab53,
    .elementor-element-1095214,
    .elementor-element-4a1b608,
    .elementor-element-298d9cc,
    .elementor-element-42c0224,
    .elementor-element-96504c7,
    .elementor-element-bc2c547,
    .elementor-element-c5e3272,
    .elementor-element-35f9641,
    .elementor-element-20528ce,
    .elementor-element-3098717,
    .elementor-element-361b003,
    .elementor-element-520d399,
    .elementor-element-1be14aa,
    .elementor-element-817f5cb,
    .elementor-element-0f79fdd,
    .elementor-element-16918c7,
    .elementor-element-091b883,
    .elementor-element-70eecf6,
    .elementor-element-ebe4318,
    .elementor-element-b30ec52,
    .elementor-element-16c5d34,
    .elementor-element-f4deebf
) { display:block; }
body.tb-elementor-imported.tb-page-website-systeme :is(
    .elementor-element-b4f9e6e,
    .elementor-element-57a1b3f,
    .elementor-element-c2dc389,
    .elementor-element-c084f66,
    .elementor-element-d05db58,
    .elementor-element-4790295,
    .elementor-element-e641146,
    .elementor-element-15b0f81,
    .elementor-element-72bdfa4,
    .elementor-element-0bee49e,
    .elementor-element-cc160ee,
    .elementor-element-99003ae
) { display:block; }
body.tb-elementor-imported.tb-page-wissen :is(
    .elementor-element-1884c46,
    .elementor-element-3f1d646,
    .elementor-element-288352e,
    .elementor-element-9ba564a,
    .elementor-element-45646d0,
    .elementor-element-bc3c30f,
    .elementor-element-9bf6260,
    .elementor-element-8dd5013,
    .elementor-element-2f850cd,
    .elementor-element-29360fe,
    .elementor-element-3ea2fad,
    .elementor-element-e53a483,
    .elementor-element-13a4fbd,
    .elementor-element-70d91ee,
    .elementor-element-089a103,
    .elementor-element-421a015,
    .elementor-element-2c42270,
    .elementor-element-05e4072
) { display:block; }



/* =========================================================================
   V7.9.1 — Sticky Seitenmenü + Header an Inhaltskante ausrichten
   -------------------------------------------------------------------------
   Breadcrumbs scrollen wie im V73-Seitenfluss normal mit. Nur „Auf dieser
   Seite“ bleibt direkt unter dem globalen Hauptmenü sticky. Die horizontale
   Header-Verschiebung wird in JS aus der realen linken Inhaltskante ermittelt;
   Breite, Logo, Navigation und Abstände innerhalb des Headers bleiben gleich.
   ========================================================================= */
body.tb-elementor-imported .breadcrumbs {
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
  overflow:visible !important;
}
body.tb-elementor-imported .local-nav {
  position:sticky !important;
  position:-webkit-sticky !important;
  top:calc(var(--tb-adminbar-offset, 0px) + 82px) !important;
  z-index:1100 !important;
  overflow:visible !important;
  transform:none !important;
  contain:none !important;
  align-self:stretch !important;
}
@media(max-width:780px){
  body.tb-elementor-imported .local-nav {
    top:calc(var(--tb-adminbar-offset, 0px) + 72px) !important;
  }
}

/* =========================================================================
   V7.9.4 — Header ohne Transform-/Viewport-Hacks
   -------------------------------------------------------------------------
   Struktur: 100%-Templatehost -> 100%-Shell -> 100% .site-header ->
   zentrierter originaler V73-.header-wrap (max. 1220 px).
   Dadurch ist im Elementor-Template KEIN Transformieren/Versatz nötig.
   ========================================================================= */

/* The Template widget used by every imported page is a neutral full-width
   carrier. JS adds the same class to already-imported pages at runtime. */
body.tb-elementor-imported .tb-global-header-template-host-v794,
body.tb-elementor-imported .tb-global-header-template-host-v794 > .elementor-widget-container,
body.tb-elementor-imported .tb-global-header-template-host-v794 .elementor-template,
body.tb-elementor-imported .tb-global-header-template-host-v794 .elementor[data-elementor-type="section"] {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
  overflow:visible !important;
  contain:none !important;
}

/* Real outer header shell. Never offset it with Elementor Transform controls. */
body.tb-elementor-imported .tb-global-header-shell-v794,
body.tb-elementor-imported .tb-global-header-shell-v794 > .elementor-widget-tb-v50-header,
body.tb-elementor-imported .tb-global-header-shell-v794 > .elementor-widget-tb-v50-header > .elementor-widget-container {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
  scale:1 !important;
  --e-transform-translateX:0px !important;
  --e-transform-translateY:0px !important;
  --e-transform-rotateZ:0deg !important;
  --e-transform-scale:1 !important;
  --e-transform-skewX:0deg !important;
  --e-transform-skewY:0deg !important;
}

/* Only this real 100%-width shell is sticky on imported pages. */
body.tb-elementor-imported .tb-global-header-shell-v794.tb-sticky-header-host {
  display:block !important;
  position:sticky !important;
  position:-webkit-sticky !important;
  top:var(--tb-adminbar-offset,0px) !important;
  z-index:1200 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  contain:none !important;
  isolation:auto !important;
  background:transparent !important;
}

/* V7.8.x used a viewport-wide pseudo paint layer. It is no longer needed
   because the semantic header itself is genuinely full width. */
body.tb-elementor-imported .tb-global-header-shell-v794.tb-sticky-header-host::before {
  content:none !important;
  display:none !important;
}

/* Restore the exact prototype header paint and keep it in normal horizontal
   flow. No 100vw, no negative margin, no left:50%, no translateX(). */
body.tb-elementor-imported .tb-global-header-shell-v794 .site-header {
  box-sizing:border-box !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  translate:none !important;
  background:rgba(8,9,11,.88) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  backdrop-filter:blur(18px) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

/* This is the ONLY horizontal alignment rule for logo + main navigation.
   It is identical to the V73 .container geometry used by the page content. */
body.tb-elementor-imported .tb-global-header-shell-v794 .site-header > .header-wrap {
  box-sizing:border-box !important;
  width:min(var(--max,1220px),calc(100% - 44px)) !important;
  max-width:var(--max,1220px) !important;
  min-width:0 !important;
  height:82px !important;
  min-height:82px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  translate:none !important;
}

/* Direct editing of T&B Global Header should show the same geometry, but the
   editor document itself does not need to stick while it is being edited. */
body.tb-elementor-imported.tb-elementor-template-preview .tb-global-header-shell-v794.tb-sticky-header-host {
  position:relative !important;
  top:auto !important;
}

@media(max-width:780px){
  body.tb-elementor-imported .tb-global-header-shell-v794 .site-header > .header-wrap {
    width:min(var(--max,1220px),calc(100% - 30px)) !important;
    max-width:var(--max,1220px) !important;
    height:72px !important;
    min-height:72px !important;
  }
}


/* =========================================================================
   V7.9.7 — Überschrift/Text exakt wie im V73-Prototyp
   -------------------------------------------------------------------------
   V7.9.6 reduzierte einzelne Absatz-Margins auf Restwerte (z.B. 8/17 px),
   obwohl Heading- und Text-Widgets hier bereits als display:contents in den
   originalen V73-Blockfluss zurückgeführt werden. Dadurch wurden sichtbare
   Abstände zu klein. V7.9.7 erzwingt den wrapperlosen Box-Tree; die originalen
   h1/h2/h3/p-Margins aus v50.css kollabieren wieder exakt wie in V73.
   ========================================================================= */
body.tb-elementor-imported .elementor-widget-heading,
body.tb-elementor-imported .elementor-widget-heading > .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-text-editor,
body.tb-elementor-imported .elementor-widget-text-editor > .elementor-widget-container {
  display:contents !important;
}

/* Keine Elementor-eigene Zwischenraum-Addition zwischen direkt folgenden
   Heading- und Texteditor-Widgets. Der sichtbare Abstand kommt ausschließlich
   aus den unveränderten V73-Margins der semantischen H-/P-Elemente. */
body.tb-elementor-imported .elementor-widget-heading + .elementor-widget-text-editor {
  margin:0 !important;
  padding:0 !important;
}

/* Hero is the one intentional flex exception: V73 collapses h1 (22 px) with
   the lead's 1em top margin, while Elementor's .hero-inner remains a flex
   column. Subtract the already-present 22 px so the visible gap is again
   max(22px, 1em), exactly as in the static prototype. */
body.tb-elementor-imported .hero .elementor-widget-heading + .elementor-widget-text-editor p.lead:first-of-type {
  margin-top:max(0px, calc(1em - 22px)) !important;
}

/* Hello/Elementor reset browser default block margins. V73 is a standalone
   HTML prototype and intentionally uses the browser defaults wherever v50.css
   does not define a more specific margin. These low-specificity fallbacks beat
   generic theme tag resets, while every explicit V73 class rule still wins. */
.tb-elementor-imported :where(.elementor-widget-heading h1) {
  margin-block-start:.67em;
  margin-block-end:.67em;
}
.tb-elementor-imported :where(.elementor-widget-heading h2) {
  margin-block-start:.83em;
  margin-block-end:.83em;
}
.tb-elementor-imported :where(.elementor-widget-heading h3) {
  margin-block-start:1em;
  margin-block-end:1em;
}
.tb-elementor-imported :where(.elementor-widget-heading h4) {
  margin-block-start:1.33em;
  margin-block-end:1.33em;
}
.tb-elementor-imported :where(.elementor-widget-text-editor p:first-child) {
  margin-block-start:1em;
}

/* -------------------------------------------------------------------------
   V7.10.0 – CD parser cleanup, Kontakt portrait crop, SEVentilation H3 fidelity.
   ------------------------------------------------------------------------- */

/* Kontakt: only move the portrait crop vertically downward. Horizontal crop,
   hero height, overlay, content geometry and background-size remain unchanged. */
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 .hero-bg,
body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
  background-position:76% 31% !important;
}
@media(max-width:980px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 .hero-bg,
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
    background-position:78% 38% !important;
  }
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 .hero-bg,
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
    background-position:82% 45% !important;
  }
}
@media(max-width:620px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 .hero-bg,
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
    background-position:84% 47% !important;
  }
}
@media(max-width:480px){
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 .tb-contact-hero-bg-widget-static-v766 .hero-bg,
  body.tb-elementor-imported.tb-page-kontakt .hero-contact-v68 [style*="hero_kontakt_portrait_v70.webp"] {
    background-position:86% 50% !important;
  }
}

/* SEVentilation: these ten labels are plain H3 elements in V73. Browser H3 is
   1.17em on the 16px base = 18.72px. Pin that value on the actual Elementor
   heading widgets and use normal H3 line-height so Elementor Kit typography
   cannot enlarge them in editor, preview or frontend. */
body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #kanaele .channel-grid article h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .tb-sev-prototype-heading-v7100 h3.elementor-heading-title,
.tb-page-fallstudie-seventilation .tb-sev-prototype-heading-v7100 h3.elementor-heading-title,
.tb-sev-prototype-heading-v7100 h3.elementor-heading-title {
  font-size:18.72px !important;
  line-height:normal !important;
  font-weight:700 !important;
}

/* -------------------------------------------------------------------------
   V7.10.1 — Kontaktformular: V73-Geometrie in Elementor-Editor + Vorschau.
   Die Regeln sind absichtlich NICHT von body.tb-elementor-imported abhängig,
   weil Elementors Editor-Canvas die Body-Klassen je nach Preview-Zustand
   unterschiedlich aufbauen kann. Die Klasse contact-form ist nur dem
   Kontaktformular-Widget zugewiesen und begrenzt den Scope sicher.
   ------------------------------------------------------------------------- */
.elementor-widget-form.contact-form,
.elementor-widget-form.tb-contact-form-v7101,
.tb-contact-form-host {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.elementor-widget-form.contact-form > .elementor-widget-container,
.elementor-widget-form.tb-contact-form-v7101 > .elementor-widget-container,
.tb-contact-form-host > .elementor-widget-container {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.elementor-widget-form.contact-form form.elementor-form,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form,
.tb-contact-form-host form.elementor-form {
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:28px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  grid-auto-flow:row !important;
  align-items:start !important;
  gap:16px !important;
  border-radius:24px !important;
  border:1px solid rgba(20,22,27,.1) !important;
  background:#fff !important;
  color:#202229 !important;
  box-shadow:0 24px 55px rgba(38,31,24,.11) !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.62 !important;
  text-align:left !important;
}
.elementor-widget-form.contact-form form.elementor-form > .elementor-form-fields-wrapper,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form > .elementor-form-fields-wrapper,
.tb-contact-form-host form.elementor-form > .elementor-form-fields-wrapper {
  display:contents !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-group,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-group,
.tb-contact-form-host form.elementor-form .elementor-field-group {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-content:start !important;
  align-items:start !important;
  gap:7px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.62 !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-col-100,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-col-100,
.tb-contact-form-host form.elementor-form .elementor-col-100 {
  grid-column:1/-1 !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-label,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-label,
.tb-contact-form-host form.elementor-form .elementor-field-label {
  box-sizing:border-box !important;
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#202229 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.62 !important;
}
/* Elementor darf keinen zusätzlichen Pflichtfeld-Stern zeigen: V73 hat keinen. */
.elementor-widget-form.contact-form form.elementor-form .elementor-required,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-required,
.tb-contact-form-host form.elementor-form .elementor-required {
  display:none !important;
}
.elementor-widget-form.contact-form form.elementor-form :is(input.elementor-field,select.elementor-field,textarea.elementor-field),
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form :is(input.elementor-field,select.elementor-field,textarea.elementor-field),
.tb-contact-form-host form.elementor-form :is(input.elementor-field,select.elementor-field,textarea.elementor-field) {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:14px 15px !important;
  border-radius:13px !important;
  border:1px solid rgba(20,22,27,.15) !important;
  background:#fff !important;
  color:#202229 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.62 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  box-shadow:none !important;
  outline-offset:0;
}
.elementor-widget-form.contact-form form.elementor-form select.elementor-field,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form select.elementor-field,
.tb-contact-form-host form.elementor-form select.elementor-field {
  appearance:auto !important;
  -webkit-appearance:auto !important;
}
.elementor-widget-form.contact-form form.elementor-form textarea.elementor-field,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form textarea.elementor-field,
.tb-contact-form-host form.elementor-form textarea.elementor-field {
  min-height:140px !important;
  resize:vertical !important;
}
/* Acceptance/Datenschutz exakt wie V73: Checkbox + ein zusammenhängender Textblock. */
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance {
  grid-column:1/-1 !important;
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:500 !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance > .elementor-field-label,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance > .elementor-field-label,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance > .elementor-field-label {
  display:none !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance :is(.elementor-field-subgroup,.elementor-field-option),
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance :is(.elementor-field-subgroup,.elementor-field-option),
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance :is(.elementor-field-subgroup,.elementor-field-option) {
  display:contents !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance input[type="checkbox"],
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance input[type="checkbox"],
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance input[type="checkbox"] {
  box-sizing:border-box !important;
  grid-column:1 !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label {
  box-sizing:border-box !important;
  grid-column:2 !important;
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:#202229 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:500 !important;
  line-height:1.62 !important;
  white-space:normal !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance a,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance a,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance a {
  color:inherit !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}
/* Submit sitzt wie der V73-Button links in der ersten Rasterspalte. */
.elementor-widget-form.contact-form form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit),
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit),
.tb-contact-form-host form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit) {
  grid-column:auto !important;
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-button[type="submit"],
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-button[type="submit"],
.tb-contact-form-host form.elementor-form .elementor-button[type="submit"] {
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:14px 20px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,#f08a3c,#d47428) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(212,116,40,.25) !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:750 !important;
  line-height:1.62 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-button[type="submit"]:hover,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-button[type="submit"]:hover,
.tb-contact-form-host form.elementor-form .elementor-button[type="submit"]:hover {
  transform:translateY(-3px) !important;
  box-shadow:0 22px 42px rgba(212,116,40,.35) !important;
  filter:brightness(1.04) !important;
}
.elementor-widget-form.contact-form form.elementor-form .elementor-message,
.elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-message,
.tb-contact-form-host form.elementor-form .elementor-message {
  grid-column:1/-1 !important;
  margin:0 !important;
}
@media(max-width:780px){
  .elementor-widget-form.contact-form form.elementor-form,
  .elementor-widget-form.tb-contact-form-v7101 form.elementor-form,
  .tb-contact-form-host form.elementor-form {
    grid-template-columns:minmax(0,1fr) !important;
    padding:22px !important;
  }
  .elementor-widget-form.contact-form form.elementor-form .elementor-col-100,
  .elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-col-100,
  .tb-contact-form-host form.elementor-form .elementor-col-100,
  .elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance,
  .elementor-widget-form.tb-contact-form-v7101 form.elementor-form .elementor-field-type-acceptance,
  .tb-contact-form-host form.elementor-form .elementor-field-type-acceptance {
    grid-column:auto !important;
  }
}
@media(max-width:360px){
  .elementor-widget-form.contact-form form.elementor-form,
  .elementor-widget-form.tb-contact-form-v7101 form.elementor-form,
  .tb-contact-form-host form.elementor-form {
    padding:18px !important;
  }
}


/* =========================================================================
   V7.10.3 — Drei Navigationsebenen wieder exakt sticky wie im V73-Prototyp
   -------------------------------------------------------------------------
   V7.9.1 hatte .breadcrumbs absichtlich auf position:relative gesetzt. Zudem
   war seit V7.9.4 der innere Header-Shell selbst sticky, obwohl dessen
   Elementor-Template-Parent nur ungefähr Headerhöhe besitzt. CSS sticky ist
   an den Parent gebunden; dadurch konnte der Header aus dem Viewport laufen.

   V73-Stack Desktop:
     Hauptmenü          top:   0px / + WP-Adminbar
     „Sie sind hier“    top:  82px / + WP-Adminbar
     „Auf dieser Seite“ top: 126px / + WP-Adminbar
   V73-Stack Mobil:
     Hauptmenü          top:   0px / + WP-Adminbar
     „Sie sind hier“    top:  72px / + WP-Adminbar
     „Auf dieser Seite“ top: 114px / + WP-Adminbar
   ========================================================================= */

/* The top-level Elementor Template widget is the real sticky containing box.
   It is a direct page child, so it can remain sticky for the full document. */
body.tb-elementor-imported .elementor-widget-template.tb-global-header-template-host-v794 {
  box-sizing:border-box !important;
  display:block !important;
  position:sticky !important;
  position:-webkit-sticky !important;
  top:var(--tb-adminbar-offset,0px) !important;
  left:auto !important;
  right:auto !important;
  z-index:1200 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  contain:none !important;
  align-self:stretch !important;
}

/* Inner header/template layers are layout carriers only. They must not create
   another sticky containing block or clip the outer sticky template. */
body.tb-elementor-imported .elementor-widget-template.tb-global-header-template-host-v794
> .elementor-widget-container,
body.tb-elementor-imported .elementor-widget-template.tb-global-header-template-host-v794
.elementor-template,
body.tb-elementor-imported .elementor-widget-template.tb-global-header-template-host-v794
.elementor[data-elementor-type="section"] {
  position:relative !important;
  top:auto !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  contain:none !important;
}

body.tb-elementor-imported .elementor-widget-template.tb-global-header-template-host-v794
.tb-global-header-shell-v794,
body.tb-elementor-imported .elementor-widget-template.tb-global-header-template-host-v794
.tb-global-header-shell-v794.tb-sticky-header-host {
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  contain:none !important;
}

/* Restore the second sticky row exactly as in V73. */
body.tb-elementor-imported .breadcrumbs {
  position:sticky !important;
  position:-webkit-sticky !important;
  top:calc(var(--tb-adminbar-offset,0px) + 82px) !important;
  z-index:1150 !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  contain:none !important;
  align-self:stretch !important;
}

/* Restore the third sticky row below header + 44px breadcrumbs. */
body.tb-elementor-imported .local-nav {
  position:sticky !important;
  position:-webkit-sticky !important;
  top:calc(var(--tb-adminbar-offset,0px) + 126px) !important;
  z-index:1100 !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  contain:none !important;
  align-self:stretch !important;
}

/* The page root itself must not become a clipping/scroll ancestor. Do not
   override individual sections such as the hero: their own overflow:hidden is
   part of the approved V73 design and remains untouched. */
body.tb-elementor-imported .elementor[data-elementor-type="wp-page"] {
  overflow:visible !important;
  contain:none !important;
}

@media(max-width:780px){
  body.tb-elementor-imported .breadcrumbs {
    top:calc(var(--tb-adminbar-offset,0px) + 72px) !important;
  }
  body.tb-elementor-imported .local-nav {
    top:calc(var(--tb-adminbar-offset,0px) + 114px) !important;
  }
}

/* In the isolated Elementor header-template editor no page scroll stack exists;
   keep the template in normal flow there just like the previous version. */
body.tb-elementor-imported.tb-elementor-template-preview
.elementor-widget-template.tb-global-header-template-host-v794,
body.tb-elementor-imported.tb-elementor-template-preview
.tb-global-header-shell-v794.tb-sticky-header-host {
  position:relative !important;
  top:auto !important;
}


/* V7.10.6 — footer logo reduced by two thirds + white social icons */
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img{height:13.333px!important;width:auto!important;max-width:100%!important;margin:0 0 15px!important}
body.tb-elementor-imported .site-footer .footer-socials.e-con{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;margin-top:16px!important}
body.tb-elementor-imported .site-footer .footer-socials.e-con > .elementor-element{width:auto!important;max-width:max-content!important;flex:0 0 auto!important}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font-size:0!important;line-height:1!important;overflow:hidden!important;transition:transform .2s ease,background-color .2s ease,color .2s ease!important}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon svg{display:block!important;width:17px!important;height:17px!important;fill:currentColor!important;color:#fff!important}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-youtube,body.tb-elementor-imported .site-footer .footer-socials a.footer-social-linkedin,body.tb-elementor-imported .site-footer .footer-socials a.footer-social-instagram,body.tb-elementor-imported .site-footer .footer-socials a.footer-social-facebook{background:transparent!important;color:#fff!important}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:hover,body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:focus-visible{background:#fff!important;color:#0f1318!important;border-color:#fff!important;filter:none!important;transform:translateY(-2px)!important;box-shadow:none!important}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:hover svg,body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:focus-visible svg{color:#0f1318!important}

/* =========================================================================
   V7.10.8 — Orange Nummern-/Quartalsmarker exakt wie V73
   =========================================================================
   Ursache: Der statische V73-Prototyp setzt einige Marker als direkte Kinder
   (z. B. article > strong / article > span). Elementor fügt bei nativen
   HTML-Widgets zwei Wrapper-Ebenen ein. Dadurch treffen diese direkten
   Kindselektoren im WordPress-Frontend nicht mehr, obwohl die Inhalte und
   Kartenklassen korrekt importiert sind.

   Diese Regeln bilden ausschließlich die betroffenen V73-Komponenten mit
   Elementor-Wrappern nach. Bereits funktionierende Marker (.number,
   .model-number, .entry-number, .journey-number, .production-output-grid-v59,
   .three-steps, etc.) bleiben unverändert. */

/* Content-Partnerschaft: "Konkrete Ergebnisse" 01–06 + KPI/Review 01–04.
   V73: .cp-result-grid-v51 article>strong,
        .cp-measure-grid-v51 article>span */
body.tb-elementor-imported .cp-result-grid-v51 article
> .elementor-widget-html:first-child .elementor-widget-container > strong,
body.tb-elementor-imported .cp-measure-grid-v51 article
> .elementor-widget-html:first-child .elementor-widget-container > span {
  display:block !important;
  margin-bottom:12px !important;
  color:var(--orange2) !important;
  font-size:12px !important;
  letter-spacing:.12em !important;
}

/* Content-Partnerschaft: Jahresthemenplan Q1–Q4.
   V73: .cp-quarter-grid-v51 article>span */
body.tb-elementor-imported .cp-quarter-grid-v51 article
> .elementor-widget-html:first-child .elementor-widget-container > span {
  color:var(--orange2) !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

/* Content-Partnerschaft: nummerierte Datencluster 01–03.
   V73: .cp-data-cluster-head-v54>span */
body.tb-elementor-imported .cp-data-cluster-head-v54
> .elementor-widget-html:first-child .elementor-widget-container > span {
  display:grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  background:rgba(212,116,40,.16) !important;
  border:1px solid rgba(255,192,143,.32) !important;
  color:#ffc08f !important;
  font-weight:900 !important;
}

/* Content-Partnerschaft: 6-/12-Monats-Badges.
   Kein Nummernfehler im engeren Sinn, aber derselbe Elementor-Wrapper würde
   die direkte V73-Kindregel ebenfalls unterbrechen. */
body.tb-elementor-imported .cp-duration-card-v51
> .elementor-widget-html:first-child .elementor-widget-container > span {
  display:inline-flex !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(212,116,40,.12) !important;
  color:#9e4d18 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}


/* =========================================================================
   V7.10.9 — Orange Aufzählungsmarker: wrapper-unabhängige Absicherung
   =========================================================================
   V7.10.8 hing noch von der exakten Elementor-DOM-Tiefe ab. V7.10.9 setzt
   die Prototype-Farbe zusätzlich direkt am Marker (pages.json + DB-Reparatur)
   und hält hier einen globalen Fallback ohne body-/direct-child-Abhängigkeit.
*/
.tb-v7109-color-f08a3c > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#f08a3c"] { color:#f08a3c !important; }
.tb-v7109-color-ffc08f > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#ffc08f"] { color:#ffc08f !important; }
.tb-v7109-color-d47428 > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#d47428"] { color:#d47428 !important; }
.tb-v7109-color-a9531b > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#a9531b"] { color:#a9531b !important; }
.tb-v7109-color-a7521c > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#a7521c"] { color:#a7521c !important; }
.tb-v7109-color-ffb47c > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#ffb47c"] { color:#ffb47c !important; }
.tb-v7109-color-9e4d18 > .elementor-widget-container > :is(span,strong),
.tb-v7109-orange-marker[style*="#9e4d18"] { color:#9e4d18 !important; }

/* Structural fallback for older imported documents before the one-time DB
   repair has run. These selectors deliberately do NOT require direct children. */
.cp-result-grid-v51 article strong { color:#f08a3c !important; }
.cp-measure-grid-v51 article span { color:#f08a3c !important; }
.cp-quarter-grid-v51 article span { color:#f08a3c !important; }
.cp-data-cluster-head-v54 span { color:#ffc08f !important; }
.production-steps-v59 .production-step-number-v59 { color:#ffc08f !important; }
.production-output-grid-v59 article span { color:#a9531b !important; }
.three-steps article span,.timeline article span { color:#f08a3c !important; }


/* =========================================================================
   V7.11.0 — Marker-Typografie + Abstände exakt wie V73
   =========================================================================
   Wrapper-unabhängige Regeln für genau die Komponenten, deren V73-Regeln
   article > strong / article > span voraussetzen. So stimmen nicht nur Farbe,
   sondern auch Größe, Gewicht und vertikaler Abstand auf bestehenden Imports.
*/
.cp-result-grid-v51 article .tb-v7109-orange-marker {
  display:block !important;
  margin:0 0 12px !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  line-height:1.62 !important;
  text-transform:none !important;
}
.cp-measure-grid-v51 article .tb-v7109-orange-marker {
  display:block !important;
  margin:0 0 12px !important;
  font-size:12px !important;
  font-weight:400 !important;
  letter-spacing:.12em !important;
  line-height:1.62 !important;
  text-transform:none !important;
}
.cp-quarter-grid-v51 article .tb-v7109-orange-marker {
  margin:0 !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  line-height:1.62 !important;
  text-transform:uppercase !important;
}
.cp-quarter-grid-v51 article h3,
.cp-quarter-grid-v51 article h3.elementor-heading-title {
  margin:9px 0 14px !important;
  font-size:21px !important;
}
.cp-result-grid-v51 article h3,
.cp-result-grid-v51 article h3.elementor-heading-title,
.cp-measure-grid-v51 article h3,
.cp-measure-grid-v51 article h3.elementor-heading-title {
  margin:0 0 9px !important;
  font-size:21px !important;
}
.cp-data-cluster-head-v54 .tb-v7109-orange-marker {
  display:grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  margin:0 !important;
  border-radius:50% !important;
  background:rgba(212,116,40,.16) !important;
  border:1px solid rgba(255,192,143,.32) !important;
  color:#ffc08f !important;
  font-weight:900 !important;
}
.cp-duration-card-v51 .tb-v7109-orange-marker {
  display:inline-flex !important;
  margin:0 !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(212,116,40,.12) !important;
  color:#9e4d18 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

/* V7.11.1 — Footer logo exactly like the header brand:
   same black/orange logo.png, same white badge, same padding/radius/shadow,
   and the same image dimensions as .brand img. */
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo {
  width:max-content !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 0 15px !important;
  padding:0 !important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo .elementor-widget-container {
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  background:#fff !important;
  padding:7px 11px !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.28) !important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img {
  content:url("../assets/logo.png") !important;
  display:block !important;
  height:58px !important;
  width:auto !important;
  max-width:220px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:780px){
  body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo .elementor-widget-container {
    padding:6px 9px !important;
  }
  body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img {
    height:42px !important;
    max-width:170px !important;
  }
}

/* =========================================================================
   V7.11.2 — V73 TYPOGRAPHY LOCK
   Generated from the approved V73 stylesheet. Elementor/Hello global type
   presets must not change the prototype's heading, body or component sizes.
   ========================================================================= */
body.tb-elementor-imported{font-size:16px !important;line-height:1.62 !important;}
body.tb-elementor-imported h1{font-size:2em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h2{font-size:1.5em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h3{font-size:1.17em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h4{font-size:1em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h5{font-size:.83em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h6{font-size:.67em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h1.elementor-heading-title{font-size:2em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h2.elementor-heading-title{font-size:1.5em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h3.elementor-heading-title{font-size:1.17em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h4.elementor-heading-title{font-size:1em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h5.elementor-heading-title{font-size:.83em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported h6.elementor-heading-title{font-size:.67em;line-height:inherit;font-weight:700;}
body.tb-elementor-imported p{font-size:1em;line-height:inherit;}
body.tb-elementor-imported small{font-size:smaller;}
body.tb-elementor-imported{font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.62;}
body.tb-elementor-imported .main-nav a{font-size:14px;}
body.tb-elementor-imported .btn{font-weight:750;}
body.tb-elementor-imported .btn-small{font-size:14px;}
body.tb-elementor-imported .eyebrow,
body.tb-elementor-imported .section-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:850;}
body.tb-elementor-imported .hero h1{font-size:clamp(44px,6vw,78px);line-height:1.03;}
body.tb-elementor-imported .lead{font-size:clamp(18px,2vw,23px);}
body.tb-elementor-imported .local-nav strong{text-transform:uppercase;letter-spacing:.12em;font-size:12px;}
body.tb-elementor-imported .local-links a{font-size:13px;line-height:1.2;}
body.tb-elementor-imported .section-head h2{font-size:clamp(31px,4.5vw,53px);line-height:1.1;}
body.tb-elementor-imported .highlight{font-size:21px;font-weight:580;}
body.tb-elementor-imported .portal-card h3{font-size:28px;}
body.tb-elementor-imported .card h3,
body.tb-elementor-imported .info-panel h3,
body.tb-elementor-imported .result-panel h3,
body.tb-elementor-imported .usecase h3,
body.tb-elementor-imported .model-card h3{font-size:22px;}
body.tb-elementor-imported .text-link{font-weight:750;}
body.tb-elementor-imported .service-head h3{font-size:19px;}
body.tb-elementor-imported .check-list li:before{font-weight:900;}
body.tb-elementor-imported .number,
body.tb-elementor-imported .model-number{font-size:12px;letter-spacing:.14em;font-weight:850;}
body.tb-elementor-imported .process-list li>span,
body.tb-elementor-imported .process-list li span{font-weight:850;}
body.tb-elementor-imported .faq-list summary{font-weight:760;}
body.tb-elementor-imported .timeline span,
body.tb-elementor-imported .three-steps span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;}
body.tb-elementor-imported .testimonial blockquote{font-size:21px;}
body.tb-elementor-imported .contact-form label{font-weight:700;}
body.tb-elementor-imported .contact-form input,
body.tb-elementor-imported .contact-form select,
body.tb-elementor-imported .contact-form textarea{font:inherit;}
body.tb-elementor-imported .consent{font-weight:500 !important;}
@media (max-width:1100px){
body.tb-elementor-imported .main-nav a{font-size:13px;}
}
@media (max-width:780px){
body.tb-elementor-imported .mobile-toggle{font-size:20px;}
body.tb-elementor-imported .hero h1{font-size:42px;}
}
body.tb-elementor-imported .breadcrumbs{font-size:13px;}
body.tb-elementor-imported .section-intro{font-size:19px;}
body.tb-elementor-imported .problem-card h3{font-size:21px;line-height:1.25;}
body.tb-elementor-imported .path-card>span,
body.tb-elementor-imported .path-card span{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;}
body.tb-elementor-imported .path-card h3{font-size:23px;}
body.tb-elementor-imported .client-title{font-size:clamp(29px,4vw,45px);}
body.tb-elementor-imported .client-intro{font-size:18px;}
body.tb-elementor-imported .case-feature blockquote{font-size:19px;}
body.tb-elementor-imported .back-link{font-weight:700;}
body.tb-elementor-imported .next-link{font-weight:800;}
@media (max-width:780px){
body.tb-elementor-imported .client-title{font-size:31px;}
}
body.tb-elementor-imported .header-location{font-size:11px;}
body.tb-elementor-imported .location-label{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:10px;}
body.tb-elementor-imported .sector-card h3,
body.tb-elementor-imported .knowledge-card h3,
body.tb-elementor-imported .decision-card h3{font-size:22px;}
body.tb-elementor-imported .decision-card span{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;}
body.tb-elementor-imported th{font-size:12px;text-transform:uppercase;letter-spacing:.1em;}
body.tb-elementor-imported .decision-checklist h3{font-size:19px;}
body.tb-elementor-imported .hero-logo-strip .section-kicker{font-size:10px;}
body.tb-elementor-imported .orientation-guide span{font-weight:900;}
body.tb-elementor-imported .orientation-guide h3{font-size:19px;}
body.tb-elementor-imported .video-play{font-size:24px;}
body.tb-elementor-imported .video-copy h3{font-size:22px;}
body.tb-elementor-imported .video-label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;}
body.tb-elementor-imported .music-portal h2{font-size:clamp(31px,4vw,50px);}
body.tb-elementor-imported .music-mini-grid strong{font-size:18px;}
body.tb-elementor-imported .music-mini-grid span{font-size:14px;}
body.tb-elementor-imported .service-number{font-size:12px;letter-spacing:.14em;font-weight:900;}
body.tb-elementor-imported .music-service-card h3{font-size:26px;}
@media (max-width:1220px){
body.tb-elementor-imported .main-nav a{font-size:12px;}
}
body.tb-elementor-imported.music-theme .section-head h2{font-size:clamp(32px,4.5vw,53px);line-height:1.1;}
body.tb-elementor-imported.music-theme .card h3,
body.tb-elementor-imported.music-theme .info-panel h3,
body.tb-elementor-imported.music-theme .usecase h3,
body.tb-elementor-imported.music-theme .music-entry-card h3,
body.tb-elementor-imported.music-theme .music-service-card h3,
body.tb-elementor-imported.music-theme .video-copy h3{font-size:22px;line-height:1.25;}
body.tb-elementor-imported .expert-company{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;}
body.tb-elementor-imported .expert-card h3{font-size:21px;line-height:1.2;}
body.tb-elementor-imported .expert-card strong{line-height:1.35;}
body.tb-elementor-imported .network-competence-grid article strong{font-size:18px;}
body.tb-elementor-imported .domain-card h3{font-size:clamp(25px,3vw,38px);line-height:1.14;}
body.tb-elementor-imported .domain-label{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;}
body.tb-elementor-imported .journey-step:not(:last-child):after{font-weight:900;}
body.tb-elementor-imported .journey-number{font-weight:900;letter-spacing:.1em;}
body.tb-elementor-imported .journey-step h3{font-size:1.45rem;line-height:1.2;}
body.tb-elementor-imported .skip-link{font-weight:800;}
body.tb-elementor-imported .local-links a{font-weight:650;}
body.tb-elementor-imported .video-copy h3{font-size:23px !important;line-height:1.22 !important;}
body.tb-elementor-imported .video-copy p{line-height:1.62 !important;}
body.tb-elementor-imported .format-direct-card h3{font-size:21px;line-height:1.25;}
body.tb-elementor-imported .comparison-table td:nth-child(2) a{font-weight:800;}
body.tb-elementor-imported .models-prominent-v11 .card h3{font-size:24px !important;}
body.tb-elementor-imported .models-prominent-v11 .card p{font-size:16px !important;}
body.tb-elementor-imported .models-prominent-v11 .model-number-v11{font-weight:900;}
body.tb-elementor-imported .video-inline-action,
body.tb-elementor-imported .video-youtube-link{font-weight:700;font-size:14px;}
body.tb-elementor-imported .video-inline-action,
body.tb-elementor-imported .video-youtube-link{font-size:14px;font-weight:760;}
body.tb-elementor-imported .theme-light .service-card h3,
body.tb-elementor-imported .theme-light .format-direct-card h3,
body.tb-elementor-imported .theme-light .decision-card h3{line-height:1.28;}
body.tb-elementor-imported .theme-light .service-card p,
body.tb-elementor-imported .theme-light .format-direct-card p,
body.tb-elementor-imported .theme-light .decision-card p{font-size:16px;line-height:1.65;}
body.tb-elementor-imported .theme-dark .comparison-table a{font-weight:750;}
body.tb-elementor-imported .contact-quick-copy h2{font-size:clamp(28px,3.8vw,46px);line-height:1.12;}
body.tb-elementor-imported .contact-chip span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;}
body.tb-elementor-imported .contact-chip strong{font-size:16px;line-height:1.25;}
body.tb-elementor-imported .home-contact-links span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;}
body.tb-elementor-imported .home-contact-links strong{font-size:15px;}
body.tb-elementor-imported .nav-dropdown-trigger{font-weight:700;}
body.tb-elementor-imported .mobile-dropdown summary{font-weight:750;}
body.tb-elementor-imported .main-nav a{font-size:14px;}
body.tb-elementor-imported .model-number{font-size:34px;font-weight:900;line-height:1;}
body.tb-elementor-imported .contact-cta-links>a:not(.btn),
body.tb-elementor-imported .contact-cta-links a:not(.btn){font-weight:750;}
body.tb-elementor-imported .video-poster:after{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;}
body.tb-elementor-imported .audio-disc{font-size:25px;}
body.tb-elementor-imported .audio-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;}
body.tb-elementor-imported .audio-source-link{font-weight:750;}
body.tb-elementor-imported .tour-card span{font-weight:750;}
body.tb-elementor-imported .social-link-grid a{font-weight:850;}
body.tb-elementor-imported .testimonial-track cite{font-style:normal;font-weight:750;}
body.tb-elementor-imported .metric-grid strong{font-size:28px;}
body.tb-elementor-imported .analytics-placeholder strong{font-size:20px;}
@media (max-width:1180px){
body.tb-elementor-imported .main-nav a,
body.tb-elementor-imported .nav-dropdown-trigger{font-size:13px;}
}
body.tb-elementor-imported .hero-trust-inline span{font-size:14px;}
body.tb-elementor-imported .hero-stats-head h2{font-size:28px;line-height:1.14;}
body.tb-elementor-imported .hero-stat-grid strong{font-size:28px;line-height:1.05;}
body.tb-elementor-imported .hero-stat-grid span{font-size:14px;}
body.tb-elementor-imported .review-copy p{line-height:1.58;font-size:16px;}
body.tb-elementor-imported .review-copy cite{font-style:normal;font-weight:700;}
body.tb-elementor-imported .network-cards strong{font-size:20px;}
body.tb-elementor-imported .network-cards span{font-weight:700;}
body.tb-elementor-imported .network-cards p{line-height:1.58;}
body.tb-elementor-imported .section-head .section-intro{font-size:18px;line-height:1.66;}
body.tb-elementor-imported .theme-dark .webservice-section .card p,
body.tb-elementor-imported .theme-dark .card p{line-height:1.64;}
body.tb-elementor-imported .footer-grid h3{font-size:18px;}
body.tb-elementor-imported .mini-review-grid p{line-height:1.58;}
@media (max-width:760px){
body.tb-elementor-imported .hero-copy h1{font-size:clamp(34px,8vw,52px);}
body.tb-elementor-imported .hero-stats-head h2{font-size:24px;}
body.tb-elementor-imported .hero-trust-inline span{font-size:13px;}
}
body.tb-elementor-imported .hero h1{font-size:clamp(38px,4.6vw,64px);line-height:1.08;}
body.tb-elementor-imported .entry-path-card h3{font-size:25px;line-height:1.24;}
body.tb-elementor-imported .entry-path-card p{line-height:1.65;}
body.tb-elementor-imported .entry-number{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:850;}
body.tb-elementor-imported .focus-note h2{font-size:clamp(30px,4vw,48px);line-height:1.14;}
body.tb-elementor-imported .focus-note p{font-size:18px;}
@media (max-width:680px){
body.tb-elementor-imported .hero h1{font-size:clamp(34px,9vw,48px);}
}
body.tb-elementor-imported .hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.08;}
body.tb-elementor-imported .entry-path-list strong{font-size:18px;}
body.tb-elementor-imported .entry-path-list span{font-size:14px;line-height:1.5;}
body.tb-elementor-imported .entry-path-list a{font-weight:800;}
body.tb-elementor-imported .hero-mini-metrics span{font-size:12px;}
body.tb-elementor-imported .hero-mini-metrics strong{font-size:20px;line-height:1.1;}
body.tb-elementor-imported .music-identity-panel h2{font-size:clamp(30px,4vw,48px);line-height:1.14;}
body.tb-elementor-imported .music-identity-panel p{font-size:18px;}
body.tb-elementor-imported .footer-grid-v18 h3{font-size:15px;line-height:1.3;}
body.tb-elementor-imported .footer-grid-v18 a{font-size:13.5px;line-height:1.35;}
body.tb-elementor-imported .footer-grid-v18 .footer-claim{font-size:14px;line-height:1.5;}
body.tb-elementor-imported .footer-grid-v18 .footer-contact a{font-size:13.5px;}
body.tb-elementor-imported .footer-socials a{font-size:13px !important;font-weight:850;}
body.tb-elementor-imported .footer-bottom .container{font-size:12px;}
body.tb-elementor-imported .review-card-full .review-copy p{font-size:15.5px;line-height:1.68;}
body.tb-elementor-imported .review-card-full cite{font-style:normal;}
body.tb-elementor-imported .review-card-full cite strong{font-size:15px;}
body.tb-elementor-imported .review-card-full cite span{font-size:14px;}
body.tb-elementor-imported .format-direct-card .text-link,
body.tb-elementor-imported .service-card .text-link,
body.tb-elementor-imported #formate .text-link,
body.tb-elementor-imported #filmformate .text-link,
body.tb-elementor-imported #filmgattungen .text-link{text-transform:none;}
body.tb-elementor-imported .compact-customer-quote p{font-size:20px;line-height:1.62;}
body.tb-elementor-imported .compact-customer-quote cite{font-style:normal;}
@media (max-width:760px){
body.tb-elementor-imported .compact-customer-quote p{font-size:18px;}
}
body.tb-elementor-imported .sup-smallcaps{font-size:.55em;letter-spacing:.08em;font-variant-caps:all-small-caps;line-height:0;}
body.tb-elementor-imported .hero h1{font-size:clamp(38px,4.7vw,66px);line-height:1.04;letter-spacing:-.018em;}
body.tb-elementor-imported .hero .lead{line-height:1.58;}
body.tb-elementor-imported .section-head h2{font-size:clamp(30px,3.8vw,49px);line-height:1.12;letter-spacing:-.012em;}
body.tb-elementor-imported .section-intro{line-height:1.65;}
body.tb-elementor-imported .card p,
body.tb-elementor-imported .service-card p,
body.tb-elementor-imported .format-direct-card p,
body.tb-elementor-imported .decision-card p,
body.tb-elementor-imported .info-panel p,
body.tb-elementor-imported .usecase p,
body.tb-elementor-imported .entry-path-card p{line-height:1.62;}
body.tb-elementor-imported .service-card .text-link,
body.tb-elementor-imported .format-direct-card .text-link{font-weight:780;}
body.tb-elementor-imported .local-links a{font-weight:650;}
body.tb-elementor-imported .hero-mini-metrics span{line-height:1.25;}
body.tb-elementor-imported .review-copy p{line-height:1.62;}
body.tb-elementor-imported .compact-customer-quote p{line-height:1.62;}
body.tb-elementor-imported .cd-sample-card .audio-copy h3{line-height:1.25;}
body.tb-elementor-imported .cd-sample-card .audio-copy p{line-height:1.55;}
@media (max-width:780px){
body.tb-elementor-imported .hero h1{font-size:clamp(36px,10vw,48px);line-height:1.06;}
body.tb-elementor-imported .section-head h2{font-size:clamp(29px,8vw,40px);}
body.tb-elementor-imported .hero .lead{font-size:18px;line-height:1.58;}
}
body.tb-elementor-imported .product-sup{font-size:.54em;letter-spacing:.04em;font-variant:small-caps;}
body.tb-elementor-imported .cd-meta dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;}
body.tb-elementor-imported .cd-meta dd{font-size:1.02rem;line-height:1.45;font-weight:650;}
body.tb-elementor-imported .cd-play-minimal span{font-size:.8rem;}
body.tb-elementor-imported .channel-note{font-size:.92rem;}
body.tb-elementor-imported .channel-note span{font-weight:800;letter-spacing:.02em;}
body.tb-elementor-imported .metric-title{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;}
body.tb-elementor-imported .metric-audience{font-size:clamp(1rem,1.65vw,1.42rem) !important;line-height:1.35 !important;}
body.tb-elementor-imported .transcript-box p{font-size:1.02rem;line-height:1.8;}
body.tb-elementor-imported .section-head.compact h3{font-size:clamp(1.35rem,2.4vw,2rem);}
body.tb-elementor-imported .case-study-compact-head h2{font-size:clamp(27px,3.15vw,42px) !important;line-height:1.16 !important;}
body.tb-elementor-imported .case-study-compact-head .section-intro{font-size:clamp(16px,1.4vw,19px);line-height:1.68;}
body.tb-elementor-imported .case-media-copy h3{font-size:clamp(24px,2.3vw,34px);line-height:1.15;}
body.tb-elementor-imported .case-media-copy p{font-size:clamp(16px,1.3vw,18px);line-height:1.72;}
body.tb-elementor-imported .case-video-grid-two .video-copy p{font-size:16px;line-height:1.65;}
body.tb-elementor-imported .audio-track-link{font-weight:700;line-height:1.35;}
body.tb-elementor-imported .audio-track-link::before{font-size:.68em;}
@media (max-width:780px){
body.tb-elementor-imported .section-head h2,
body.tb-elementor-imported .case-study-compact-head h2{font-size:clamp(28px,8.4vw,39px) !important;}
}
@media (max-width:520px){
body.tb-elementor-imported .hero h1{font-size:clamp(33px,9.3vw,43px) !important;line-height:1.07 !important;}
body.tb-elementor-imported .hero .lead{font-size:17px !important;}
body.tb-elementor-imported .section-kicker,
body.tb-elementor-imported .eyebrow{letter-spacing:.08em;}
}
body.tb-elementor-imported .pro-sup{font-variant:all-small-caps;text-transform:uppercase;font-size:0.58em;letter-spacing:0.06em;line-height:0;}
body.tb-elementor-imported .case-topic-number{font-size:12px !important;font-weight:850 !important;letter-spacing:.08em !important;}
body.tb-elementor-imported .long-heading-v33{font-size:clamp(16px,1.35vw,19px) !important;line-height:1.18 !important;letter-spacing:-.01em !important;}
@media (max-width:780px){
body.tb-elementor-imported .long-heading-v33{font-size:16px !important;}
}
body.tb-elementor-imported .network-cards-compact article p{font-size:15px !important;line-height:1.55 !important;}
body.tb-elementor-imported .cols-4 .card h3,
body.tb-elementor-imported .usecase-grid .usecase h3{font-size:19px !important;line-height:1.18 !important;}
body.tb-elementor-imported .long-heading-v33{font-size:clamp(14px,1.05vw,16px) !important;line-height:1.16 !important;letter-spacing:-.02em !important;}
@media (max-width:1100px){
body.tb-elementor-imported .local-links a{font-size:12px !important;}
}
@media (max-width:780px){
body.tb-elementor-imported .long-heading-v33{font-size:15px !important;}
}
@media (max-width:480px){
body.tb-elementor-imported .hero h1{font-size:clamp(32px,9vw,36px) !important;line-height:1.06 !important;}
body.tb-elementor-imported .section-head h2{font-size:clamp(25px,6.8vw,28px) !important;line-height:1.12 !important;}
}
body.tb-elementor-imported .usecase-grid .usecase h3.long-heading-v33{font-size:15px !important;line-height:1.16 !important;letter-spacing:-.025em !important;}
@media (max-width:480px){
body.tb-elementor-imported .hero h1{font-size:28px !important;line-height:1.07 !important;}
body.tb-elementor-imported .section-head h2{font-size:24px !important;line-height:1.14 !important;}
body.tb-elementor-imported .usecase-grid .usecase h3.long-heading-v33{font-size:15px !important;}
}
@media (max-width:480px){
body.tb-elementor-imported.music-theme .section-head h2{font-size:22px !important;line-height:1.16 !important;}
}
@media (max-width:480px){
body.tb-elementor-imported.music-theme .music-identity-panel h2{font-size:22px !important;line-height:1.16 !important;}
}
@media (max-width:780px){
body.tb-elementor-imported .mobile-dropdown summary{font-weight:750;}
body.tb-elementor-imported .mobile-dropdown>a,
body.tb-elementor-imported .mobile-dropdown a{font-size:14px;}
}
@media (max-width:900px){
body.tb-elementor-imported .local-links a{line-height:1.25 !important;}
}
@media (max-width:780px){
body.tb-elementor-imported .long-heading-v33,
body.tb-elementor-imported .usecase-grid .usecase h3.long-heading-v33{font-size:14px !important;line-height:1.18 !important;}
body.tb-elementor-imported .card h3,
body.tb-elementor-imported .info-panel h3,
body.tb-elementor-imported .result-panel h3,
body.tb-elementor-imported .usecase h3,
body.tb-elementor-imported .video-copy h3,
body.tb-elementor-imported .audio-copy h3,
body.tb-elementor-imported .tour-card h3,
body.tb-elementor-imported .timeline article h3,
body.tb-elementor-imported .three-steps article h3,
body.tb-elementor-imported .process-list h3{font-size:clamp(17px,4.8vw,20px) !important;line-height:1.2 !important;}
body.tb-elementor-imported .service-head h3,
body.tb-elementor-imported .problem-card h3,
body.tb-elementor-imported .path-card h3{font-size:clamp(18px,5vw,22px) !important;line-height:1.2 !important;}
}
@media (max-width:520px){
body.tb-elementor-imported .section-head h2,
body.tb-elementor-imported .case-study-compact-head h2,
body.tb-elementor-imported .client-title,
body.tb-elementor-imported .case-media-copy h3,
body.tb-elementor-imported .focus-note h2,
body.tb-elementor-imported .music-identity-panel h2,
body.tb-elementor-imported .contact-quick-copy h2{font-size:clamp(22px,7.2vw,28px) !important;line-height:1.14 !important;}
body.tb-elementor-imported .problem-card h3,
body.tb-elementor-imported .path-card h3,
body.tb-elementor-imported .service-head h3,
body.tb-elementor-imported .card h3,
body.tb-elementor-imported .info-panel h3,
body.tb-elementor-imported .result-panel h3,
body.tb-elementor-imported .usecase h3,
body.tb-elementor-imported .video-copy h3,
body.tb-elementor-imported .audio-copy h3,
body.tb-elementor-imported .tour-card h3,
body.tb-elementor-imported .timeline article h3,
body.tb-elementor-imported .three-steps article h3,
body.tb-elementor-imported .process-list h3{font-size:17px !important;line-height:1.2 !important;}
}
@media (max-width:360px){
body.tb-elementor-imported .entry-path-card h3{font-size:19px !important;line-height:1.22 !important;letter-spacing:-.01em !important;}
}
@media (min-width:781px){
body.tb-elementor-imported .local-nav-sev-v41 .local-links a{font-size:12px !important;line-height:1.18 !important;}
}
body.tb-elementor-imported .lotto-metric-v42 strong{font-size:clamp(29px,2.7vw,42px);line-height:1;letter-spacing:-.035em;}
body.tb-elementor-imported .lotto-metric-v42 span{font-size:13px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;}
body.tb-elementor-imported .lotto-metric-v42 p{font-size:14px;line-height:1.45;}
body.tb-elementor-imported .lotto-step-v42{font-size:14px;font-weight:900;letter-spacing:.06em;}
body.tb-elementor-imported .lotto-production-card-v42 h3{font-size:21px;line-height:1.18;}
body.tb-elementor-imported .lotto-production-card-v42 p{line-height:1.58;}
body.tb-elementor-imported .lotto-context-label-v42{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;}
body.tb-elementor-imported .lotto-oberhof-copy-v42 h3{font-size:clamp(26px,3vw,40px);line-height:1.1;}
body.tb-elementor-imported .lotto-oberhof-copy-v42 p{line-height:1.62;}
body.tb-elementor-imported .lotto-context-note-v42{font-size:14px;}
body.tb-elementor-imported .lotto-oberhof-visual-v42>div,
body.tb-elementor-imported .lotto-oberhof-visual-v42 div{font-weight:900;letter-spacing:.12em;font-size:11px;}
body.tb-elementor-imported .lotto-use-strip-v42 h3{font-size:24px;}
body.tb-elementor-imported .lotto-use-strip-v42 p{line-height:1.55;}
body.tb-elementor-imported .lotto-channel-chips-v42 span{font-size:13px;font-weight:800;}
body.tb-elementor-imported .solutions-menu-kicker{font-size:11px;line-height:1.25;font-weight:850;letter-spacing:.09em;text-transform:uppercase;}
body.tb-elementor-imported .solutions-menu-link strong{font-size:14px;line-height:1.28;}
body.tb-elementor-imported .solutions-menu-link small{font-size:11.5px;line-height:1.35;font-weight:500;}
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-solutions-overview{font-weight:800;}
body.tb-elementor-imported .mobile-menu-group-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
body.tb-elementor-imported .mobile-menu-group a{font-size:14px;}
body.tb-elementor-imported .site-header .btn.btn-small{font-size:13px;}
body.tb-elementor-imported .footer-socials a{font-size:15px !important;}
@media (max-width:1180px){
body.tb-elementor-imported .site-header .btn.btn-small{font-size:12px;}
}
body.tb-elementor-imported .mobile-strategy-cta-v44{font-weight:850 !important;}
@media (min-width:781px) and (max-width:1100px){
body.tb-elementor-imported .mobile-toggle{font-size:20px;}
body.tb-elementor-imported .mobile-dropdown summary{font-weight:750;}
body.tb-elementor-imported .mobile-dropdown>a,
body.tb-elementor-imported .mobile-dropdown a{font-size:14px;}
}
body.tb-elementor-imported .home-testimonial-head-v45 h2{font-size:clamp(28px,3.7vw,46px);line-height:1.12;}
body.tb-elementor-imported .home-testimonial-control-v45{font:inherit;font-weight:800;}
body.tb-elementor-imported .home-testimonial-prev-v45,
body.tb-elementor-imported .home-testimonial-next-v45{font-size:27px;line-height:1;}
body.tb-elementor-imported .home-testimonial-copy-v45 p{font-size:18px;line-height:1.55;}
body.tb-elementor-imported .home-testimonial-copy-v45 cite{font-style:normal;}
body.tb-elementor-imported .home-testimonial-copy-v45 cite span{font-size:14px;}
@media (max-width:780px){
body.tb-elementor-imported .home-testimonial-copy-v45 p{font-size:16px;line-height:1.48;}
}
body.tb-elementor-imported .solutions-menu-kicker{line-height:1.25 !important;}
body.tb-elementor-imported .solutions-menu-link strong{font-size:13.5px !important;line-height:1.28 !important;}
body.tb-elementor-imported .solutions-menu-link small{font-size:11.25px !important;line-height:1.38 !important;}
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-menu-group-title{line-height:1.3 !important;}
@media (min-width:1101px) and (max-width:1180px){
body.tb-elementor-imported .mobile-toggle{font-size:20px;}
body.tb-elementor-imported .mobile-dropdown summary{font-weight:750;}
}
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-solutions-overview,
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-menu-group a{line-height:1.3 !important;}
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-solutions-overview strong,
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-menu-group a strong{font-size:14px !important;line-height:1.28 !important;}
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-solutions-overview small,
body.tb-elementor-imported .mobile-solutions-dropdown .mobile-menu-group a small{font-size:11.5px !important;line-height:1.4 !important;font-weight:500 !important;}
body.tb-elementor-imported .website-process-number-v49{font-size:12px;font-weight:900;letter-spacing:.08em;}
body.tb-elementor-imported .website-process-step-v49 h3{font-size:19px;line-height:1.22;}
body.tb-elementor-imported .website-process-step-v49 p{font-size:15px;line-height:1.55;}
body.tb-elementor-imported .website-process-summary-v49 span{line-height:1.5;}
@media (max-width:600px){
body.tb-elementor-imported .website-process-step-v49 h3{font-size:18px;}
body.tb-elementor-imported .website-process-step-v49 p{font-size:14.5px;}
}
@media (max-width:360px){
body.tb-elementor-imported .website-process-step-v49 h3{font-size:16.5px !important;line-height:1.22 !important;}
body.tb-elementor-imported .lotto-production-card-v42 h3{font-size:16px !important;line-height:1.2 !important;}
}
@media (min-width:1101px) and (max-width:1180px){
body.tb-elementor-imported .cards.cols-4 .card h3{font-size:18px !important;line-height:1.2 !important;}
}
body.tb-elementor-imported .cp-card-number-v51{font-size:12px;font-weight:900;letter-spacing:.12em;}
body.tb-elementor-imported .cp-result-grid-v51 article>strong,
body.tb-elementor-imported .cp-result-grid-v51 article strong,
body.tb-elementor-imported .cp-measure-grid-v51 article>span,
body.tb-elementor-imported .cp-measure-grid-v51 article span{font-size:12px;letter-spacing:.12em;}
body.tb-elementor-imported .cp-result-grid-v51 h3,
body.tb-elementor-imported .cp-measure-grid-v51 h3{font-size:21px;}
body.tb-elementor-imported .cp-duration-card-v51>span,
body.tb-elementor-imported .cp-duration-card-v51 span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
body.tb-elementor-imported .cp-duration-card-v51 h3{font-size:28px;}
body.tb-elementor-imported .cp-quarter-grid-v51 article>span,
body.tb-elementor-imported .cp-quarter-grid-v51 article span{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
body.tb-elementor-imported .cp-quarter-grid-v51 h3{font-size:21px;}
body.tb-elementor-imported .cp-quarter-grid-v51 p{line-height:1.65;}
body.tb-elementor-imported .cp-budget-panel-v51 h2{font-size:clamp(30px,4vw,48px);line-height:1.12;}
body.tb-elementor-imported .cp-more-cases-v51>span,
body.tb-elementor-imported .cp-more-cases-v51 span{font-size:13px;}
body.tb-elementor-imported .cp-more-cases-v51 a{font-weight:750;}
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 p{font-size:15px !important;line-height:1.48 !important;}
@media (max-width:780px){
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 p{font-size:13px !important;line-height:1.4 !important;}
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 cite strong{font-size:12px !important;line-height:1.25 !important;}
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 cite span{font-size:11px !important;line-height:1.25 !important;}
}
@media (max-width:480px){
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 p{font-size:11.5px !important;line-height:1.36 !important;}
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 cite strong{font-size:10.5px !important;}
body.tb-elementor-imported .home-testimonial-page-v51 .home-testimonial-copy-v45 cite span{font-size:10px !important;}
}
body.tb-elementor-imported .home-partnership-bridge-inner-v52 h2{font-size:clamp(30px,3.6vw,48px);line-height:1.1;}
body.tb-elementor-imported .home-partnership-bridge-inner-v52 p{font-size:18px;line-height:1.6;}
body.tb-elementor-imported .home-partnership-benefits-v52 span{font-size:13px;font-weight:750;}
body.tb-elementor-imported .home-partnership-bridge-action-v52 strong{font-size:20px;line-height:1.3;}
@media (max-width:520px){
body.tb-elementor-imported .home-partnership-bridge-inner-v52 h2{font-size:26px !important;}
body.tb-elementor-imported .home-partnership-bridge-inner-v52 p{font-size:16px;}
}
body.tb-elementor-imported .cp-partner-callout-v53 h3{font-size:clamp(24px,3vw,34px);line-height:1.18;}
body.tb-elementor-imported .cp-partner-list-v53 li{font-weight:600;}
body.tb-elementor-imported .cp-stat-value-v53{font-size:clamp(34px,5vw,56px);line-height:1;font-weight:900;letter-spacing:-.03em;}
body.tb-elementor-imported .cp-stat-card-v53 h3{font-size:22px;line-height:1.18;}
body.tb-elementor-imported .cp-stat-card-v53 small{line-height:1.45;}
body.tb-elementor-imported .cp-partner-callout-v53 h3{font-size:clamp(20px,2.2vw,26px) !important;line-height:1.22 !important;}
body.tb-elementor-imported .cp-partner-callout-v53 p{font-size:15px !important;line-height:1.6 !important;}
body.tb-elementor-imported .cp-data-cluster-head-v54>span,
body.tb-elementor-imported .cp-data-cluster-head-v54 span{font-weight:900;}
body.tb-elementor-imported .cp-data-cluster-head-v54 h3{font-size:clamp(24px,3vw,34px);line-height:1.15;}
body.tb-elementor-imported .cp-data-points-v54 strong{font-size:clamp(34px,4.5vw,52px);line-height:1;letter-spacing:-.03em;}
body.tb-elementor-imported .cp-data-points-v54 p{line-height:1.5;}
body.tb-elementor-imported .cp-data-points-v54 small{line-height:1.4;}
body.tb-elementor-imported .cp-data-emphasis-v54 strong{font-size:30px;line-height:1;}
body.tb-elementor-imported .cp-data-emphasis-v54 span{line-height:1.5;}
body.tb-elementor-imported .cp-stats-conclusion-v54 h3{font-size:clamp(22px,2.8vw,32px);line-height:1.2;}
body.tb-elementor-imported .cp-data-source-v54{font-size:12px;line-height:1.5;}
body.tb-elementor-imported .home-data-link-copy-v54 h2{font-size:clamp(28px,3.8vw,44px);line-height:1.12;}
body.tb-elementor-imported .home-data-link-cta-v54{font-weight:850;letter-spacing:.01em;}
body.tb-elementor-imported .home-data-mini-stats-v54 strong{font-size:clamp(27px,3vw,39px);line-height:1;}
body.tb-elementor-imported .home-data-mini-stats-v54 small{line-height:1.35;}
@media (max-width:780px){
body.tb-elementor-imported .home-data-mini-stats-v54 small{font-size:11px;}
}
body.tb-elementor-imported .home-data-mini-stats-v54 small{font-size:12px;line-height:1.35;}
body.tb-elementor-imported .hero-data-link-v55 span{font-size:11px;line-height:1.25;letter-spacing:.045em;text-transform:uppercase;font-weight:750;}
body.tb-elementor-imported .hero-data-link-v55 strong{font-size:12px;line-height:1.3;}
@media (max-width:780px){
body.tb-elementor-imported .home-data-mini-stats-v54 small{font-size:10.5px;line-height:1.3;}
}
@media (max-width:520px){
body.tb-elementor-imported .home-data-mini-stats-v54 small{font-size:12px;}
}
body.tb-elementor-imported .home-testimonial-track-v45>.home-testimonial-card-v45 .home-testimonial-copy-v45 p,
body.tb-elementor-imported .home-testimonial-track-v45 .home-testimonial-card-v45 .home-testimonial-copy-v45 p{font-size:15px !important;line-height:1.48 !important;}
@media (max-width:780px){
body.tb-elementor-imported .home-testimonial-track-v45>.home-testimonial-card-v45 .home-testimonial-copy-v45 p,
body.tb-elementor-imported .home-testimonial-track-v45 .home-testimonial-card-v45 .home-testimonial-copy-v45 p{font-size:16px !important;line-height:1.5 !important;}
body.tb-elementor-imported .home-testimonial-track-v45>.home-testimonial-card-v45 .home-testimonial-copy-v45 cite strong,
body.tb-elementor-imported .home-testimonial-track-v45 .home-testimonial-card-v45 .home-testimonial-copy-v45 cite strong{font-size:14px !important;line-height:1.3 !important;}
body.tb-elementor-imported .home-testimonial-track-v45>.home-testimonial-card-v45 .home-testimonial-copy-v45 cite span,
body.tb-elementor-imported .home-testimonial-track-v45 .home-testimonial-card-v45 .home-testimonial-copy-v45 cite span{font-size:13px !important;line-height:1.3 !important;}
}
@media (max-width:480px){
body.tb-elementor-imported .home-testimonial-track-v45>.home-testimonial-card-v45 .home-testimonial-copy-v45 p,
body.tb-elementor-imported .home-testimonial-track-v45 .home-testimonial-card-v45 .home-testimonial-copy-v45 p{font-size:15px !important;line-height:1.48 !important;}
}
body.tb-elementor-imported .audio-track-title-v58{font-weight:750;line-height:1.35;}
body.tb-elementor-imported .branch-deep-card-v58 span{font-weight:800;}
@media (min-width:781px) and (max-width:1240px){
body.tb-elementor-imported .mobile-toggle{font-size:20px;}
body.tb-elementor-imported .mobile-dropdown summary{font-weight:750;}
body.tb-elementor-imported .mobile-dropdown>a,
body.tb-elementor-imported .mobile-dropdown a{font-size:14px;}
}
@media (max-width:430px){
body.tb-elementor-imported .cp-data-cluster-head-v54 h3{font-size:21px !important;}
}
@media (max-width:360px){
body.tb-elementor-imported .music-identity-panel p{font-size:17px !important;}
}
@media (max-width:340px){
body.tb-elementor-imported .cp-budget-panel-v51 h2{font-size:28px !important;}
}
body.tb-elementor-imported .production-card-label-v59{font-size:12px;font-weight:900;letter-spacing:.1em;}
body.tb-elementor-imported .production-info-card-v59 h3{font-size:24px;line-height:1.18;}
body.tb-elementor-imported .production-steps-v59 article>span,
body.tb-elementor-imported .production-steps-v59 article span{font-size:12px;font-weight:900;letter-spacing:.12em;}
body.tb-elementor-imported .production-steps-v59 h3{font-size:20px;line-height:1.18;}
body.tb-elementor-imported .production-steps-v59 p{font-size:15px;}
body.tb-elementor-imported .production-tech-card-v59 h3{font-size:20px;}
body.tb-elementor-imported .production-tech-card-v59 p{font-size:15px;}
body.tb-elementor-imported .production-client-panel-v59 h2{font-size:clamp(30px,4vw,48px);line-height:1.1;}
body.tb-elementor-imported .production-check-v59 li:before{font-weight:900;}
body.tb-elementor-imported .production-compare-card-v59 h3{font-size:26px;}
body.tb-elementor-imported .production-output-grid-v59 article span{font-size:11px;font-weight:900;letter-spacing:.1em;}
body.tb-elementor-imported .production-output-grid-v59 article p{font-weight:650;}
body.tb-elementor-imported .nav-dropdown-branches .branches-menu>a,
body.tb-elementor-imported .nav-dropdown-branches .branches-menu a{line-height:1.25;}
body.tb-elementor-imported .nav-dropdown-branches .branches-menu>a small,
body.tb-elementor-imported .nav-dropdown-branches .branches-menu a small{font-size:12px;font-weight:500;}
body.tb-elementor-imported .mobile-branches-dropdown .mobile-branches-overview small,
body.tb-elementor-imported .mobile-branches-dropdown .mobile-branches-jump small{font-size:12px;font-weight:500;line-height:1.35;}
body.tb-elementor-imported .legal-copy-v68 h2,
body.tb-elementor-imported .legal-copy-v68 h3,
body.tb-elementor-imported .legal-copy-v68 h4{line-height:1.22;}
body.tb-elementor-imported .legal-copy-v68 h4{font-size:22px;}
body.tb-elementor-imported .legal-copy-v68 p{line-height:1.7;}

/* V7.11.2 exact exceptions for legacy Elementor compatibility rules that had
   intentionally pinned approximate values in older packages. The V73 source
   is authoritative here. */
body.tb-elementor-imported.tb-page-website-systeme #website-prozess .process-list h3 {
  font-size:1.17em !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-website-systeme #website-prozess .process-list h3 {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-website-systeme #website-prozess .process-list h3 {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

body.tb-elementor-imported.tb-page-360-rundgang .interactive-tour-section .tb-tour-open-v51 > h3 {
  font-size:1.17em !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-360-rundgang .interactive-tour-section .tb-tour-open-v51 > h3 {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-360-rundgang .interactive-tour-section .tb-tour-open-v51 > h3 {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

/* SEVentilation: channel/system-role cards remain native V73 H3 at every
   breakpoint. Development timeline H3 follows the prototype mobile rules. */
body.tb-elementor-imported.tb-page-fallstudie-seventilation #kanaele .channel-grid article h3,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #partner .partner-map article h3,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #kanaele .channel-grid article h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #partner .partner-map article h3.elementor-heading-title {
  font-size:18.72px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}
body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3,
body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3.elementor-heading-title {
  font-size:18.72px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3,
  body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3.elementor-heading-title {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3,
  body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .timeline article h3.elementor-heading-title {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

body.tb-elementor-imported.tb-page-ablauf #ablauf .process-list h3 {
  font-size:1.17em !important;
  line-height:1.62 !important;
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-ablauf #ablauf .process-list h3 {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-ablauf #ablauf .process-list h3 {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

body.tb-elementor-imported.tb-page-kampagnen-ads #kanaele .channel-grid article h3,
body.tb-elementor-imported.tb-page-kampagnen-ads #kanaele .channel-grid article h3.elementor-heading-title {
  font-size:18.72px !important;
  line-height:1.62 !important;
}

/* Same SEVentilation correction without relying on section IDs, so Elementor
   editor/preview variants receive the exact values as well. */
body.tb-elementor-imported.tb-page-fallstudie-seventilation .tb-sev-prototype-heading-v7100 h3.elementor-heading-title,
body.tb-elementor-imported.tb-page-fallstudie-seventilation .tb-sev-card-heading-v789 h3.elementor-heading-title {
  font-size:18.72px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}
@media(max-width:780px){
  body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .tb-sev-prototype-heading-v7100 h3.elementor-heading-title {
    font-size:clamp(17px,4.8vw,20px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:520px){
  body.tb-elementor-imported.tb-page-fallstudie-seventilation #entwicklung .tb-sev-prototype-heading-v7100 h3.elementor-heading-title {
    font-size:17px !important;
    line-height:1.2 !important;
  }
}


/* =========================================================================
   V7.11.3 — FOOTER BRAND = HEADER BRAND
   The footer intentionally reuses the exact same logo asset and visual
   dimensions as the .brand element in the global main header.  Keep these
   selectors together so Elementor widget wrappers cannot alter the badge.
   ========================================================================= */
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo {
  align-self:flex-start !important;
  width:max-content !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 0 15px !important;
  padding:0 !important;
  background:transparent !important;
}
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo > .elementor-widget-container {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:max-content !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:7px 11px !important;
  background:#fff !important;
  border:0 !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.28) !important;
  box-sizing:border-box !important;
}
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo > .elementor-widget-container img {
  content:url("../assets/logo.png") !important;
  display:block !important;
  width:auto !important;
  height:58px !important;
  max-width:220px !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  object-fit:contain !important;
}
@media(max-width:780px){
  body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo > .elementor-widget-container {
    padding:6px 9px !important;
  }
  body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo > .elementor-widget-container img {
    height:42px !important;
    max-width:170px !important;
  }
}


/* =========================================================================
   V7.11.4 — FOOTER LOGO WIDGET CLASS FIX
   Elementor widgets render custom classes from _css_classes.  V7.11.3 had
   footer-logo in css_classes, so the class was missing in the live DOM and
   the header-matching badge rules never reached the actual image widget.
   The source template + existing stored template are repaired in PHP above.
   These final selectors mirror .brand / .brand img from V73 exactly.
   ========================================================================= */
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo{
  align-self:flex-start!important;width:max-content!important;max-width:100%!important;height:auto!important;
  margin:0 0 15px!important;padding:0!important;background:transparent!important;
}
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo > .elementor-widget-container{
  display:flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;
  margin:0!important;padding:7px 11px!important;background:#fff!important;border-radius:14px!important;
  box-shadow:0 8px 28px rgba(0,0,0,.28)!important;
}
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo img{
  content:url("../assets/logo.png")!important;display:block!important;height:58px!important;width:auto!important;
  max-width:220px!important;max-height:none!important;object-fit:contain!important;margin:0!important;padding:0!important;
}
@media(max-width:780px){
  body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo > .elementor-widget-container{padding:6px 9px!important}
  body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo img{height:42px!important;max-width:170px!important}
}


/* =========================================================================
   V7.11.5 — FOOTER LOGO: HEADER ARTWORK + HEADER BADGE, DOM-INDEPENDENT
   The white badge now lives on the footer-logo widget itself (same conceptual
   element as .brand in V73), so Elementor wrapper changes cannot remove it.
   A unique copy of the exact header logo avoids stale white/grey image caches.
   ========================================================================= */
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo {
  display:inline-flex !important;
  align-items:center !important;
  align-self:flex-start !important;
  flex:0 0 auto !important;
  width:max-content !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 0 15px !important;
  padding:7px 11px !important;
  background:#fff !important;
  background-image:none !important;
  border:0 !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.28) !important;
  box-sizing:border-box !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
  overflow:hidden !important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo > .elementor-widget-container,
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo .elementor-widget-container {
  display:flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img {
  content:url("../assets/logo-footer-white-orange-v7119.png") !important;
  display:block !important;
  width:auto !important;
  height:58px !important;
  max-width:220px !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}
/* Fallback if an older/static footer renders footer-logo directly on IMG. */
body.tb-elementor-imported .site-footer img.footer-logo {
  content:url("../assets/logo-footer-white-orange-v7119.png") !important;
  display:block !important;
  width:auto !important;
  height:58px !important;
  max-width:220px !important;
  margin:0 0 15px !important;
  padding:7px 11px !important;
  background:#fff !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.28) !important;
  box-sizing:content-box !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}
@media(max-width:780px){
  body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo {
    padding:6px 9px !important;
  }
  body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img {
    height:42px !important;
    max-width:170px !important;
  }
  body.tb-elementor-imported .site-footer img.footer-logo {
    height:42px !important;
    max-width:170px !important;
    padding:6px 9px !important;
  }
}


/* =========================================================================
   V7.11.6 — ZUSAMMENARBEITSMODELLE / KALKULATION: BUTTONABSTAND WIE V73
   -------------------------------------------------------------------------
   Im statischen V73-Prototyp liefert der letzte Absatz vor dem CTA seinen
   normalen 1em-Unterabstand (= 16px bei 16px Grundschrift). Elementor setzt
   bei Texteditor-Widgets p:last-child jedoch auf margin-bottom:0. Der CTA
   bekommt deshalb exakt diese fehlenden 16px direkt als oberen Abstand.
   Nur dieser eine Kalkulations-CTA wird verändert.
   ========================================================================= */
body.tb-elementor-imported.tb-page-investition
#preislogik .info-panel:nth-child(2) a.btn {
  margin-top:16px !important;
}


/* =========================================================================
   V7.12.1 — Kontaktformular: sichtbare Struktur exakt wie V73
   -------------------------------------------------------------------------
   Desktop V73:
     Name | E-Mail
     Telefon | Thema / Projektbereich
     Art der Zusammenarbeit | [leer]
     Textarea (volle Breite)
     Datenschutz (volle Breite, eine Zeile)
     Anfrage senden (linke Spalte, volle Spaltenbreite)
   ========================================================================= */
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-honeypot,
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-honeypot,
.tb-contact-form-host form.elementor-form .elementor-field-type-honeypot {
  display:none !important;
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* Elementor acceptance markup is nested; V73 is simply checkbox + one text line. */
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-acceptance,
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance {
  grid-column:1/-1 !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-acceptance .elementor-field-option,
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance .elementor-field-option,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-acceptance input[type="checkbox"],
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance input[type="checkbox"],
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance input[type="checkbox"] {
  flex:0 0 18px !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label,
.elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label,
.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label {
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  font-weight:500 !important;
  line-height:1.62 !important;
}

/* In the static V73 grid the .btn stretches to the width of its grid cell.
   Recreate that behavior through Elementor's submit wrapper. */
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit),
.elementor-widget-form.contact-form form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit),
.tb-contact-form-host form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit) {
  grid-column:1/2 !important;
  justify-self:stretch !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-button[type="submit"],
.elementor-widget-form.contact-form form.elementor-form .elementor-button[type="submit"],
.tb-contact-form-host form.elementor-form .elementor-button[type="submit"] {
  width:100% !important;
  max-width:none !important;
}

@media (max-width:780px) {
  .elementor-widget-form.tb-contact-form-v7121 form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit),
  .elementor-widget-form.contact-form form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit),
  .tb-contact-form-host form.elementor-form :is(.e-form__buttons,.elementor-field-type-submit) {
    grid-column:auto !important;
    width:100% !important;
  }
  .elementor-widget-form.tb-contact-form-v7121 form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label,
  .elementor-widget-form.contact-form form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label,
  .tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label {
    white-space:normal !important;
  }
}

/* V7.12.1 precision override: beat older body-scoped Elementor form rules. */
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-honeypot {
  display:none !important;
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance {
  grid-column:1/-1 !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance > .elementor-field-label {
  display:none !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option {
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance input[type="checkbox"] {
  display:block !important;
  flex:0 0 18px !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label {
  display:block !important;
  flex:0 1 auto !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:#202229 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:500 !important;
  line-height:1.62 !important;
  white-space:nowrap !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-submit.e-form__buttons,
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .e-form__buttons.elementor-field-type-submit {
  grid-column:1/2 !important;
  justify-self:stretch !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-submit .elementor-button[type="submit"] {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  padding:14px 20px !important;
  font:revert !important;
  font-weight:750 !important;
  line-height:normal !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
@media(max-width:780px){
  .elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-acceptance .elementor-field-option > label {
    white-space:normal !important;
  }
  .elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .elementor-field-type-submit.e-form__buttons,
  .elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host form.elementor-form .e-form__buttons.elementor-field-type-submit {
    grid-column:auto !important;
    width:100% !important;
  }
}


/* =========================================================================
   V7.12.2 — Kontaktformular: Select-Felder exakt wie V73
   -------------------------------------------------------------------------
   Elementor Pro legt um <select> einen .elementor-select-wrapper, der selbst
   die Klasse .elementor-field trägt. Ältere Kompatibilitätsregeln gestalteten
   dadurch Wrapper UND Select als Eingabefeld. Das erzeugte den sichtbaren
   Doppelrahmen und eine zu breite/schwarze Select-Darstellung.

   V73 hat genau EIN Feld: 100% der Rasterspalte, 13px Radius,
   1px rgba(20,22,27,.15), weißer Hintergrund, nativer Select-Pfeil.
   ========================================================================= */
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper,
.elementor-widget-form.contact-form
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper,
.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper {
  box-sizing:border-box !important;
  display:block !important;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Elementor's own caret plus the browser caret would otherwise appear twice. */
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper::before,
.elementor-widget-form.contact-form
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper::before,
.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper::before {
  display:none !important;
  content:none !important;
}
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host
form.elementor-form .elementor-field-type-select .select-caret-down-wrapper,
.elementor-widget-form.contact-form
form.elementor-form .elementor-field-type-select .select-caret-down-wrapper,
.tb-contact-form-host
form.elementor-form .elementor-field-type-select .select-caret-down-wrapper {
  display:none !important;
}

.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select,
.elementor-widget-form.contact-form
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select,
.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:14px 15px !important;
  border:1px solid rgba(20,22,27,.15) !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#202229 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.62 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  box-shadow:none !important;
  outline-offset:0 !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
}

/* =========================================================================
   V7.12.3 — Kontaktformular: Select-Typografie + Fokus exakt wie V73
   -------------------------------------------------------------------------
   Im V73-Prototyp erbt <select> via `font:inherit` die 700er Schriftstärke
   seines Labels. Der globale :focus-visible-Rahmen ist dort exakt 3px
   #ffd29f mit 4px outline-offset. Diese Regeln überschreiben ausschließlich
   die beiden Elementor-Pro-Selectfelder innerhalb des Kontaktformulars.
   ========================================================================= */
.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select,
.elementor-widget-form.contact-form
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select,
.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select {
  font-weight:700 !important;
}

.elementor-widget-form.contact-form.tb-contact-form-v7121.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select:focus-visible,
.elementor-widget-form.contact-form
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select:focus-visible,
.tb-contact-form-host
form.elementor-form .elementor-field-type-select > .elementor-select-wrapper > select:focus-visible {
  outline:3px solid #ffd29f !important;
  outline-offset:4px !important;
  box-shadow:none !important;
}


/* =========================================================================
   V7.12.4 — FOOTER: SOCIAL BUTTONS WIE V73 + LOGO WEISS/ORANGE
   -------------------------------------------------------------------------
   Social buttons use the exact approved V73 geometry/rest/hover treatment:
   40x40px, 12px radius, translucent orange resting background and orange
   border; hover uses the V73 orange gradient. Existing SVG brand marks remain
   untouched and white. Footer artwork is force-switched to the dedicated
   white/orange asset with a version-unique filename to avoid stale caches.
   ========================================================================= */
body.tb-elementor-imported .site-footer .footer-socials.e-con{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:16px!important;
}
body.tb-elementor-imported .site-footer .footer-socials.e-con > .elementor-element{
  width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon,
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-youtube,
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-linkedin,
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-instagram,
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-facebook{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(240,138,60,.55)!important;
  border-radius:12px!important;
  background:rgba(212,116,40,.16)!important;
  box-shadow:0 7px 18px rgba(212,116,40,.14)!important;
  color:#fff!important;
  font-size:0!important;
  line-height:1!important;
  text-decoration:none!important;
  overflow:hidden!important;
  filter:none!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon svg{
  display:block!important;
  width:17px!important;
  height:17px!important;
  fill:currentColor!important;
  color:#fff!important;
}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:hover,
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:focus-visible{
  background:linear-gradient(180deg,var(--orange2),var(--orange))!important;
  border-color:#ffb37b!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(212,116,40,.32)!important;
  transform:translateY(-2px)!important;
  filter:none!important;
}
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:hover svg,
body.tb-elementor-imported .site-footer .footer-socials a.footer-social-icon:focus-visible svg{
  color:#fff!important;
}

/* Force the requested white/orange T&B digital artwork in every Elementor
   footer rendering. The white wordmark must sit directly on the dark footer,
   so legacy white header-style badges are neutralised here. */
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo,
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo > .elementor-widget-container,
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo .elementor-widget-container{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}
body.tb-elementor-imported .site-footer .elementor-widget-image.footer-logo img,
body.tb-elementor-imported .site-footer .footer-brand-block > .elementor-widget-image.footer-logo img,
body.tb-elementor-imported .site-footer img.footer-logo{
  content:url("../assets/logo-footer-white-orange-v7124.png")!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  mix-blend-mode:normal!important;
}

/* V7.12.5 – required-field marker on the acceptance text (its Elementor label is intentionally empty). */
body.tb-elementor-imported.tb-page-kontakt .contact-form .tb-required-asterisk {
  font-weight: 700;
}

/* V7.12.7 – all required-field asterisks in the contact form are black. */
body.tb-elementor-imported.tb-page-kontakt .contact-form.elementor-mark-required .elementor-field-label::after,
body.tb-elementor-imported.tb-page-kontakt .contact-form .elementor-mark-required .elementor-field-label::after,
body.tb-elementor-imported.tb-page-kontakt .contact-form .elementor-required,
body.tb-elementor-imported.tb-page-kontakt .contact-form .tb-required-asterisk,
body.tb-elementor-imported.tb-page-kontakt .tb-contact-form-host.elementor-mark-required .elementor-field-label::after,
body.tb-elementor-imported.tb-page-kontakt .tb-contact-form-host .elementor-mark-required .elementor-field-label::after,
body.tb-elementor-imported.tb-page-kontakt .tb-contact-form-host .elementor-required,
body.tb-elementor-imported.tb-page-kontakt .tb-contact-form-host .tb-required-asterisk {
  color:#202229 !important;
}
