/* Nur für die Seite "Assembly": Produktentstehung als Prozess von rechts nach links. */
.e5f92b1f .e7e29f37 > .row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 44px minmax(120px, 1fr) 44px minmax(120px, 1fr) 44px minmax(120px, 1fr) 44px minmax(120px, 1fr);
  gap: 0;
  width: min(100%, 1180px);
  direction: rtl;
  align-items: start;
}

.e5f92b1f .e7e29f37 .column {
  width: auto;
  padding: 0 8px;
  direction: ltr;
  text-align: center;
}

.e5f92b1f .e7e29f37 .widget-image img {
  width: 82px !important;
  height: 82px !important;
  margin: 0 auto 18px;
  object-fit: contain;
}

.e5f92b1f .e7e29f37 .e127d1f2,
.e5f92b1f .e7e29f37 .e2d0f807,
.e5f92b1f .e7e29f37 .ec480928,
.e5f92b1f .e7e29f37 .e55e9fd6 {
  padding-top: 26px;
}

.e5f92b1f .e7e29f37 .e127d1f2 img,
.e5f92b1f .e7e29f37 .e2d0f807 img,
.e5f92b1f .e7e29f37 .ec480928 img,
.e5f92b1f .e7e29f37 .e55e9fd6 img {
  width: 34px !important;
  height: 34px !important;
  transform: none;
}

.e5f92b1f .e7e29f37 .ea6b96ad h2,
.e5f92b1f .e7e29f37 .e0d3be20 h2,
.e5f92b1f .e7e29f37 .e05a3b8a h2,
.e5f92b1f .e7e29f37 .eba8d94b h2,
.e5f92b1f .e7e29f37 .e4920b45 h2 {
  color: var(--ink) !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.e5f92b1f .e7e29f37 .ee02af03 h2,
.e5f92b1f .e7e29f37 .e19c46bc h2,
.e5f92b1f .e7e29f37 .eea84f1c h2,
.e5f92b1f .e7e29f37 .e8d09ebe h2,
.e5f92b1f .e7e29f37 .e3f51e95 h2 {
  color: var(--ink) !important;
  font-size: .93rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.48 !important;
  text-transform: none;
}

/* Die drei Begriffe unter dem Prozessbild sind Bildunterschriften, keine Abschnittsüberschriften. */
.e5f92b1f .e5a36602 > .row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 820px);
  margin: 26px auto 0;
}

.e5f92b1f .e5a36602 .column { width: 100%; padding: 8px; }

.e5f92b1f .e5a36602 .widget-heading h2 {
  color: var(--ink) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.3 !important;
  text-align: center;
  text-transform: uppercase;
}

/* Bildmaterial als ein steuerbares, automatisch laufendes Karussell. */
.assembly-carousel {
  position: relative;
  width: min(100%, 1120px);
  margin: 34px auto 0;
}

.assembly-carousel__viewport { overflow: hidden; background: #11191c; }
.assembly-carousel__track { display: flex; transition: transform 520ms ease; }
.assembly-carousel__slide { flex: 0 0 100%; margin: 0; aspect-ratio: 16 / 9; }
.assembly-carousel__slide img { width: 100%; height: 100%; object-fit: cover; }

.assembly-carousel__control {
  position: absolute;
  top: calc(50% - 22px);
  z-index: 1;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  color: #fff;
  font-size: 1.5rem;
  background: rgb(6 7 7 / 82%);
  border: 1px solid rgb(255 255 255 / 48%);
  cursor: pointer;
}

.assembly-carousel__control:hover { background: var(--accent); }
.assembly-carousel__control--prev { left: 18px; }
.assembly-carousel__control--next { right: 18px; }
.assembly-carousel__dots { display: flex; justify-content: center; gap: 8px; padding: 14px 0 0; }

.assembly-carousel__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  background: #b2bcbe;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

.assembly-carousel__dot[aria-current="true"] { background: var(--ink); }

.assembly-carousel__caption {
  margin: 18px 0 0;
  color: var(--ink);
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.15;
}

/* YouTube: Vorschaubild und eindeutiger Play-Button, anschließend das eingebettete Video. */
.assembly-video { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16 / 9; background: #101719; }
.assembly-video__trigger { position: relative; display: grid; width: 100%; height: 100%; padding: 0; place-items: center; background: #101719; border: 0; cursor: pointer; }
.assembly-video__poster { width: 100%; height: 100%; object-fit: cover; opacity: .78; transition: opacity 180ms ease; }
.assembly-video__trigger:hover .assembly-video__poster { opacity: .58; }
.assembly-video__play { position: absolute; display: grid; width: 74px; height: 74px; padding-left: 4px; place-items: center; color: #fff; font-size: 2rem; line-height: 1; background: rgb(6 7 7 / 86%); border: 1px solid rgb(255 255 255 / 75%); border-radius: 50%; }
.assembly-video__trigger:hover .assembly-video__play { background: var(--accent); }
.assembly-video iframe { width: 100%; height: 100%; border: 0; }

@media (max-width: 920px) {
  .e5f92b1f .e7e29f37 > .row { grid-template-columns: repeat(5, minmax(106px, 1fr)); gap: 22px; }
  .e5f92b1f .e7e29f37 .e62d67e4,
  .e5f92b1f .e7e29f37 .e0d0c923,
  .e5f92b1f .e7e29f37 .e6db1be7,
  .e5f92b1f .e7e29f37 .e6d873eb { display: none; }
}

@media (max-width: 620px) {
  .e5f92b1f .e7e29f37 > .row { grid-template-columns: 1fr; max-width: 330px; gap: 28px; }
  .e5f92b1f .e7e29f37 .column { padding: 0; }
  .e5f92b1f .e7e29f37 .e127d1f2,
  .e5f92b1f .e7e29f37 .e2d0f807,
  .e5f92b1f .e7e29f37 .ec480928,
  .e5f92b1f .e7e29f37 .e55e9fd6 { display: block; padding: 0; }
  .e5f92b1f .e7e29f37 .e127d1f2 img,
  .e5f92b1f .e7e29f37 .e2d0f807 img,
  .e5f92b1f .e7e29f37 .ec480928 img,
  .e5f92b1f .e7e29f37 .e55e9fd6 img { margin: 0 auto; transform: none; }
  .e5f92b1f .e5a36602 > .row { grid-template-columns: 1fr; gap: 6px; }
  .assembly-carousel__control--prev { left: 8px; }
  .assembly-carousel__control--next { right: 8px; }
}

/* Kompaktere Folge der beiden Teile: Prozess und Bereichsbild. */
.e5f92b1f {
  padding-top: 48px !important;
  padding-bottom: 56px !important;
}

.e5f92b1f .eff053ae {
  margin-top: 34px;
}

/* Der Übergang "Schneller in den Markt" bleibt bewusst kurz. */
.e0e6348b {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* Die fünf Detailphasen behalten Inhalte und Bildsprache, benötigen aber weniger Höhe. */
.e34b5359,
.ef5a3113,
.ed24cd99,
.ec333116,
.ef09b8e6 {
  padding-top: clamp(46px, 5vw, 72px) !important;
  padding-bottom: clamp(46px, 5vw, 72px) !important;
}

.e34b5359 .spacer,
.ef5a3113 .spacer,
.ed24cd99 .spacer,
.ec333116 .spacer,
.ef09b8e6 .spacer {
  max-height: 24px;
}

.e34b5359 .widget-image img,
.ef5a3113 .widget-image img,
.ed24cd99 .widget-image img,
.ec333116 .widget-image img,
.ef09b8e6 .widget-image img {
  width: 100%;
  max-height: 360px;
  object-fit: contain;
}

/* Rabatt-Button über dem Produktionsvideo statt unterhalb. */
.ee004b31 { position: relative; }

.ee004b31 > .row { position: static; }

.ee004b31 .e83d0b23 {
  position: absolute;
  z-index: 2;
  top: clamp(90px, 12vw, 170px);
  right: clamp(32px, 8vw, 120px);
  width: min(380px, 44vw);
  padding: 0;
}

.ee004b31 .e8a86ee8 img {
  width: 100% !important;
  height: auto;
}

/* Das Statement liegt auf schwarzem Grund und braucht deshalb eine helle Schrift. */
.e86e0ec1 .ee337662 h2 {
  color: #fff !important;
  font-weight: 400 !important;
}

/* Die Videovorschau wird vollständig gezeigt, ohne Anschnitt. */
.assembly-video__poster {
  object-fit: contain;
  background: #050505;
}

/* Die Beschriftung neben der Videovorschau ist eine Nebenheadline. */
.ef070d0a .e49a5a3a h2 {
  color: var(--ink) !important;
  font-size: clamp(1.35rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  line-height: 1.15 !important;
}

/* Nur der Kontakt-Button bleibt sichtbar; der graue Container darum entfällt. */
.e577b4e9 .e167d685 {
  padding: 0 !important;
  background: transparent !important;
}

.e577b4e9 .e167d685 .button {
  display: inline-block;
}

@media (max-width: 620px) {
  .e5f92b1f { padding-top: 36px !important; }
  .e5f92b1f .eff053ae { margin-top: 26px; }
  .e34b5359 .widget-image img,
  .ef5a3113 .widget-image img,
  .ed24cd99 .widget-image img,
  .ec333116 .widget-image img,
  .ef09b8e6 .widget-image img { max-height: 280px; }
  .ee004b31 .e83d0b23 { top: 78px; right: 28px; width: 264px; }
}
